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

Commit e7467312 authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Krzysztof Kozlowski
Browse files

ARM: exynos: Move Exynos542x CPU state reset to pm_prepare()



Reset the CPU state entry in sysram in pm_prepare() callback. That entry
doesn't need to be reset for every suspended CPU, so make it symmetic
with the code, which restores it in pm_resume() callback.

Tested on Samsung Chromebook2 Pit (Exynos5420) and Pi (Exynos5800)
boards.

Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 9e98c678
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -265,8 +265,6 @@ static int exynos5420_cpu_suspend(unsigned long arg)
	unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
	unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
	unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
	unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);


	writel_relaxed(0x0, pm_state.sysram_base + EXYNOS5420_CPU_STATE);

	if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM)) {
	if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM)) {
		mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume);
		mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume);
		mcpm_cpu_suspend();
		mcpm_cpu_suspend();
@@ -341,6 +339,7 @@ static void exynos5420_pm_prepare(void)
	 */
	 */
	pm_state.cpu_state = readl_relaxed(pm_state.sysram_base +
	pm_state.cpu_state = readl_relaxed(pm_state.sysram_base +
					   EXYNOS5420_CPU_STATE);
					   EXYNOS5420_CPU_STATE);
	writel_relaxed(0x0, pm_state.sysram_base + EXYNOS5420_CPU_STATE);


	exynos_pm_enter_sleep_mode();
	exynos_pm_enter_sleep_mode();