ASoC: OMAP: Make use of DMA channel self linking on OMAP1510
authorJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Mon, 10 Aug 2009 08:50:04 +0000 (10:50 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 17 Aug 2009 09:59:59 +0000 (10:59 +0100)
commit64844a6ac8ddd586cb832fea7cf2e93e5e7e03f4
tree478fccc70ac7a17861e449438683c22130335e0e
parent1e97f50b7023cda00cb720e53b9e59c250cb4ed7
ASoC: OMAP: Make use of DMA channel self linking on OMAP1510

Use newly implemented DMA channel self linking on OMAP1510 like on other OMAP
models. Remove unnecessary DMA transfer restart from interrupt handler
routine.

The interrupt routine used to maintain a period index, originally needed for
counting up periods up to a full buffer in order to restart the DMA transfer.
For some time, this counter is also used as a replacement for hardware DMA
progress counter that has been found unusable on OMAP1510 in case of playback.
Thus, the period index calculation cannot be omitted completely. However, the
accuracy of this counter can still suffer from missing DMA interrupts.

In order to work correctly, it requires patch 1 from this series also applied:
[RFC][PATCH 1/3] ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510

Created against linux-2.6.31-rc5.

Tested on Amstrad Delta.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/omap/omap-pcm.c