diff options
author | Harry Fearnhamm <Harry.Fearnhamm@arm.com> | 2008-12-01 09:54:56 -0500 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2008-12-01 09:54:56 -0500 |
commit | 8aa2da872a492a2196397603ed756a4c48677122 (patch) | |
tree | 247f803b2f677d48b6a696c158f3c925d9102f04 /arch/arm/mach-realview | |
parent | e7c70825a758403cfb476903f3145e6a8c0dd3b5 (diff) |
RealView: Use flush_cache_all() rather than MCR in cpu_enter_lowpower()
The MCR for flushing the whole D cache is undefined on ARMv7 CPUs.
Signed-off-by: Harry Fearnhamm <Harry.Fearnhamm@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r-- | arch/arm/mach-realview/hotplug.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-realview/hotplug.c b/arch/arm/mach-realview/hotplug.c index 09748cbcd10e..be048e3e8799 100644 --- a/arch/arm/mach-realview/hotplug.c +++ b/arch/arm/mach-realview/hotplug.c | |||
@@ -13,6 +13,8 @@ | |||
13 | #include <linux/smp.h> | 13 | #include <linux/smp.h> |
14 | #include <linux/completion.h> | 14 | #include <linux/completion.h> |
15 | 15 | ||
16 | #include <asm/cacheflush.h> | ||
17 | |||
16 | extern volatile int pen_release; | 18 | extern volatile int pen_release; |
17 | 19 | ||
18 | static DECLARE_COMPLETION(cpu_killed); | 20 | static DECLARE_COMPLETION(cpu_killed); |
@@ -21,7 +23,8 @@ static inline void cpu_enter_lowpower(void) | |||
21 | { | 23 | { |
22 | unsigned int v; | 24 | unsigned int v; |
23 | 25 | ||
24 | asm volatile( "mcr p15, 0, %1, c7, c14, 0\n" | 26 | flush_cache_all(); |
27 | asm volatile( | ||
25 | " mcr p15, 0, %1, c7, c5, 0\n" | 28 | " mcr p15, 0, %1, c7, c5, 0\n" |
26 | " mcr p15, 0, %1, c7, c10, 4\n" | 29 | " mcr p15, 0, %1, c7, c10, 4\n" |
27 | /* | 30 | /* |