iommu/arm-smmu: Work around MMU-500 prefetch errata
authorRobin Murphy <robin.murphy@arm.com>
Wed, 13 Apr 2016 17:12:59 +0000 (18:12 +0100)
committerWill Deacon <will.deacon@arm.com>
Tue, 3 May 2016 17:23:02 +0000 (18:23 +0100)
commitf0cfffc48cac516e37711786227f6808491913a5
tree889f2264c6e081e8778db9396b5a7c6adc4ebf37
parente086d912d4d78781652669618e7fb01a4d466703
iommu/arm-smmu: Work around MMU-500 prefetch errata

MMU-500 erratum #841119 is tickled by a particular set of circumstances
interacting with the next-page prefetcher. Since said prefetcher is
quite dumb and actually detrimental to performance in some cases (by
causing unwanted TLB evictions for non-sequential access patterns), we
lose very little by turning it off, and what we gain is a guarantee that
the erratum is never hit.

As a bonus, the same workaround will also prevent erratum #826419 once
v7 short descriptor support is implemented.

CC: Catalin Marinas <catalin.marinas@arm.com>
CC: Will Deacon <will.deacon@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Documentation/arm64/silicon-errata.txt
drivers/iommu/arm-smmu.c