[Sound-open-firmware] [PATCH] dw-dma: Fix channel status for CNL

Xiuli Pan xiuli.pan at linux.intel.com
Tue Mar 20 08:02:35 CET 2018


From: Pan Xiuli <xiuli.pan at linux.intel.com>

At the end of the DMA, we need to set the channel status into
parapre, otherwise next dma start will fail.
This will fix CNL pause resume issues.

Signed-off-by: Pan Xiuli <xiuli.pan at linux.intel.com>

---
Test with:
Mininow max rt5651 and GP-MRB nocodec and CNL nocodec
SOF 1.1-stable: a3fab58d59dc9fc66ee8e5474d479a22e7f180bd
SOF-Tool 1.1-stable: cc91c73aa3e91eea35abdeb76d578b97f718feff
https://github.com/plbossart/sound/tree/topic/sof-v4.14:
4881a4bd906f8b52bebd209b88ff920005550d53
---
 src/drivers/dw-dma.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/drivers/dw-dma.c b/src/drivers/dw-dma.c
index a5717f3..768f204 100644
--- a/src/drivers/dw-dma.c
+++ b/src/drivers/dw-dma.c
@@ -1101,6 +1101,7 @@ static void dw_dma_irq_handler(void *data)
 				trace_dma("LSo");
 				/* disable channel, finished */
 				dw_write(dma, DW_DMA_CHAN_EN, CHAN_DISABLE(i));
+				p->chan[i].status = COMP_STATE_PREPARE;
 			}
 		}
 #endif
-- 
2.7.4



More information about the Sound-open-firmware mailing list