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 443e9e599a75..fa64cd85204f 100644 --- a/sound/soc/davinci/davinci-pcm.c +++ b/sound/soc/davinci/davinci-pcm.c | |||
@@ -843,18 +843,15 @@ static void davinci_pcm_free(struct snd_pcm *pcm) | |||
843 | } | 843 | } |
844 | } | 844 | } |
845 | 845 | ||
846 | static u64 davinci_pcm_dmamask = DMA_BIT_MASK(32); | ||
847 | |||
848 | static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd) | 846 | static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd) |
849 | { | 847 | { |
850 | struct snd_card *card = rtd->card->snd_card; | 848 | struct snd_card *card = rtd->card->snd_card; |
851 | struct snd_pcm *pcm = rtd->pcm; | 849 | struct snd_pcm *pcm = rtd->pcm; |
852 | int ret; | 850 | int ret; |
853 | 851 | ||
854 | if (!card->dev->dma_mask) | 852 | ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); |
855 | card->dev->dma_mask = &davinci_pcm_dmamask; | 853 | if (ret) |
856 | if (!card->dev->coherent_dma_mask) | 854 | return ret; |
857 | card->dev->coherent_dma_mask = DMA_BIT_MASK(32); | ||
858 | 855 | ||
859 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { | 856 | if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { |
860 | ret = davinci_pcm_preallocate_dma_buffer(pcm, | 857 | ret = davinci_pcm_preallocate_dma_buffer(pcm, |