]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent...
authorJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Sun, 28 Mar 2010 20:29:29 +0000 (22:29 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 2 Apr 2010 16:10:25 +0000 (17:10 +0100)
commit2f30ace970245886c788085cdea933f629713a6d
tree5741e9c0cb9f8e71b3f92b1145e166716579155a
parent236e09709e4a2fb73ca4df6ca11d563dbc93b458
ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code

With recent (2.6.34) chnages in PCM handling, capture stopped working on my
OMAP1510 based Amstrad Delta videophone.

Using 2.6.34-rc2, I was able to correct the problem in 3 different ways:

1. reverting commit 5bec29f642e0d150e46310d9bb0d19d9c6dd93b7,
2. enabling additional jiffies check with
echo 4 >/proc/asound/card0/pcm0c0/xrun_debug
3. applying the patch below.

Since I wasn't able to reproduce the problem on my i686 PC, I guess the
problem is probably machine specific.

The patch reuses the method for software emulation of missing hardware
pointer, already implemented for playback on OMAP1510. It's possible that
event if a hardware pointer is available for capture on this machine, its
behaviour may be not compatible with what upper layer expects.

If you think the problem may be more general and should be solved differently,
on a higher level, I can try to work more on it if you give me a hint.

If the patch gets accepted, I suggest it goes as a fix in the current release
cycle.

Created and tested against linux-2.6.34-rc2.

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