diff options
Diffstat (limited to 'sound/soc/fsl/imx-pcm-fiq.c')
-rw-r--r-- | sound/soc/fsl/imx-pcm-fiq.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/sound/soc/fsl/imx-pcm-fiq.c b/sound/soc/fsl/imx-pcm-fiq.c index 34043c55f2a6..fd5f2fb955f1 100644 --- a/sound/soc/fsl/imx-pcm-fiq.c +++ b/sound/soc/fsl/imx-pcm-fiq.c | |||
@@ -272,18 +272,16 @@ static int imx_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream) | |||
272 | return 0; | 272 | return 0; |
273 | } | 273 | } |
274 | 274 | ||
275 | static u64 imx_pcm_dmamask = DMA_BIT_MASK(32); | ||
276 | |||
277 | static int imx_pcm_new(struct snd_soc_pcm_runtime *rtd) | 275 | static int imx_pcm_new(struct snd_soc_pcm_runtime *rtd) |
278 | { | 276 | { |
279 | struct snd_card *card = rtd->card->snd_card; | 277 | struct snd_card *card = rtd->card->snd_card; |
280 | struct snd_pcm *pcm = rtd->pcm; | 278 | struct snd_pcm *pcm = rtd->pcm; |
281 | int ret = 0; | 279 | int ret; |
280 | |||
281 | ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); | ||
282 | if (ret) | ||
283 | return ret; | ||
282 | 284 | ||
283 | if (!card->dev->dma_mask) | ||
284 | card->dev->dma_mask = &imx_pcm_dmamask; | ||
285 | if (!card->dev->coherent_dma_mask) | ||
286 | card->dev->coherent_dma_mask = DMA_BIT_MASK(32); | ||
287 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { | 285 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { |
288 | ret = imx_pcm_preallocate_dma_buffer(pcm, | 286 | ret = imx_pcm_preallocate_dma_buffer(pcm, |
289 | SNDRV_PCM_STREAM_PLAYBACK); | 287 | SNDRV_PCM_STREAM_PLAYBACK); |