[alsa-devel] Calling omap_pcm_prepare() results in BUG() on OMAP1

Janusz Krzysztofik jkrzyszt at tis.icnet.pl
Wed Oct 21 05:11:06 CEST 2009

After DMA burst mode has been introduced in sound/soc/omap/omap-pcm.c, 
omap_pcm_prepare() unconditionally calls:

	omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16);
	omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16);

AFAICS, current implementation of those two functions found in 
arch/arm/plat-ompa/dma.c doesn't support OMAP_DMA_DATA_BURST_16 on OMAP1 at 
all, so they both end with BUG() on that machine. That seems to result in 
ASoC being completely unusable, at least on my OMAP5910 based Amstrad Delta.

Is calling BUG() for OMAP1 from those functions intentional?

If not intentional, can those be corrected by simply putting break; before 

If intentional, can those function calls be conditionally omited, at least for 
OMAP1510, in sound/soc/omap/omap-pcm.c?


More information about the Alsa-devel mailing list