Skip to content

Commit

Permalink
ARM: EXYNOS: Move some code inside the idle_finisher for cpuidle
Browse files Browse the repository at this point in the history
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: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
  • Loading branch information
Daniel Lezcano authored and Kukjin Kim committed May 25, 2014
1 parent 309e08c commit 20115fa
Showing 1 changed file with 9 additions and 8 deletions.
17 changes: 9 additions & 8 deletions arch/arm/mach-exynos/cpuidle.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand All @@ -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 */
Expand Down

0 comments on commit 20115fa

Please sign in to comment.