summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/sleep34xx.S
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2011-01-23 11:34:39 +0100
committerKevin Hilman <khilman@ti.com>2011-03-10 21:23:12 +0100
commit8409d57bc342536ffe96acc7cd6c7575d98d3edb (patch)
tree11d2fe0f122109ec2fd2cd9132517c5e56cd4d87 /arch/arm/mach-omap2/sleep34xx.S
parentOMAP3: PM: Use ARMv7 supported instructions instead of legacy CP15 ones (diff)
downloadlinux-8409d57bc342536ffe96acc7cd6c7575d98d3edb.tar.xz
linux-8409d57bc342536ffe96acc7cd6c7575d98d3edb.zip
OMAP3: PM: Fix the MMU on sequence in the asm code
Add necessary barriers after enabling MMU. Also use the sane way to load pc and jump to it instead of executing ldma first up. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/sleep34xx.S')
-rw-r--r--arch/arm/mach-omap2/sleep34xx.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
index 1c17ee81cb12..a31845a201e9 100644
--- a/arch/arm/mach-omap2/sleep34xx.S
+++ b/arch/arm/mach-omap2/sleep34xx.S
@@ -617,12 +617,17 @@ usettbr0:
ldr r2, cache_pred_disable_mask
and r4, r2
mcr p15, 0, r4, c1, c0, 0
+ dsb
+ isb
+ ldr r0, =restoremmu_on
+ bx r0
/*
* ==============================
* == Exit point from OFF mode ==
* ==============================
*/
+restoremmu_on:
ldmfd sp!, {r0-r12, pc} @ restore regs and return