linux-hardened/sound/soc/kirkwood
Russell King 982b604bc5 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>
2012-11-21 10:38:39 +09:00
..
Kconfig ASoC: kirkwood: Make SND_KIRKWOOD_SOC_OPENRD and SND_KIRKWOOD_SOC_T5325 depend on I2C 2011-12-03 10:56:47 +00:00
kirkwood-dma.c ASoC: kirkwood-dma: don't ignore other irq causes on error 2012-11-21 10:38:38 +09:00
kirkwood-i2s.c ASoC: kirkwood-i2s: fix DMA underruns 2012-11-21 10:38:39 +09:00
kirkwood-openrd.c ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
kirkwood-t5325.c ARM: orion: move platform_data definitions 2012-09-19 17:42:17 +02:00
kirkwood.h ARM: Orion: Audio: Add clk/clkdev support 2012-05-08 16:34:03 -07:00
Makefile ASoC: kirkwood: Add audio support to hp t5325 thin clients 2010-10-21 13:51:43 -07:00