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

Commit 20115fa8 authored by Daniel Lezcano's avatar Daniel Lezcano Committed by Kukjin Kim
Browse files

ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle



Move the code around to differentiate different section of code and
prepare it to be factored out in the next patches.

The call order changed but hat doesn't have a side effect because
they are independent. The important call is cpu_do_idle() which must
be done the last.

Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 309e08c4
Loading
Loading
Loading
Loading
+9 −8
Original line number Diff line number Diff line
@@ -69,7 +69,16 @@ static void restore_cpu_arch_register(void)

static int idle_finisher(unsigned long flags)
{
	exynos_set_wakeupmask();

	__raw_writel(virt_to_phys(s3c_cpu_resume), REG_DIRECTGO_ADDR);
	__raw_writel(S5P_CHECK_AFTR, REG_DIRECTGO_FLAG);

	/* Set value of power down register for aftr mode */
	exynos_sys_powerdown_conf(SYS_AFTR);

	cpu_do_idle();

	return 1;
}

@@ -79,14 +88,6 @@ static int exynos_enter_core0_aftr(struct cpuidle_device *dev,
{
	unsigned long tmp;

	exynos_set_wakeupmask();

	/* Set value of power down register for aftr mode */
	exynos_sys_powerdown_conf(SYS_AFTR);

	__raw_writel(virt_to_phys(exynos_cpu_resume), REG_DIRECTGO_ADDR);
	__raw_writel(S5P_CHECK_AFTR, REG_DIRECTGO_FLAG);

	save_cpu_arch_register();

	/* Setting Central Sequence Register for power down mode */