Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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"
	/*