While playing back audio, pmc_dmaengine requests the DMA channel to stop DMA transmission through DMA_PAUSE command. Currently PL330 driver doesn't support DMA pause command, leaving the DMA state inconsistent when the system resumes. Instead, it would be better to terminate the DMA transfer during suspend and restart again during resume. Tested with audio playback across a suspend-resume cycle. Signed-off-by: Tushar Behera <tushar.behera@xxxxxxxxxx> --- drivers/dma/pl330.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index 73fa9b7..cd70f42 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -2362,6 +2362,7 @@ static int pl330_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd, unsigned LIST_HEAD(list); switch (cmd) { + case DMA_PAUSE: case DMA_TERMINATE_ALL: spin_lock_irqsave(&pch->lock, flags); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html