Re: [PATCH 2/2] iio: at91-sama5d2: Limit requested watermark value to hwfifo size

From: Jonathan Cameron
Date: Sat Jun 04 2022 - 10:57:11 EST


On Sat, 22 Jan 2022 17:04:47 +0000
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:

> On Mon, 17 Jan 2022 10:25:12 +0000
> Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote:
>
> > Instead of returning an error if the watermark value is too high, which
> > the core will silently ignore anyway, limit the value to the hardware
> > FIFO size; a lower-than-requested value is still better than using the
> > default, which is usually 1.
>
> There is another potential error condition in this function which will
> also be ignored by the core.
>
> As such whilst I agree this is a sensible thing to do in this
> particular case I think we should also be handling the error in the core.
>
> I think it would be better to clean that up at the same time
> as these improvements - particularly as I'd guess you have a convenient
> test setup to check the error unwind is correct?

Hi Paul,

I was trawling through patchwork and realised this one is stalled.

Thoughts on the above?

Thanks,

Jonathan

>
> Thanks,
>
> Jonathan
>
> >
> > Cc: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
> > Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx>
> > Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> > Cc: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx>
> > Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx>
> > ---
> > drivers/iio/adc/at91-sama5d2_adc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c
> > index 854b1f81d807..5cc84f4a17bb 100644
> > --- a/drivers/iio/adc/at91-sama5d2_adc.c
> > +++ b/drivers/iio/adc/at91-sama5d2_adc.c
> > @@ -1752,7 +1752,7 @@ static int at91_adc_set_watermark(struct iio_dev *indio_dev, unsigned int val)
> > int ret;
> >
> > if (val > AT91_HWFIFO_MAX_SIZE)
> > - return -EINVAL;
> > + val = AT91_HWFIFO_MAX_SIZE;
> >
> > if (!st->selected_trig->hw_trig) {
> > dev_dbg(&indio_dev->dev, "we need hw trigger for DMA\n");
>