Use c15resume firmware method instead of accessing the registers directly in exynos_cpu_restore_register() if secure firmware is enabled. This affects both PM resume method and cpuidle AFTR mode.
This patch shouldn't cause any functionality changes on boards that don't use secure firmware.
Signed-off-by: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Acked-by: Kyungmin Park kyungmin.park@samsung.com --- arch/arm/mach-exynos/pm.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c index cf09383..aeff99e 100644 --- a/arch/arm/mach-exynos/pm.c +++ b/arch/arm/mach-exynos/pm.c @@ -26,6 +26,7 @@ #include <asm/hardware/cache-l2x0.h> #include <asm/smp_scu.h> #include <asm/suspend.h> +#include <asm/firmware.h>
#include <plat/pm-common.h> #include <plat/pll.h> @@ -232,6 +233,9 @@ static void exynos_cpu_restore_register(void) { unsigned long tmp;
+ if (call_firmware_op(c15resume, save_arm_register) == 0) + return; + /* Restore Power control register */ tmp = save_arm_register[0];