]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: tegra: Fix suspend hang on Tegra124 Chromebooks
authorJon Hunter <jonathanh@nvidia.com>
Tue, 8 Dec 2015 10:26:49 +0000 (10:26 +0000)
committerOlof Johansson <olof@lixom.net>
Tue, 22 Dec 2015 23:41:37 +0000 (15:41 -0800)
commit410d77fb8b2f1f53e65e12792386aa8e651a18ed
treebcd34602f98608372bf157b2575767d85a777796
parentcfc5d3032daef7301c2e25571357a54987884a52
ARM: tegra: Fix suspend hang on Tegra124 Chromebooks

Enabling CPUFreq support for Tegra124 Chromebooks is causing the Tegra124
to hang when resuming from suspend.

When CPUFreq is enabled, the CPU clock is changed from the PLLX clock to
the DFLL clock during kernel boot. When resuming from suspend the CPU
clock is temporarily changed back to the PLLX clock before switching back
to the DFLL. If the DFLL is operating at a much lower frequency than the
PLLX when we enter suspend, and so the CPU voltage rail is at a voltage
too low for the CPUs to operate at the PLLX frequency, then the device
will hang.

Please note that the PLLX is used in the resume sequence to switch the CPU
clock from the very slow 32K clock to a faster clock during early resume
to speed up the resume sequence before the DFLL is resumed.

Ideally, we should fix this by setting the suspend frequency so that it
matches the PLLX frequency, however, that would be a bigger change. For
now simply disable CPUFreq support for Tegra124 Chromebooks to avoid the
hang when resuming from suspend.

Fixes: c320ad8b8eb0 ("ARM: tegra: Enable CPUFreq support for Tegra124
      Chromebooks")

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/boot/dts/tegra124-nyan.dtsi