From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: PL310 errata workarounds
Date: Wed, 19 Mar 2014 21:46:32 +0000 [thread overview]
Message-ID: <20140319214631.GL7528@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <CAL_JsqK6+gz6u=bSUFS7qjKANd2ZSQV5bWccw85KvAA7aP0FrA@mail.gmail.com>
On Wed, Mar 19, 2014 at 04:35:58PM -0500, Rob Herring wrote:
> On Wed, Mar 19, 2014 at 4:22 PM, Marek Vasut <marex@denx.de> wrote:
> > On Friday, March 14, 2014 at 08:14:06 PM, Rob Herring wrote:
> >> On Fri, Mar 14, 2014 at 12:57 PM, Russell King - ARM Linux
> >>
> >> <linux@arm.linux.org.uk> wrote:
> >> > On Fri, Mar 14, 2014 at 11:02:17AM -0500, Rob Herring wrote:
> >> >> The obvious fix is to convert l2x0_flush_line to a function ptr which
> >> >> just further complicates the code.
> >> >
> >> > I currently regard this code as unmaintainable, so right now I'm in the
> >> > process of completely rewriting it, going back to the specs and checking
> >> > what is required. Sharing code between the L210, L220 and L310 looks
> >> > good from the point of view of keeping the line count down, but actually
> >> > they're quite different and have various different requirements.
> >> >
> >> > Out of those, L220 is the odd one out: all operations are background
> >> > operations there, which means they have to be waited for. Currently,
> >> > if you have one of these, and you build a multiplatform kernel which
> >> > includes PL310 support, you don't wait for any of these and you probably
> >> > see a lot of data corruption as a result.
> >>
> >> Oops. I guess there are not many users as the L220 was primarily used
> >> with the 1176 (and 11MP?) IIRC. I guess one of the primary 1176 based
> >> platforms currently used is RPi, but it appears the BCM2835 doesn't
> >> have an L2 (other than some custom L2 for the GPU).
> >
> > Won't Freescale i.MX35 help here ? It's 1136JF-S core and has some L2 cache.
>
> No. 1136 uses L210. 1176 uses L220. There was the i.MX37 which had an
> 1176, but it was pretty short lived and never saw upstream support.
Don't worry too much about the L220 - the Realview boards have one, and
I have one Realview EB board:
Linux version 3.14.0-rc7+ (rmk at rmk-PC.arm.linux.org.uk) (gcc version 4.5.4 (GCC) ) #664 SMP Wed Mar 19 18:06:11 GMT 2014
CPU: ARMv6-compatible processor [410fb020] revision 0 (ARMv7), cr=00c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: ARM-RealView EB
...
CPU0: thread -1, cpu 0, socket -1, mpidr 0
Setting up static identity map for 0x7036d130 - 0x7036d1a0
CPU1: Booted secondary processor
CPU1: thread -1, cpu 0, socket -1, mpidr 1
CPU2: Booted secondary processor
CPU2: thread -1, cpu 0, socket -1, mpidr 2
CPU3: Booted secondary processor
CPU3: thread -1, cpu 0, socket -1, mpidr 3
Brought up 4 CPUs
...
L2C: DT/platform modifies aux control register: 0x00020fff -> 0x00790fff
L2C-220 cache controller enabled, 8 ways, 1024 kB
L2C-220: CACHE_ID 0x41000081, AUX_CTRL 0x00790fff
These need to be configured by the board code for their cache size because
the register isn't correctly configured at reset. Same goes for PL210.
Only with PL310 does the register contain appropriate sizing information
on reset.
--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
next prev parent reply other threads:[~2014-03-19 21:46 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-14 14:48 PL310 errata workarounds Russell King - ARM Linux
2014-03-14 15:01 ` Russell King - ARM Linux
2014-03-14 16:02 ` Rob Herring
2014-03-14 17:57 ` Russell King - ARM Linux
2014-03-14 19:14 ` Rob Herring
2014-03-14 20:32 ` Russell King - ARM Linux
2014-03-19 21:22 ` Marek Vasut
2014-03-19 21:35 ` Rob Herring
2014-03-19 21:46 ` Russell King - ARM Linux [this message]
2014-03-19 21:54 ` Marek Vasut
2014-03-16 11:52 ` Russell King - ARM Linux
2014-03-17 15:04 ` Rob Herring
2014-03-17 15:37 ` Russell King - ARM Linux
2014-03-17 17:29 ` Catalin Marinas
2014-03-17 19:44 ` Russell King - ARM Linux
2014-03-17 21:09 ` Nicolas Pitre
2014-03-17 21:14 ` Russell King - ARM Linux
2014-03-17 21:54 ` Nicolas Pitre
2014-03-16 15:29 ` Russell King - ARM Linux
2014-03-17 14:00 ` Rob Herring
2014-03-17 14:40 ` Russell King - ARM Linux
2014-03-18 11:22 ` *READ THIS IF YOUR SOC HAS A L2 CACHE* PL310 auxctrl settings Russell King - ARM Linux
2014-03-28 12:51 ` Maxime Coquelin
2014-03-28 13:02 ` Russell King - ARM Linux
2014-03-28 13:32 ` Maxime Coquelin
2014-03-18 17:26 ` PL310 errata workarounds Russell King - ARM Linux
2014-03-19 21:52 ` Marek Vasut
2014-03-19 22:51 ` Russell King - ARM Linux
2014-03-19 23:05 ` FEC ethernet issues [Was: PL310 errata workarounds] Marek Vasut
2014-03-20 4:01 ` Marek Vasut
2014-03-20 22:27 ` Fabio Estevam
2014-03-20 23:06 ` Russell King - ARM Linux
2014-03-21 0:24 ` Troy Kisky
2014-03-21 1:18 ` Russell King - ARM Linux
2014-03-21 1:36 ` Fabio Estevam
2014-03-21 1:43 ` Fabio Estevam
2014-03-21 16:37 ` Bernd Faust
[not found] ` <CANBf9eNZB+BVBDkgWNxxGs-ndQ-mYCc6+bfVdS-8T-QLpSZ3GA@mail.gmail.com>
2014-03-21 17:32 ` Russell King - ARM Linux
2014-03-23 11:38 ` Bernd Faust
2014-03-23 13:44 ` Russell King - ARM Linux
2014-03-24 17:57 ` robert.daniels at vantagecontrols.com
2014-03-24 20:21 ` Marek Vasut
2014-03-24 22:37 ` robert.daniels at vantagecontrols.com
2014-03-24 23:44 ` Russell King - ARM Linux
2014-03-25 1:02 ` Marek Vasut
2014-03-25 23:10 ` Russell King - ARM Linux
2014-03-26 0:11 ` Russell King - ARM Linux
2014-04-01 9:26 ` Russell King - ARM Linux
2014-04-01 14:00 ` Eric Nelson
2014-04-01 17:29 ` Russell King - ARM Linux
2014-04-01 18:11 ` Eric Nelson
2014-04-02 2:26 ` fugang.duan at freescale.com
2014-04-01 19:38 ` robert.daniels at vantagecontrols.com
2014-04-01 22:51 ` Russell King - ARM Linux
2014-04-02 0:37 ` robert.daniels at vantagecontrols.com
2014-04-02 3:19 ` fugang.duan at freescale.com
2014-04-02 8:59 ` Russell King - ARM Linux
2014-04-02 9:40 ` fugang.duan at freescale.com
2014-04-02 10:46 ` Russell King - ARM Linux
2014-04-02 11:33 ` fugang.duan at freescale.com
2014-04-02 16:51 ` Russell King - ARM Linux
2014-04-03 2:41 ` fugang.duan at freescale.com
2014-04-03 8:56 ` Russell King - ARM Linux
2014-04-03 9:55 ` fugang.duan at freescale.com
2014-04-03 10:32 ` Russell King - ARM Linux
2014-04-03 13:36 ` Shawn Guo
2014-04-03 13:45 ` Russell King - ARM Linux
2014-04-03 14:00 ` Shawn Guo
2014-04-04 20:21 ` robert.daniels at vantagecontrols.com
2014-04-29 9:26 ` Jaccon Bastiaansen
[not found] ` <CAGzjT4d8H6YE6P6A1E4aHiPAenJFvZH01LHXaNzVwhF2MRBvWQ@mail.gmail.com>
2014-05-02 11:41 ` Russell King - ARM Linux
2014-05-08 9:23 ` Jaccon Bastiaansen
2014-03-21 15:50 ` PL310 errata workarounds Frank Li
2014-03-21 17:12 ` Russell King - ARM Linux
2014-03-17 16:32 ` Russell King - ARM Linux
2014-03-17 16:51 ` 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=20140319214631.GL7528@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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).