From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: ARM errata 430973 on multi platform kernels (was: OMAP3-N900: Add microphone bias voltages)
Date: Fri, 3 Apr 2015 11:39:42 -0700 [thread overview]
Message-ID: <20150403183942.GV10805@atomide.com> (raw)
In-Reply-To: <20150403163553.GA16247@earth>
* Sebastian Reichel <sre@kernel.org> [150403 09:37]:
> Hi,
>
> On Wed, Apr 01, 2015 at 12:47:36PM -0700, Tony Lindgren wrote:
> > > > OK I think debian is using v3.16 kernel
> > >
> > > Yes. It will be used for Debian jessie (not yet released) and the
> > > N900 related drivers are enabled in the armmp flavour. Unfortunately
> > > it does not work together with thumb using userland because the
> > > errata 430973 workaround is not enabled.
> > >
> > > See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=768890
> >
> > Hmm I believe many ARMv8 boards will be randomly oopsing
> > with armhf without that. I sort of recall random oopses just
> > with running apt-get update on ARMv8 omaps on armhf without that:
>
> Since I don't know of any ARMv8 omaps, I will read ARMv8 as ARMv7.
Sorry right, s/ARMv8/Cortex-A8/ :)
> And yes, for armhf userland one gets random oopses at least on the
> Nokia N900. AFAIK this is not true for all ARMv7 processors
> (especially non omaps), though.
>
> > http://www.spinics.net/lists/linux-omap/msg108511.html
> >
> > See also 5c86c5339c56 ("ARM: omap2plus_defconfig: Enable ARM erratum
> > 430973 for omap3").
>
> For me the random oopses occur without this config flag and are
> fixed by it. The workaround is not very suitable for multi platform
> kernels, though, since its enabled also for unaffected platforms.
>
> As far as I can see the CONFIG_ARM_ERRATA_430973 flag is checked
> in proc-v7.S and in proc-v7-2level.S. I think the first file is
> irrelevant, since it can be fixed later (see workaround in
> nokia_n900_legacy_init in pdata-quirks.c).
Yes so it seems, and the bootloaders should really set it. It's
also disabled for multiplatform builds.
> So basically the problem comes down to proc-v7-2level.S
>
> > I wonder if the ARMv8 revision range might be wrong 430973 in
> > kernel or errata?
>
> what revision range? I think the errata is enabled unconditionally
> or disabled completly.
The Cortex-A8 range claimed to be affected in Kconfig is listed
as r1p0..r1p2. But I recall seeing this also on omap3 (37xx)
which is r3p2. Also searching for r3p2 430973 produces:
http://e2e.ti.com/support/arm/sitara_arm/f/791/p/254742/891611
And that points to Siarhei's test program that should expose it
run together with other processes:
https://cloud.github.com/downloads/ssvb/ssvb.github.com/ssvb-cpuburn-a8.S
> > Also I recall that 430973 change to the
> > arch/arm/mm/proc-v7-2level.S fixed the issue, this should be
> > verified though.
>
> If I understand the errata correctly the BTAC/BTB flushing is
> important. It would be nice if it could be limited to affected
> devices, though.
Agreed.
> > > I guess it should be tried to change the workaround, so that it does
> > > only change the behaviour of affected platforms. Otherwise its a
> > > hard decision for distributions to enable the workaround.
> >
> > Well we should figure out first why flush BTAC/BTB is needed in
> > cpu_v7_switch_mm.. And if what I'm describing above is still
> > reproducable.
>
> Reading the help text in the kernel the flushing is the actual
> workaround. The other changes only make it possible to do the
> flushing.
>
> Maybe an option would be to provide two cpu_v7_switch_mm
> implementations (one with the errata and one without). Then
> the system can start with the simple implementation. Once
> the boot as progressed far enough to know, that the hardware
> is affected by the errata, it could switch to the implementation
> with the flushing.
That seems like a good way to deal with it but we should first
verify it Siarhei's test program.
Also, I think that the armel distro did not have these issue
while armhf did, so there may something more to this bug.
Regards,
Tony
next parent reply other threads:[~2015-04-03 18:39 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1425236828-28349-1-git-send-email-jarkko.nikula@bitmer.com>
[not found] ` <55197A12.1050009@bitmer.com>
[not found] ` <20150330164237.GJ10805@atomide.com>
[not found] ` <55198BA4.5010207@bitmer.com>
[not found] ` <20150330175051.GK10805@atomide.com>
[not found] ` <20150331123233.GA15103@earth>
[not found] ` <20150401194734.GT10805@atomide.com>
[not found] ` <20150403163553.GA16247@earth>
2015-04-03 18:39 ` Tony Lindgren [this message]
2015-04-03 19:21 ` ARM errata 430973 on multi platform kernels (was: OMAP3-N900: Add microphone bias voltages) Robert Nelson
2015-04-05 13:00 ` Sebastian Reichel
2015-04-05 13:26 ` Pali Rohár
2015-04-05 13:45 ` Sebastian Reichel
2015-04-05 13:52 ` Pali Rohár
2015-04-06 17:38 ` Sebastian Reichel
2015-04-03 20:42 ` Pavel Machek
2015-04-03 22:08 ` ARM errata 430973 on multi platform kernels Ivaylo Dimitrov
2015-04-03 22:15 ` Tony Lindgren
2015-04-03 22:47 ` Ivaylo Dimitrov
2015-04-03 22:52 ` Tony Lindgren
2015-04-05 4:13 ` Matthijs van Duin
2015-04-05 7:23 ` Ivaylo Dimitrov
2015-04-05 16:50 ` Matthijs van Duin
2015-04-05 16:52 ` Matthijs van Duin
2015-04-05 21:08 ` Ivaylo Dimitrov
2015-04-05 23:52 ` Matthijs van Duin
2015-04-06 15:19 ` Tony Lindgren
2015-04-06 15:40 ` Tony Lindgren
2015-04-06 17:14 ` Ivaylo Dimitrov
2015-04-06 17:42 ` Tony Lindgren
2015-04-06 18:14 ` Matthijs van Duin
2015-04-07 2:23 ` Tony Lindgren
2015-04-07 3:12 ` Sebastian Reichel
2015-04-07 3:49 ` Matthijs van Duin
2015-04-07 14:48 ` Tony Lindgren
2015-04-09 22:37 ` Grazvydas Ignotas
2015-04-09 22:44 ` Tony Lindgren
2015-04-09 23:44 ` Nishanth Menon
2015-04-10 22:05 ` Grazvydas Ignotas
2015-04-10 23:08 ` Tony Lindgren
2015-04-16 16:53 ` Matthijs van Duin
2015-04-07 13:58 ` Russell King - ARM Linux
2015-04-07 13:57 ` Russell King - ARM Linux
2015-04-07 15:22 ` Tony Lindgren
2015-04-07 15:44 ` Tony Lindgren
2015-04-08 23:08 ` Russell King - ARM Linux
2015-04-08 23:15 ` Tony Lindgren
2015-04-08 23:06 ` Russell King - ARM Linux
2015-04-09 13:48 ` Russell King - ARM Linux
2015-04-09 15:09 ` Tony Lindgren
2015-04-09 15:30 ` Russell King - ARM Linux
2015-04-15 16:31 ` Sebastian Reichel
2015-04-16 16:08 ` Tony Lindgren
2015-04-17 18:41 ` Sebastian Reichel
2015-04-20 23:40 ` Tony Lindgren
2015-04-23 10:25 ` Russell King - ARM Linux
2015-04-23 14:17 ` Tony Lindgren
2015-04-28 18:13 ` Russell King - ARM Linux
2015-04-29 14:40 ` Tony Lindgren
2015-05-04 14:24 ` Tony Lindgren
2015-04-24 8:54 ` Matthijs van Duin
2015-04-28 18:11 ` Russell King - ARM Linux
2015-05-02 6:51 ` Matthijs van Duin
2015-04-05 13:39 ` Sebastian Reichel
2015-04-06 15:24 ` Tony Lindgren
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=20150403183942.GV10805@atomide.com \
--to=tony@atomide.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).