ARM: tegra: Switch CPU to PLLP before powergating on Tegra30
authorDmitry Osipenko <digetx@gmail.com>
Mon, 27 Aug 2018 00:58:11 +0000 (03:58 +0300)
committerDmitry Osipenko <digetx@gmail.com>
Sat, 9 Feb 2019 19:15:51 +0000 (22:15 +0300)
PLLX is getting turned by the HW logic when CPU enters powergated state
and there is no enough time for PLLX to re-lock on exiting the low-power
state, this causes memory errors coming from misbehaving CPU and eventual
hanging of the system.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
arch/arm/mach-tegra/sleep-tegra30.S

index d0b4c48..c1ac065 100644 (file)
@@ -299,8 +299,8 @@ ENDPROC(tegra30_sleep_cpu_secondary_finish)
  * Switches the CPU to enter sleep.
  */
 ENTRY(tegra30_tear_down_cpu)
+       bl      tegra_switch_cpu_to_pllp
        mov32   r6, TEGRA_FLOW_CTRL_BASE
-
        b       tegra30_enter_sleep
 ENDPROC(tegra30_tear_down_cpu)