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/

Reply via email to