]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - sound/soc/tegra/tegra_pcm.c
ASoC: tegra: Use common DAI DMA data struct
[mirror_ubuntu-zesty-kernel.git] / sound / soc / tegra / tegra_pcm.c
index e67af0b5d35d03eddc5543d783b6e18376a31e94..f91d08bc175386de1aa8ce495f76ab19c1df8edb 100644 (file)
@@ -81,12 +81,9 @@ static int tegra_pcm_hw_params(struct snd_pcm_substream *substream,
        struct snd_soc_pcm_runtime *rtd = substream->private_data;
        struct device *dev = rtd->platform->dev;
        struct dma_chan *chan = snd_dmaengine_pcm_get_chan(substream);
-       struct tegra_pcm_dma_params *dmap;
        struct dma_slave_config slave_config;
        int ret;
 
-       dmap = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);
-
        ret = snd_hwparams_to_dma_slave_config(substream, params,
                                                &slave_config);
        if (ret) {
@@ -94,16 +91,9 @@ static int tegra_pcm_hw_params(struct snd_pcm_substream *substream,
                return ret;
        }
 
-       if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-               slave_config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-               slave_config.dst_addr = dmap->addr;
-               slave_config.dst_maxburst = 4;
-       } else {
-               slave_config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
-               slave_config.src_addr = dmap->addr;
-               slave_config.src_maxburst = 4;
-       }
-       slave_config.slave_id = dmap->req_sel;
+       snd_dmaengine_pcm_set_config_from_dai_data(substream,
+                       snd_soc_dai_get_dma_data(rtd->cpu_dai, substream),
+                       &slave_config);
 
        ret = dmaengine_slave_config(chan, &slave_config);
        if (ret < 0) {