diff options
author | Qiao Zhou <zhouqiao@marvell.com> | 2013-12-17 09:22:24 +0100 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2013-12-17 13:48:45 +0100 |
commit | 48b752ac2f80f483a3059ae109f9de02dcc054dd (patch) | |
tree | 9edf8624a2ee1853e4a8aa9758cd1d4739686d70 /sound/soc/pxa/mmp-pcm.c | |
parent | Linux 3.13-rc1 (diff) | |
download | linux-48b752ac2f80f483a3059ae109f9de02dcc054dd.tar.xz linux-48b752ac2f80f483a3059ae109f9de02dcc054dd.zip |
ASoC: mmp-pcm: config pcm slave via generic dmaengine
use snd_dmaengine_pcm_prepare_slave_config to set slave config,
and remove the max_burst_size = 4 hard code.
select SND_SOC_GENERIC_DMAENGINE_PCM for mmp-pcm.
Signed-off-by: Qiao Zhou <zhouqiao@marvell.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/pxa/mmp-pcm.c')
-rw-r--r-- | sound/soc/pxa/mmp-pcm.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/sound/soc/pxa/mmp-pcm.c b/sound/soc/pxa/mmp-pcm.c index 7929e19b0ef5..682ee52942bf 100644 --- a/sound/soc/pxa/mmp-pcm.c +++ b/sound/soc/pxa/mmp-pcm.c @@ -67,27 +67,15 @@ static int mmp_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { struct dma_chan *chan = snd_dmaengine_pcm_get_chan(substream); - struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct snd_dmaengine_dai_dma_data *dma_params; struct dma_slave_config slave_config; int ret; - dma_params = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream); - if (!dma_params) - return 0; - - ret = snd_hwparams_to_dma_slave_config(substream, params, &slave_config); + ret = + snd_dmaengine_pcm_prepare_slave_config(substream, params, + &slave_config); if (ret) return ret; - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { - slave_config.dst_addr = dma_params->addr; - slave_config.dst_maxburst = 4; - } else { - slave_config.src_addr = dma_params->addr; - slave_config.src_maxburst = 4; - } - ret = dmaengine_slave_config(chan, &slave_config); if (ret) return ret; |