diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2012-12-28 06:32:54 -0500 |
---|---|---|
committer | Simon Horman <horms+renesas@verge.net.au> | 2013-01-24 22:43:45 -0500 |
commit | 9916152438a99b15c009e26f0f9cb38efba086d3 (patch) | |
tree | 3339355704904123756b38d1e52572b4e7a65f0b | |
parent | 529a7b323507c1aa0873066d84487b1ca7c28af5 (diff) |
ARM: sh7372: fix cache clean / invalidate order
According to the Cortex A8 TRM the L2 cache should be first cleaned and
then disabled. Fix the swapped order on sh7372.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
-rw-r--r-- | arch/arm/mach-shmobile/sleep-sh7372.S | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/arm/mach-shmobile/sleep-sh7372.S b/arch/arm/mach-shmobile/sleep-sh7372.S index 1d564674451d..a9df53b69ab8 100644 --- a/arch/arm/mach-shmobile/sleep-sh7372.S +++ b/arch/arm/mach-shmobile/sleep-sh7372.S | |||
@@ -59,17 +59,19 @@ sh7372_do_idle_sysc: | |||
59 | mcr p15, 0, r0, c1, c0, 0 | 59 | mcr p15, 0, r0, c1, c0, 0 |
60 | isb | 60 | isb |
61 | 61 | ||
62 | /* | ||
63 | * Clean and invalidate data cache again. | ||
64 | */ | ||
65 | ldr r1, kernel_flush | ||
66 | blx r1 | ||
67 | |||
62 | /* disable L2 cache in the aux control register */ | 68 | /* disable L2 cache in the aux control register */ |
63 | mrc p15, 0, r10, c1, c0, 1 | 69 | mrc p15, 0, r10, c1, c0, 1 |
64 | bic r10, r10, #2 | 70 | bic r10, r10, #2 |
65 | mcr p15, 0, r10, c1, c0, 1 | 71 | mcr p15, 0, r10, c1, c0, 1 |
72 | isb | ||
66 | 73 | ||
67 | /* | 74 | /* |
68 | * Invalidate data cache again. | ||
69 | */ | ||
70 | ldr r1, kernel_flush | ||
71 | blx r1 | ||
72 | /* | ||
73 | * The kernel doesn't interwork: v7_flush_dcache_all in particluar will | 75 | * The kernel doesn't interwork: v7_flush_dcache_all in particluar will |
74 | * always return in Thumb state when CONFIG_THUMB2_KERNEL is enabled. | 76 | * always return in Thumb state when CONFIG_THUMB2_KERNEL is enabled. |
75 | * This sequence switches back to ARM. Note that .align may insert a | 77 | * This sequence switches back to ARM. Note that .align may insert a |