aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/davinci/davinci-pcm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/davinci/davinci-pcm.c')
-rw-r--r--sound/soc/davinci/davinci-pcm.c9
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
846static u64 davinci_pcm_dmamask = DMA_BIT_MASK(32);
847
848static int davinci_pcm_new(struct snd_soc_pcm_runtime *rtd) 846static 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,