diff options
author | Jon Medhurst <tixy@linaro.org> | 2013-03-21 12:00:09 +0000 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-07-01 11:05:15 +0100 |
commit | b62c31f5262bdba8171287cfe92df7bdeed1af31 (patch) | |
tree | 7bb56db56fbb4b606f16e8f32eadee34dcbf4ba9 | |
parent | e64a97aa17f483b616b9adc93e74daee1eabf4a0 (diff) |
ARM: vexpress: Get tc2_pm_psci.c to use common CP15 accessor functions
Signed-off-by: Jon Medhurst <tixy@linaro.org>
-rw-r--r-- | arch/arm/mach-vexpress/tc2_pm_psci.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/arch/arm/mach-vexpress/tc2_pm_psci.c b/arch/arm/mach-vexpress/tc2_pm_psci.c index 04d83d2965f2..5a5e4f568497 100644 --- a/arch/arm/mach-vexpress/tc2_pm_psci.c +++ b/arch/arm/mach-vexpress/tc2_pm_psci.c @@ -23,6 +23,7 @@ #include <asm/psci.h> #include <asm/atomic.h> #include <asm/cputype.h> +#include <asm/cp15.h> #include <mach/motherboard.h> #include <mach/tc2.h> @@ -83,24 +84,12 @@ static void tc2_pm_psci_power_down(void) * Overtaken by a power up. Flush caches, exit coherency, * return & fake a reset */ - asm volatile ( - "mrc p15, 0, ip, c1, c0, 0 \n\t" - "bic ip, ip, #(1 << 2) @ clear C bit \n\t" - "mcr p15, 0, ip, c1, c0, 0 \n\t" - "dsb \n\t" - "isb" - : : : "ip" ); + set_cr(get_cr() & ~CR_C); flush_cache_louis(); - asm volatile ( - "clrex \n\t" - "mrc p15, 0, ip, c1, c0, 1 \n\t" - "bic ip, ip, #(1 << 6) @ clear SMP bit \n\t" - "mcr p15, 0, ip, c1, c0, 1 \n\t" - "isb \n\t" - "dsb" - : : : "ip" ); + asm volatile ("clrex"); + set_auxcr(get_auxcr() & ~(1 << 6)); return; case 0: |