From: pjohn@mvista.com (Philby John)
To: linux-arm-kernel@lists.infradead.org
Subject: AACI broken with commit 29a4f2d3
Date: Fri, 26 Mar 2010 21:37:51 +0530 [thread overview]
Message-ID: <1269619671.30296.1.camel@localhost.localdomain> (raw)
In-Reply-To: <1269612734.807.73.camel@e102109-lin.cambridge.arm.com>
On Fri, 2010-03-26 at 14:12 +0000, Catalin Marinas wrote:
> On Fri, 2010-03-26 at 14:08 +0000, Mark Brown wrote:
> > On Fri, Mar 26, 2010 at 01:54:45PM +0000, Catalin Marinas wrote:
> >
> > > But the above says "the power down control and status register (0x26) of
> > > the CODEC". So this refers to the AC97 registers rather than the AACI
> > > registers. Your patch reads from the AACI registers. The AC97 registers
> > > I think are access with aaci_ac97_(read|write) functions.
> >
> > Yes, they are - but note that some CODECs will power up in low power
> > mode and therefore attempts to read immediately after the controller
> > probe function starts executing may fail until the controller has issued
> > a warm reset.
>
> Yes, possibly. But my point is that accessing offset 0x26 in the AACI
> register space has nothing to do with the AC97 power register. At offset
> 0x26 in the AACI register space you find the top part of the AACIIE2
> register (if you can even read this as a half-word).
>
>From b411099000bbbb9b076168ee98742a36018a67ac Mon Sep 17 00:00:00 2001
From: Philby John <pjohn@in.mvista.com>
Date: Fri, 26 Mar 2010 16:41:06 +0530
Subject: [PATCH] Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3
The commit 29a4f2d3 used writel() at offset 0x26 which is
half-word aligned causing unaligned exceptions on a
Cortex-A8. The original patch solved the "aaci-pl041 fpga:04:
ac97 read back fail" issue on a soft reset. Reading from any
arbitrary aaci register seems to solve this issue.
Signed-off-by: Philby John <pjohn@mvista.com>
---
sound/arm/aaci.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index 656e474..91acc9a 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -863,7 +863,6 @@ static int __devinit aaci_probe_ac97(struct aaci *aaci)
struct snd_ac97 *ac97;
int ret;
- writel(0, aaci->base + AC97_POWERDOWN);
/*
* Assert AACIRESET for 2us
*/
@@ -1047,7 +1046,11 @@ static int __devinit aaci_probe(struct amba_device *dev, struct amba_id *id)
writel(0x1fff, aaci->base + AACI_INTCLR);
writel(aaci->maincr, aaci->base + AACI_MAINCR);
-
+ /*
+ * Fix: ac97 read back fail errors by reading
+ * from any arbitrary aaci register.
+ */
+ readl(aaci->base + AACI_CSCH1);
ret = aaci_probe_ac97(aaci);
if (ret)
goto out;
--
1.7.0.1
next prev parent reply other threads:[~2010-03-26 16:07 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-24 13:51 AACI broken with commit 29a4f2d3 Catalin Marinas
2010-03-24 15:10 ` Catalin Marinas
2010-03-24 15:18 ` Will Deacon
2010-03-25 11:12 ` Takashi Iwai
2010-03-25 11:30 ` Russell King - ARM Linux
2010-03-25 11:36 ` Takashi Iwai
2010-03-25 11:50 ` Philby John
2010-03-25 12:02 ` Catalin Marinas
2010-03-25 12:16 ` Russell King - ARM Linux
2010-03-26 11:28 ` Philby John
2010-03-26 13:00 ` Catalin Marinas
2010-03-26 13:10 ` Philby John
2010-03-26 13:24 ` Mark Brown
2010-03-26 13:54 ` Catalin Marinas
2010-03-26 14:00 ` Philby John
2010-03-26 14:05 ` Catalin Marinas
2010-03-26 14:08 ` Mark Brown
2010-03-26 14:12 ` Catalin Marinas
2010-03-26 14:15 ` Mark Brown
2010-03-26 16:07 ` Philby John [this message]
2010-03-26 21:11 ` Takashi Iwai
2010-03-29 7:45 ` Philby John
2010-03-29 7:57 ` Takashi Iwai
2010-04-06 8:12 ` Takashi Iwai
2010-04-06 17:41 ` Russell King - ARM Linux
2010-04-06 18:07 ` Takashi Iwai
2010-04-12 18:31 ` Russell King - ARM Linux
2010-04-13 7:48 ` Takashi Iwai
2010-03-26 22:56 ` Russell King - ARM Linux
2010-03-26 18:15 ` Russell King - ARM Linux
2010-03-25 12:06 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1269619671.30296.1.camel@localhost.localdomain \
--to=pjohn@mvista.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.