mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
e7c70825a7
commit
8aa2da872a
|
@ -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)
|
||||||
{
|
{
|
||||||
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"
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue