Commit 8aa2da87 authored by Harry Fearnhamm's avatar Harry Fearnhamm Committed by Catalin Marinas

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: default avatarHarry Fearnhamm <Harry.Fearnhamm@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>


parent e7c70825
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <linux/smp.h> #include <linux/smp.h>
#include <linux/completion.h> #include <linux/completion.h>
#include <asm/cacheflush.h>
extern volatile int pen_release; extern volatile int pen_release;
static DECLARE_COMPLETION(cpu_killed); static DECLARE_COMPLETION(cpu_killed);
...@@ -21,7 +23,8 @@ static inline void cpu_enter_lowpower(void) ...@@ -21,7 +23,8 @@ static inline void cpu_enter_lowpower(void)
{ {
unsigned int v; 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, c5, 0\n"
" mcr p15, 0, %1, c7, c10, 4\n" " mcr p15, 0, %1, c7, c10, 4\n"
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment