projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e7c7082
)
RealView: Use flush_cache_all() rather than MCR in cpu_enter_lowpower()
author
Harry Fearnhamm
<Harry.Fearnhamm@arm.com>
Mon, 1 Dec 2008 14:54:56 +0000
(14:54 +0000)
committer
Catalin Marinas
<catalin.marinas@arm.com>
Mon, 1 Dec 2008 14:54:56 +0000
(14:54 +0000)
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>
arch/arm/mach-realview/hotplug.c
patch
|
blob
|
history
diff --git
a/arch/arm/mach-realview/hotplug.c
b/arch/arm/mach-realview/hotplug.c
index 09748cbcd10e790b1150bad55ef75f1d76f44739..be048e3e8799fe9b7e9cfc05c474b6e90e7d5fe5 100644
(file)
--- a/
arch/arm/mach-realview/hotplug.c
+++ b/
arch/arm/mach-realview/hotplug.c
@@
-13,6
+13,8
@@
#include <linux/smp.h>
#include <linux/completion.h>
+#include <asm/cacheflush.h>
+
extern volatile int pen_release;
static DECLARE_COMPLETION(cpu_killed);
@@
-21,7
+23,8
@@
static inline void cpu_enter_lowpower(void)
{
unsigned int v;
- asm volatile( "mcr p15, 0, %1, c7, c14, 0\n"
+ flush_cache_all();
+ asm volatile(
" mcr p15, 0, %1, c7, c5, 0\n"
" mcr p15, 0, %1, c7, c10, 4\n"
/*