ASoC: omap-mcpdm: Assign the dai DMA data at earlier time
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 16 Apr 2014 12:46:13 +0000 (15:46 +0300)
committerMark Brown <broonie@linaro.org>
Fri, 18 Apr 2014 17:00:35 +0000 (18:00 +0100)
Assign the dai dma data at dai driver probe time, not in startup.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/omap/omap-mcpdm.c

index 2f5b1536477e8895238d21f400f21370a14f3041..e984b0485e923f3c914baa81ba639bcb4173abc0 100644 (file)
@@ -265,9 +265,6 @@ static int omap_mcpdm_dai_startup(struct snd_pcm_substream *substream,
        }
        mutex_unlock(&mcpdm->mutex);
 
-       snd_soc_dai_set_dma_data(dai, substream,
-                                &mcpdm->dma_data[substream->stream]);
-
        return 0;
 }
 
@@ -406,6 +403,11 @@ static int omap_mcpdm_probe(struct snd_soc_dai *dai)
        mcpdm->config[SNDRV_PCM_STREAM_PLAYBACK].threshold = 2;
        mcpdm->config[SNDRV_PCM_STREAM_CAPTURE].threshold =
                                                        MCPDM_UP_THRES_MAX - 3;
+
+       snd_soc_dai_init_dma_data(dai,
+                                 &mcpdm->dma_data[SNDRV_PCM_STREAM_PLAYBACK],
+                                 &mcpdm->dma_data[SNDRV_PCM_STREAM_CAPTURE]);
+
        return ret;
 }