[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