]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
ENGR00275391 i.mx6d/q: disable the double linefill feature of PL310
authorJason Liu <r64343@freescale.com>
Tue, 13 Aug 2013 01:55:42 +0000 (09:55 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:14:17 +0000 (14:14 +0200)
commit49e83e1d7bc99ef47a0ce2b3863b9ba5a5162cd5
treebf2f43c4e8751227f915d1c4ee90869072267eb3
parent967d3728cc9a772d5ff1c93dacd5b9b9b2f875c5
ENGR00275391 i.mx6d/q: disable the double linefill feature of PL310

The L2 cache controller(PL310) version on the i.MX6D/Q is r3p1-50rel0
The L2 cache controller(PL310) version on the i.MX6DL/SOLO/SL is r3p2
But according to ARM PL310 errata: 752271
ID: 752271: Double linefill feature can cause data corruption
Fault Status: Present in: r3p0, r3p1, r3p1-50rel0. Fixed in r3p2
Workaround: The only workaround to this erratum is to disable the
double linefill feature. This is the default behavior.

[in the commit:c483abdca0011c1342bad42f16925dd5a2c7c091]
ENGR00271977-1 imx6_defconfig: enable PL310_ERRATA_769419

There is one error in the commit log, the correct PL310 version in
i.MX6DL/SOLO should be r3p2, not r3p1-50rel0.

so, PL310_ERRATA_769419, will not apply to i.MX6DL/SOLO. But since we build
one image to support both i.MX6Q and i.MX6DL/SOLO, the ideal solution is to
manage this errata in dynamic way. Someone did post the patches here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/145593.html

As the discussion on the above link, Russell King, the ARM arch maintainer said:

"As I already said, there is _no_ point making the barrier conditional;
it's probably more expensive to make it conditional than just to execute
it every time.  But we still might as well optimize it away if we are
running _only_ on platforms which _do_ _not_ have that errata."

So, we will turn on the PL310_ERRATA_769419 on both i.MX6D/Q and i.MX6DL/SOLO.

Signed-off-by: Jason Liu <r64343@freescale.com>
arch/arm/mach-mx6/mm.c