Skip to content

Commit

Permalink
ASoC: mmp-pcm: config pcm slave via generic dmaengine
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Qiao Zhou authored and Mark Brown committed Dec 17, 2013
1 parent 6ce4eac commit 48b752a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 16 deletions.
2 changes: 1 addition & 1 deletion sound/soc/pxa/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ config SND_PXA2XX_SOC
config SND_MMP_SOC
bool "Soc Audio for Marvell MMP chips"
depends on ARCH_MMP
select SND_DMAENGINE_PCM
select SND_SOC_GENERIC_DMAENGINE_PCM
select SND_ARM
help
Say Y if you want to add support for codecs attached to
Expand Down
18 changes: 3 additions & 15 deletions sound/soc/pxa/mmp-pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 48b752a

Please sign in to comment.