提交 8aa2da87 编写于 作者: H Harry Fearnhamm 提交者: 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: NHarry Fearnhamm <Harry.Fearnhamm@arm.com>
Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>


上级 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% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册