diff mbox

[5/7] ASoC: kirkwood-i2s: fix pause handling some more

Message ID E1X0AZy-0003iQ-EJ@rmk-PC.arm.linux.org.uk (mailing list archive)
State Accepted
Commit 4d2097e51795b760c392d3fbc6ca6b6f77c83419
Headers show

Commit Message

Russell King June 26, 2014, 2:23 p.m. UTC
We still see the occasional timeout waiting for busy to clear.  As the
spec is contradictory, and we know that the current implementation
doesn't work, try an alternative interpretation from the spec.  This
one appears to work - I have yet to find any issue with it during my
testing over several months.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 sound/soc/kirkwood/kirkwood-i2s.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox

Patch

diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index b601ad680d7b..e98650c01eba 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -238,7 +238,7 @@  static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
 	uint32_t ctl, value;
 
 	ctl = readl(priv->io + KIRKWOOD_PLAYCTL);
-	if (ctl & KIRKWOOD_PLAYCTL_PAUSE) {
+	if ((ctl & KIRKWOOD_PLAYCTL_ENABLE_MASK) == 0) {
 		unsigned timeout = 5000;
 		/*
 		 * The Armada510 spec says that if we enter pause mode, the