[PATCH v3 4/4] iio: adc: at91-sama5d2_adc: ack DRDY irq in direct mode
From: jic23@kernel.org (Jonathan Cameron)
Date: 2017-11-19 11:28:25
Also in:
linux-devicetree, linux-iio, lkml
From: jic23@kernel.org (Jonathan Cameron)
Date: 2017-11-19 11:28:25
Also in:
linux-devicetree, linux-iio, lkml
On Wed, 15 Nov 2017 14:56:48 +0200 Eugen Hristev [off-list ref] wrote:
Need to acknowledge DRDY irq in direct mode/ software triggered mode. Otherwise, on the next conversion, overrun flag will be raised, which is not a correct state. This doesn't affect the functionality, but will generate possible incorrect overrun reports. Signed-off-by: Eugen Hristev <redacted>
Applied. Thanks.
--- drivers/iio/adc/at91-sama5d2_adc.c | 3 +++ 1 file changed, 3 insertions(+)diff --git a/drivers/iio/adc/at91-sama5d2_adc.c b/drivers/iio/adc/at91-sama5d2_adc.c index 11d34a8..274cb5e 100644 --- a/drivers/iio/adc/at91-sama5d2_adc.c +++ b/drivers/iio/adc/at91-sama5d2_adc.c@@ -787,6 +787,9 @@ static int at91_adc_read_raw(struct iio_dev *indio_dev, at91_adc_writel(st, AT91_SAMA5D2_IDR, BIT(chan->channel)); at91_adc_writel(st, AT91_SAMA5D2_CHDR, BIT(chan->channel)); + /* Needed to ACK the DRDY interruption */ + at91_adc_readl(st, AT91_SAMA5D2_LCDR); + mutex_unlock(&st->lock); iio_device_release_direct_mode(indio_dev);