dma: pl330: Implement the dma channel pause/resume interfaces
authorHuang Chao <chao7.huang@samsung.com>
Fri, 13 Jun 2014 03:22:17 +0000 (11:22 +0800)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:59:50 +0000 (11:59 +0900)
This patch implements dma pause and resume interfaces for the
pl330 dmac driver. When the dmaengine_pause callback is called
from audio platform driver, the pl330 driver should handle the
pause command. And when the dmaengine_resume callback function
is called, the pl330 driver should handle the resume command.

In order not to return error code for pause/resume operation,
currently there is nothing implemented for pause and resume
switch interfaces, and there might have some continuous work
for pl330 channel configuration in the future. However, the
odroidx2/u3 board can pause/resume with this implementation.

Change-Id: I584106a4d7861fde308997e6843088fbf0a9b1bb
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
drivers/dma/pl330.c

index 24f8ae3..ed8cacd 100644 (file)
@@ -2416,6 +2416,12 @@ static int pl330_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd, unsigned
                                pch->burst_len = slave_config->src_maxburst;
                }
                break;
+       case DMA_PAUSE:
+               /* TODO: set up dma channel and config register if any */
+               break;
+       case DMA_RESUME:
+               /* TODO: set up dma channel and config register if any */
+               break;
        default:
                dev_err(pch->dmac->pif.dev, "Not supported command.\n");
                return -ENXIO;