[PATCH 2/2] iio: at91-sama5d2: Limit requested watermark value to hwfifo size
Paul Cercueil
paul at crapouillou.net
Sat Jun 4 15:41:02 PDT 2022
Hi Jonathan,
Le sam., juin 4 2022 at 16:05:57 +0100, Jonathan Cameron
<jic23 at kernel.org> a écrit :
> On Sat, 22 Jan 2022 17:04:47 +0000
> Jonathan Cameron <jic23 at kernel.org> wrote:
>
>> On Mon, 17 Jan 2022 10:25:12 +0000
>> Paul Cercueil <paul at crapouillou.net> 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?
Totally forgot about this patch.
Aren't you afraid that if we start handling these errors in the core,
we'll somehow break the ABI?
-Paul
> Thanks,
>
> Jonathan
>
>>
>> Thanks,
>>
>> Jonathan
>>
>> >
>> > Cc: Eugen Hristev <eugen.hristev at microchip.com>
>> > Cc: Nicolas Ferre <nicolas.ferre at microchip.com>
>> > Cc: Alexandre Belloni <alexandre.belloni at bootlin.com>
>> > Cc: Ludovic Desroches <ludovic.desroches at microchip.com>
>> > Signed-off-by: Paul Cercueil <paul at crapouillou.net>
>> > ---
>> > 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");
>>
>
More information about the linux-arm-kernel
mailing list