[alsa-devel] [PATCH] ASoC: omap-pcm: Lower the dma coherent mask to 32bits

Peter Ujfalusi peter.ujfalusi at ti.com
Thu Dec 5 09:06:42 CET 2013

The underlying API dma_coerce_mask_and_coherent() checks the requested bits
mask against the size of dma_addr_t which is 32bits on OMAP.
Because of the previously used 64bits mask audio was not probing after
commit c9bd5e6 (and 4dcfa6007).
32bits for the DMA_BIT_MASK looks to be the correct one to use.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
Hi Mark,

This is the fix for OMAP audio for 3.13-rc2+. The dma coherent changes went in
between -rc1 and -rc2 which broke things because omap-pcm was using 64bits for
dma coherent mask.


 sound/soc/omap/omap-pcm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index b8fa986..01d59d0 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -202,7 +202,7 @@ static int omap_pcm_new(struct snd_soc_pcm_runtime *rtd)
 	struct snd_pcm *pcm = rtd->pcm;
 	int ret;
-	ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(64));
+	ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32));
 	if (ret)
 		return ret;

More information about the Alsa-devel mailing list