aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilby John <pjohn@in.mvista.com>2009-10-13 07:00:22 -0400
committerTakashi Iwai <tiwai@suse.de>2009-10-13 09:59:55 -0400
commit29a4f2d31c03756bf24883e567a8c3b4ee5df1f4 (patch)
tree1f3070e9ba52c5e26da1aeef0f5bb3d9e5d5366f
parent9c6b8dcefe9a39f36ba11bdd523c0ac5246514c9 (diff)
ALSA: aaci: ARM1176 aaci-pl041 AC97 register read timeout
After a reboot on an ARM1176 which amounts to a softreset, it has been noted that the ALSA driver does not get registered and the probe fails with the error "aaci-pl041 fpga:04: ac97 read back fail". In the process of reading from a register the SL1TxBusy bit is set indicating that the transceiver is busy and remains so until the default timeout occurs. Set the Power down register 0x26 to an arbitrary value as specified in the PL041 manual (page: 3-18) so that AACISL1TX/AACISL2TX registers take their default state. Signed-off-by: Philby John <pjohn@in.mvista.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/arm/aaci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index dc78272fc39f..1f0f8213e2d5 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -937,6 +937,7 @@ static int __devinit aaci_probe_ac97(struct aaci *aaci)
937 struct snd_ac97 *ac97; 937 struct snd_ac97 *ac97;
938 int ret; 938 int ret;
939 939
940 writel(0, aaci->base + AC97_POWERDOWN);
940 /* 941 /*
941 * Assert AACIRESET for 2us 942 * Assert AACIRESET for 2us
942 */ 943 */