aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/imx/imx-pcm-dma-mx2.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/imx/imx-pcm-dma-mx2.c')
-rw-r--r--sound/soc/imx/imx-pcm-dma-mx2.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/imx/imx-pcm-dma-mx2.c b/sound/soc/imx/imx-pcm-dma-mx2.c
index 86668ab3f4d4..2e79d7136298 100644
--- a/sound/soc/imx/imx-pcm-dma-mx2.c
+++ b/sound/soc/imx/imx-pcm-dma-mx2.c
@@ -84,11 +84,13 @@ static void snd_imx_dma_err_callback(int channel, void *data, int err)
84static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream) 84static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream)
85{ 85{
86 struct snd_soc_pcm_runtime *rtd = substream->private_data; 86 struct snd_soc_pcm_runtime *rtd = substream->private_data;
87 struct imx_pcm_dma_params *dma_params = rtd->dai->cpu_dai->dma_data; 87 struct imx_pcm_dma_params *dma_params;
88 struct snd_pcm_runtime *runtime = substream->runtime; 88 struct snd_pcm_runtime *runtime = substream->runtime;
89 struct imx_pcm_runtime_data *iprtd = runtime->private_data; 89 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
90 int ret; 90 int ret;
91 91
92 dma_params = snd_soc_get_dma_data(rtd->dai->cpu_dai, substream);
93
92 iprtd->dma = imx_dma_request_by_prio(DRV_NAME, DMA_PRIO_HIGH); 94 iprtd->dma = imx_dma_request_by_prio(DRV_NAME, DMA_PRIO_HIGH);
93 if (iprtd->dma < 0) { 95 if (iprtd->dma < 0) {
94 pr_err("Failed to claim the audio DMA\n"); 96 pr_err("Failed to claim the audio DMA\n");
@@ -193,10 +195,12 @@ static int snd_imx_pcm_prepare(struct snd_pcm_substream *substream)
193{ 195{
194 struct snd_pcm_runtime *runtime = substream->runtime; 196 struct snd_pcm_runtime *runtime = substream->runtime;
195 struct snd_soc_pcm_runtime *rtd = substream->private_data; 197 struct snd_soc_pcm_runtime *rtd = substream->private_data;
196 struct imx_pcm_dma_params *dma_params = rtd->dai->cpu_dai->dma_data; 198 struct imx_pcm_dma_params *dma_params;
197 struct imx_pcm_runtime_data *iprtd = runtime->private_data; 199 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
198 int err; 200 int err;
199 201
202 dma_params = snd_soc_get_dma_data(rtd->dai->cpu_dai, substream);
203
200 iprtd->substream = substream; 204 iprtd->substream = substream;
201 iprtd->buf = (unsigned int *)substream->dma_buffer.area; 205 iprtd->buf = (unsigned int *)substream->dma_buffer.area;
202 iprtd->period_cnt = 0; 206 iprtd->period_cnt = 0;