]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ARM: exynos: Move Exynos542x CPU state reset to pm_prepare()
authorMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 18 Feb 2019 14:34:09 +0000 (15:34 +0100)
committerKrzysztof Kozlowski <krzk@kernel.org>
Tue, 19 Mar 2019 20:02:12 +0000 (21:02 +0100)
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: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
arch/arm/mach-exynos/suspend.c

index 0850505ac78b2c52c42c6eed6b4d2e8b8ee841db..c1e082ab2a1ee68585433db666ddf67d5e006fdb 100644 (file)
@@ -265,8 +265,6 @@ static int exynos5420_cpu_suspend(unsigned long arg)
        unsigned int cluster = MPIDR_AFFINITY_LEVEL(mpidr, 1);
        unsigned int cpu = MPIDR_AFFINITY_LEVEL(mpidr, 0);
 
-       writel_relaxed(0x0, pm_state.sysram_base + EXYNOS5420_CPU_STATE);
-
        if (IS_ENABLED(CONFIG_EXYNOS5420_MCPM)) {
                mcpm_set_entry_vector(cpu, cluster, exynos_cpu_resume);
                mcpm_cpu_suspend();
@@ -341,6 +339,7 @@ static void exynos5420_pm_prepare(void)
         */
        pm_state.cpu_state = readl_relaxed(pm_state.sysram_base +
                                           EXYNOS5420_CPU_STATE);
+       writel_relaxed(0x0, pm_state.sysram_base + EXYNOS5420_CPU_STATE);
 
        exynos_pm_enter_sleep_mode();