imx6q: PL310 caching issues?
keglrohit at gmail.com
Thu Dec 3 02:31:59 EST 2020
Kernel / Uboot version doesn't matter when configured wrong.
I thought some memory management expert could point me to the right
path after looking at this distinct error pattern.
Because it has to be known, everywhere questions but no useful answers.
ARM/PL310: 752271—Double linefill feature can cause data corruption
[i.MX 6Dual/6Quad only]
Is the issue.
In u-boot 2015_07 exists a CONFIG_MX6Q and CONFIG_MX6QDL. Our BSP from
the vendor set only CONFIG_MX6QDL on a imx6q platform.
=> errata was bypassed in uboot => kernel had same errata correctly
enabled, but kernel does not actively reset this bit (jumps over
setting this bit)
=> uboot sets the bit and kernel with activated errata does not reset it.
Other Boardconfigs with imx6q and uboot < v2019.04-rc1 could also be
affected. But depends also on the kernel version. Maybe newer kernels
actively reset the bit.
I think CONFIG_MX6QDL is pretty misleading or the vendor did not know
about CONFIG_MX6Q which exists also in the latest u-boot.
But the 752271 handling is completely different as of v2019.04-rc1. So
maybe only the 752271 handling based on #ifdef CONFIG_MX6Q is not
Here is the switch to PL310 revision based checks:
It would be great if errata changes could be committed with their own commit.
Commit d8bbf362f3dc87326597217b8bab083516cf534f affects errata 752271
and 765569 at once.
We could also observe better memory throughput with the changes to
765569. But still pretty big impact without activated doubleline fill.
On Wed, Dec 2, 2020 at 3:49 AM Fabio Estevam <festevam at gmail.com> wrote:
> Hi Kegl,
> On Wed, Nov 25, 2020 at 6:52 PM Kegl Rohit <keglrohit at gmail.com> wrote:
> > Hello!
> > We are running an imx6q platform with kernel version 3.10.108.
> This is an old and unsupported kernel version.
> > A short test with some newer 4.* kernel did not show this issue. But I
> > have to run it for longer.
> You should consider upgrading your kernel.
More information about the linux-arm-kernel