linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

       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).