diff options
author | vdumpa <vdumpa@nvidia.com> | 2011-04-28 11:47:48 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-05-11 15:47:50 -0700 |
commit | bb7254677307bb63817061ec245e9eed17662da6 (patch) | |
tree | 671fca80e549b8a54dbbfd1a5fc246daa5ce9850 /arch/arm/Kconfig | |
parent | 4b698ecb8116775ed56bda97c616918a188dfbe9 (diff) |
ARM: errata: 727915: Background Clean & Invalidate by Way operation can cause data corruption.
PL310 implements the Clean & Invalidate by Way L2 cache maintenance operation
(offset 0x7FC). This operation runs in background so that PL310 can handle
normal accesses while it is in progress. Under very rare circumstances,
due to this erratum, write data can be lost when PL310 treats a cacheable
write transaction during a Clean & Invalidate by Way operation.
This fix is to replace the background Clean & Invalby Way operation
by a software loop on all sets/ways. This works for r2p0 and r3p0 as well.
Change-Id: I45e841d8049a18f2dd36ce13e8ef15322f14c5d5
Reviewed-on: http://git-master/r/29690
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 79ad5f1efcaa..75226da44789 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1148,6 +1148,17 @@ config ARM_ERRATA_752520 and MMU are enabled, with the TLB descriptors marked as L1 cacheable, so that Page Table Walks are performed as cache linefills. +config PL310_ERRATA_727915 + bool "Background Clean & Invalidate by Way operation can cause data corruption" + depends on CACHE_L2X0 + help + PL310 implements the Clean & Invalidate by Way L2 cache maintenance + operation (offset 0x7FC). This operation runs in background so that + PL310 can handle normal accesses while it is in progress. Under very + rare circumstances, due to this erratum, write data can be lost when + PL310 treats a cacheable write transaction during a Clean & + Invalidate by Way operation. + endmenu source "arch/arm/common/Kconfig" |