From 9ec70bb523fea03dc2e2917b0be875f4474de5b0 Mon Sep 17 00:00:00 2001 From: Pan Xiuli Date: Fri, 9 Mar 2018 16:48:14 +0800 Subject: [PATCH] dw-dma: Fix channel status At the end of the DMA, we need to set the channel status into parapre, otherwise next dma start will fail. This will fix APL pause resume issues. Signed-off-by: Pan Xiuli -- Test with: Mininow max rt5651 and GP-MRB nocodec SOF master: 728f1ff3e32e14e19847ba513f8b0e3af80762c0 SOF-Tool master: 5b5bbe31e6d914079707bfa6c129c2730ea7aeff https://github.com/plbossart/sound/tree/topic/sof-v4.14: fe5e29155127a717ba5ae454b4bdde99afa67723 --- 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 33b5e5fc1..4ea4eb55b 100644 --- a/src/drivers/dw-dma.c +++ b/src/drivers/dw-dma.c @@ -953,6 +953,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