summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-02-07 19:07:10 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-02-07 19:07:10 +0000
commit1f63b9546a8c7b90de2d9e52cf8ff07f9f653d94 (patch)
tree6bd4915b4289ef32c94ecd523f38bb13ca032e4a /sound
parent4a683a2c5e7cabe91218db28e56dc25e1b134ce3 (diff)
parentd8cff1365ec568149d57aeed8279d745591d0fa1 (diff)
Merge branch 'fixes'
Diffstat (limited to 'sound')
-rw-r--r--sound/arm/aaci.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index 24d3013c023..7c1fc64cb53 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -50,7 +50,11 @@ static void aaci_ac97_select_codec(struct aaci *aaci, struct snd_ac97 *ac97)
if (v & SLFR_1RXV)
readl(aaci->base + AACI_SL1RX);
- writel(maincr, aaci->base + AACI_MAINCR);
+ if (maincr != readl(aaci->base + AACI_MAINCR)) {
+ writel(maincr, aaci->base + AACI_MAINCR);
+ readl(aaci->base + AACI_MAINCR);
+ udelay(1);
+ }
}
/*
@@ -993,6 +997,8 @@ static unsigned int __devinit aaci_size_fifo(struct aaci *aaci)
* disabling the channel doesn't clear the FIFO.
*/
writel(aaci->maincr & ~MAINCR_IE, aaci->base + AACI_MAINCR);
+ readl(aaci->base + AACI_MAINCR);
+ udelay(1);
writel(aaci->maincr, aaci->base + AACI_MAINCR);
/*