diff options
Diffstat (limited to 'sound/soc/davinci/davinci-pcm.c')
-rw-r--r-- | sound/soc/davinci/davinci-pcm.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/soc/davinci/davinci-pcm.c b/sound/soc/davinci/davinci-pcm.c index 8460edce1c3b..84a63c660ab9 100644 --- a/sound/soc/davinci/davinci-pcm.c +++ b/sound/soc/davinci/davinci-pcm.c | |||
@@ -844,18 +844,15 @@ static void davinci_pcm_free(struct snd_pcm *pcm) | |||
844 | } | 844 | } |
845 | } | 845 | } |
846 | 846 | ||
847 | static u64 davinci_pcm_dmamask = DMA_BIT_MASK(32); | ||
848 | |||
849 | static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd) | 847 | static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd) |
850 | { | 848 | { |
851 | struct snd_card *card = rtd->card->snd_card; | 849 | struct snd_card *card = rtd->card->snd_card; |
852 | struct snd_pcm *pcm = rtd->pcm; | 850 | struct snd_pcm *pcm = rtd->pcm; |
853 | int ret; | 851 | int ret; |
854 | 852 | ||
855 | if (!card->dev->dma_mask) | 853 | ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); |
856 | card->dev->dma_mask = &davinci_pcm_dmamask; | 854 | if (ret) |
857 | if (!card->dev->coherent_dma_mask) | 855 | return ret; |
858 | card->dev->coherent_dma_mask = DMA_BIT_MASK(32); | ||
859 | 856 | ||
860 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { | 857 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { |
861 | ret = davinci_pcm_preallocate_dma_buffer(pcm, | 858 | ret = davinci_pcm_preallocate_dma_buffer(pcm, |