[Sound-open-firmware] [PATCH] dma: dw-dma: check DMA IRQs are cleared correctly
Liam Girdwood
liam.r.girdwood at linux.intel.com
Wed Sep 20 15:58:07 CEST 2017
Reread the DMA IRQ status after clearing the IRQ source to make sure
that the IRQ has been cleared correctly.
Signed-off-by: Liam Girdwood <liam.r.girdwood at linux.intel.com>
---
src/drivers/dw-dma.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/drivers/dw-dma.c b/src/drivers/dw-dma.c
index 1395ecc..7c6cd86 100644
--- a/src/drivers/dw-dma.c
+++ b/src/drivers/dw-dma.c
@@ -709,6 +709,11 @@ static void dw_dma_irq_handler(void *data)
pmask = status_block | status_tfr | status_err;
platform_interrupt_clear(dma_irq(dma), pmask);
+ /* confirm IRQ cleared */
+ if (dw_read(dma, DW_STATUS_BLOCK)) {
+ trace_dma_error("eii");
+ }
+
for (i = 0; i < DW_MAX_CHAN; i++) {
/* skip if channel is not running */
--
2.11.0
More information about the Sound-open-firmware
mailing list