summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/sleep.S
diff options
context:
space:
mode:
authorAmit Kamath <akamath@nvidia.com>2013-01-29 15:39:58 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:57:32 -0700
commitcc4f711fcae5ea325911632f960611d396f98cfb (patch)
treef85a23533f57286b2bce1f177f67b2e4583bd2b8 /arch/arm/mach-tegra/sleep.S
parent70d84f612026a34e08419428cb21737994de1b63 (diff)
ARM: tegra: Add barriers after cache operations
memory and instruction barriers are needed after the tlb is invalidated and BTAC is flushed as per ARM TRM. Without this there is a invalid page translation in some cases. Bug 1189280 Reviewed-on: http://git-master/r/195070 (cherry picked from commit 997c54686349728cdf54cfeae96b5f4078ccb436) Change-Id: I85e297ffd9245c5066f656bbb70ea257b8b3b317 Signed-off-by: Amit Kamath <akamath@nvidia.com> Reviewed-on: http://git-master/r/199867 Reviewed-by: Automatic_Commit_Validation_User Tested-by: Sarvesh Satavalekar <ssatavalekar@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/sleep.S')
-rw-r--r--arch/arm/mach-tegra/sleep.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/sleep.S b/arch/arm/mach-tegra/sleep.S
index 48d2be0a8bee..b634d0e75927 100644
--- a/arch/arm/mach-tegra/sleep.S
+++ b/arch/arm/mach-tegra/sleep.S
@@ -256,10 +256,11 @@ ENTRY(tegra_turn_off_mmu)
mcr p15, 0, r3, c2, c0, 0 @ TTB 0
isb
- mov r2, #0
mcr p15, 0, r2, c8, c3, 0 @ invalidate TLB
mcr p15, 0, r2, c7, c5, 6 @ flush BTAC
mcr p15, 0, r2, c7, c5, 0 @ flush instruction cache
+ dsb
+ isb
mov32 r3, tegra_shut_off_mmu
add r3, r3, r0