ARM: tegra: Use WFE for power-gating on Tegra30
authorDmitry Osipenko <digetx@gmail.com>
Tue, 30 Jul 2019 17:23:40 +0000 (20:23 +0300)
committerThierry Reding <treding@nvidia.com>
Tue, 29 Oct 2019 13:32:01 +0000 (14:32 +0100)
commit91d7ff5aa7e3edd9ab99a424099476ed5667b152
tree2998c7783986f45ffcf8f1d9b6912220d5c74053
parentd70f7d31a9e2088e8a507194354d41ea10062994
ARM: tegra: Use WFE for power-gating on Tegra30

Turned out that WFI doesn't work reliably on Tegra30 as a trigger for
the power-gating, it causes CPU hang under some circumstances like having
memory controller running of PLLP. The TRM doc states that WFI should be
used for the Big-Little "Cluster Switch", while WFE for the power-gating.
Hence let's use the WFE for CPU0 power-gating, like it is done for the
power-gating of a secondary cores. This fixes CPU hang after entering LP2
with memory running off PLLP.

Acked-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Tested-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm/mach-tegra/sleep-tegra30.S
drivers/soc/tegra/flowctrl.c