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.beh...@linaro.org> --- 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 linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/