diff options
author | Huang Chao <chao7.huang@samsung.com> | 2014-06-13 13:28:36 +0800 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-08-08 15:25:16 +0900 |
commit | c9188447c98f2b66013e3f993a8462bd39b9e968 (patch) | |
tree | f3d61aacf65a171184b7d921c37cb14046b7d5cc /arch | |
parent | ff84722f193a0691f030464bb935e3b8bc007670 (diff) | |
download | linux-3.10-c9188447c98f2b66013e3f993a8462bd39b9e968.tar.gz linux-3.10-c9188447c98f2b66013e3f993a8462bd39b9e968.tar.bz2 linux-3.10-c9188447c98f2b66013e3f993a8462bd39b9e968.zip |
ASoC: samsung: dma: Implement audio pause/resume callback operations
When the dma operations get called from audio platform driver, and
users want to pause or resume the audio pcm stream when playback music,
there should be the related pause and release callback operations for
such requirements. This patch just implements the audio pause/resume
callback operations by simply call the corresponding functions from
the dma engine subsystem.
Change-Id: Ifed8d2acf1cbc09f1bd5d37151dcf74255b20da0
Signed-off-by: Huang Chao <chao7.huang@samsung.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-samsung/dma-ops.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/dma-ops.c b/arch/arm/plat-samsung/dma-ops.c index ec0d731b0e7..011f232f6f3 100644 --- a/arch/arm/plat-samsung/dma-ops.c +++ b/arch/arm/plat-samsung/dma-ops.c @@ -122,6 +122,16 @@ static inline int samsung_dmadev_flush(unsigned ch) return dmaengine_terminate_all((struct dma_chan *)ch); } +static inline int samsung_dmadev_pause(unsigned ch) +{ + return dmaengine_pause((struct dma_chan *)ch); +} + +static inline int samsung_dmadev_resume(unsigned ch) +{ + return dmaengine_resume((struct dma_chan *)ch); +} + static struct samsung_dma_ops dmadev_ops = { .request = samsung_dmadev_request, .release = samsung_dmadev_release, @@ -131,6 +141,8 @@ static struct samsung_dma_ops dmadev_ops = { .started = NULL, .flush = samsung_dmadev_flush, .stop = samsung_dmadev_flush, + .pause = samsung_dmadev_pause, + .resume = samsung_dmadev_resume, }; void *samsung_dmadev_get_ops(void) |