MLK-11284 ARM: ERRATA: Add ARM/MP: 814220 SW workaround
authorJason Liu <r64343@freescale.com>
Fri, 24 Jul 2015 09:06:11 +0000 (17:06 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:49:12 +0000 (14:49 -0500)
commite5f5084482d8759f51e89e95b5a501f227c8d023
treeadaee188db7a9c2c7221e19fc6ae38fd6ea1d011
parentee360fe5f2cb357f5e926050446dd41fe0589bff
MLK-11284 ARM: ERRATA: Add ARM/MP: 814220 SW workaround

ARM/MP: 814220—B-Cache maintenance by set/way operations can execute out of order.

Description:
The v7 ARM states that all cache and branch predictor maintenance operations
that do not specify an address execute, relative to each other, in program
order. However, because of this erratum, an L2 set/way cache maintenance
operation can overtake an L1 set/way cache maintenance operation, this would
cause the data corruption.

This ERRATA affected the Cortex-A7 and present in r0p2, r0p3, r0p4, r0p5.

This patch is the SW workaround by adding a DSB before changing cache levels as
the ARM ERRATA: ARM/MP: 814220 told in the ARM ERRATA documentation.

Signed-off-by: Jason Liu <r64343@freescale.com>
(cherry picked from commit 0e9a87bbd4f7d1c48e42c65aa94939a7283599dd)

Conflicts:
arch/arm/mach-imx/Kconfig
arch/arm/Kconfig
arch/arm/mach-imx/Kconfig
arch/arm/mm/cache-v7.S