diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2015-03-03 13:38:14 +0200 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2015-05-09 23:16:23 +0100 |
commit | bbe1b8742bec3dee45847baf8401af18a5fd5e8a (patch) | |
tree | 191d5c692fc8a641ace4072327791335c957b99f /sound | |
parent | 44304628e6cf27c96fe6eea81a24855edf1dc676 (diff) | |
download | kernel_samsung_smdk4412-bbe1b8742bec3dee45847baf8401af18a5fd5e8a.zip kernel_samsung_smdk4412-bbe1b8742bec3dee45847baf8401af18a5fd5e8a.tar.gz kernel_samsung_smdk4412-bbe1b8742bec3dee45847baf8401af18a5fd5e8a.tar.bz2 |
ASoC: omap-pcm: Correct dma mask
commit d51199a83a2cf82a291d19ee852c44caa511427d upstream.
DMA_BIT_MASK of 64 is not valid dma address mask for OMAPs, it should be
set to 32.
The 64 was introduced by commit (in 2009):
a152ff24b978 ASoC: OMAP: Make DMA 64 aligned
But the dma_mask and coherent_dma_mask can not be used to specify alignment.
Fixes: a152ff24b978 (ASoC: OMAP: Make DMA 64 aligned)
Reported-by: Grygorii Strashko <Grygorii.Strashko@linaro.org>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
[bwh: Backported to 3.2: not using dma_coerce_mask_and_coherent()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/omap/omap-pcm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c index 6ede7dc..9563728 100644 --- a/sound/soc/omap/omap-pcm.c +++ b/sound/soc/omap/omap-pcm.c @@ -333,7 +333,7 @@ static struct snd_pcm_ops omap_pcm_ops = { .mmap = omap_pcm_mmap, }; -static u64 omap_pcm_dmamask = DMA_BIT_MASK(64); +static u64 omap_pcm_dmamask = DMA_BIT_MASK(32); static int omap_pcm_preallocate_dma_buffer(struct snd_pcm *pcm, int stream) @@ -385,7 +385,7 @@ static int omap_pcm_new(struct snd_soc_pcm_runtime *rtd) if (!card->dev->dma_mask) card->dev->dma_mask = &omap_pcm_dmamask; if (!card->dev->coherent_dma_mask) - card->dev->coherent_dma_mask = DMA_BIT_MASK(64); + card->dev->coherent_dma_mask = DMA_BIT_MASK(32); if (dai->driver->playback.channels_min) { ret = omap_pcm_preallocate_dma_buffer(pcm, |