linux-kernel-test/sound/soc
Sudhakar Rajashekhara 5b61ea4997 ASoC: DaVinci: Fix McASP hardware FIFO configuration
On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral
has FIFO support. This FIFO provides additional data buffering. It
also provides tolerance to variation in host/DMA controller response
times. More details of the FIFO operation can be found at

http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sprufm1&fileType=pdf

Existing sequence of steps for audio playback/capture are:
a. DMA configuration
b. McASP configuration (configures and enables FIFO)
c. Start DMA
d. Start McASP (enables FIFO)

During McASP configuration, while FIFO was being configured, FIFO
was being enabled in davinci_hw_common_param() function of
sound/soc/davinci/davinci-mcasp.c file. This generated a transmit
DMA event, which gets serviced when DMA is started.

https://patchwork.kernel.org/patch/84611/ patch clears the DMA
events before starting DMA, which is the right thing to do. But
this resulted in a state where DMA was waiting for an event from
McASP (after step c above), but the event which was already there,
has got cleared (because of step b above).

The fix is not to enable the FIFO during McASP configuration as
FIFO was being enabled as part of McASP start.

Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-06-15 11:53:18 +01:00
..
atmel ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream 2010-04-05 19:14:11 +01:00
au1x include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
blackfin Merge branch 'topic/asoc' into for-linus 2010-05-20 12:00:43 +02:00
codecs Merge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc 2010-05-27 09:46:10 +02:00
davinci ASoC: DaVinci: Fix McASP hardware FIFO configuration 2010-06-15 11:53:18 +01:00
fsl of: Remove duplicate fields from of_platform_driver 2010-05-22 00:10:40 -06:00
imx Merge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into fix/asoc 2010-06-02 14:17:44 +02:00
omap Merge branch 'topic/asoc' into for-linus 2010-05-20 12:00:43 +02:00
pxa Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-05-20 09:41:44 -07:00
s3c24xx ASoC: Allow active paths from the GSM modem while the GTA02 is suspended 2010-05-10 10:37:04 +01:00
s6000 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-04-07 08:42:25 -07:00
sh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2010-05-29 15:31:57 -07:00
txx9 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2010-05-21 17:05:46 -07:00
Kconfig ASoC: Hook i.MX into build 2009-08-15 11:37:30 +01:00
Makefile ASoC: Add bit clock rate calculator utility functions 2009-11-12 16:45:48 +00:00
soc-cache.c ASoC: Add debug output tracing all cache register writes 2010-05-05 15:10:17 +01:00
soc-core.c Merge branch 'topic/asoc' into for-linus 2010-05-20 12:00:43 +02:00
soc-dapm.c Merge branch 'topic/asoc' into for-linus 2010-05-20 12:00:43 +02:00
soc-jack.c ASoC: Allow reporting of NULL jacks 2010-04-23 17:07:10 +01:00
soc-utils.c ASoC: Add BCLK calculation utility for TDM mode too 2009-11-25 19:55:46 +00:00