Searched hist:"982 b604bc56a3da874e489051fc7adb49b1eba65" (Results 1 – 1 of 1) sorted by relevance
/linux/sound/soc/kirkwood/ |
H A D | kirkwood-i2s.c | diff 982b604bc56a3da874e489051fc7adb49b1eba65 Tue Nov 20 13:18:52 CET 2012 Russell King <rmk+kernel@arm.linux.org.uk> ASoC: kirkwood-i2s: fix DMA underruns
Stress testing the driver with multiple start/stop events causes kirkwood-dma to report underrun errors (which used to cause the kernel to lock up solidly). This is because kirkwood-i2s is not respecting the restrictions imposed on clearing the 'pause' bit. Follow what the spec says; the busy bit must be read as being clear twice before the pause bit can be released. This solves the underruns.
However, it has been noticed that the busy bit occasionally does not clear itself, hence the waiting is bounded to 5ms maximum to avoid a new reason for the kernel to lockup.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|