lkml.org 
[lkml]   [2013]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 08/15] iio: ti_am335x_adc: Handle overrun before threshold event
    On 07/18/2013 11:21 PM, Zubair Lutfullah wrote:
    > From: Russ Dill <Russ.Dill@ti.com>
    >
    > If an overrun occurs, the threshold event is meaningless, handle
    > the overrun event first.
    >
    > Signed-off-by: Russ Dill <Russ.Dill@ti.com>
    > Signed-off-by: Zubair Lutfullah <zubair.lutfullah@gmail.com>

    This is getting a little silly. Would Russ mind if these get
    rolled up into the original patches? Perhaps with his sign-off to
    reflect his various contributions?

    > ---
    > drivers/iio/adc/ti_am335x_adc.c | 24 ++++++++++--------------
    > 1 file changed, 10 insertions(+), 14 deletions(-)
    >
    > diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
    > index 1c47818..7ac28a9 100644
    > --- a/drivers/iio/adc/ti_am335x_adc.c
    > +++ b/drivers/iio/adc/ti_am335x_adc.c
    > @@ -167,7 +167,16 @@ static irqreturn_t tiadc_irq(int irq, void *private)
    > unsigned int status, config;
    >
    > status = tiadc_readl(adc_dev, REG_IRQSTATUS);
    > - if (status & IRQENB_FIFO1THRES) {
    > + if (status & IRQENB_FIFO1OVRRUN) {
    > + config = tiadc_readl(adc_dev, REG_CTRL);
    > + config &= ~(CNTRLREG_TSCSSENB);
    > + tiadc_writel(adc_dev, REG_CTRL, config);
    > + tiadc_writel(adc_dev, REG_IRQSTATUS,
    > + IRQENB_FIFO1OVRRUN | IRQENB_FIFO1UNDRFLW);
    > + tiadc_writel(adc_dev, REG_CTRL,
    > + (config | CNTRLREG_TSCSSENB));
    > + return IRQ_HANDLED;
    > + } else if (status & IRQENB_FIFO1THRES) {
    > tiadc_writel(adc_dev, REG_IRQCLR,
    > IRQENB_FIFO1THRES);
    >
    > @@ -180,19 +189,6 @@ static irqreturn_t tiadc_irq(int irq, void *private)
    > tiadc_writel(adc_dev, REG_IRQSTATUS,
    > IRQENB_FIFO1THRES);
    > return IRQ_HANDLED;
    > - } else if ((status & IRQENB_FIFO1OVRRUN) ||
    > - (status & IRQENB_FIFO1UNDRFLW)) {
    > - config = tiadc_readl(adc_dev, REG_CTRL);
    > - config &= ~(CNTRLREG_TSCSSENB);
    > - tiadc_writel(adc_dev, REG_CTRL, config);
    > -
    > - tiadc_writel(adc_dev, REG_IRQSTATUS,
    > - IRQENB_FIFO1OVRRUN |
    > - IRQENB_FIFO1UNDRFLW);
    > -
    > - tiadc_writel(adc_dev, REG_CTRL,
    > - (config | CNTRLREG_TSCSSENB));
    > - return IRQ_HANDLED;
    > } else {
    > return IRQ_NONE;
    > }
    >


    \
     
     \ /
      Last update: 2013-07-20 14:01    [W:2.673 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site