Message ID | 20200212235134.12638-16-digetx@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | Consolidate and improve NVIDIA Tegra CPUIDLE driver(s) | expand |
On Thu, Feb 13, 2020 at 02:51:32AM +0300, Dmitry Osipenko wrote: > LP2 suspending could be unavailable, for example if it is disabled in a > device-tree. CC6 cpuidle state won't work in that case. > > Acked-by: Peter De Schrijver <pdeschrijver@nvidia.com> > Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
diff --git a/drivers/cpuidle/cpuidle-tegra.c b/drivers/cpuidle/cpuidle-tegra.c index b6cdad8437af..675b8a4464ba 100644 --- a/drivers/cpuidle/cpuidle-tegra.c +++ b/drivers/cpuidle/cpuidle-tegra.c @@ -31,6 +31,7 @@ #include <soc/tegra/fuse.h> #include <soc/tegra/irq.h> #include <soc/tegra/pm.h> +#include <soc/tegra/pmc.h> #include <asm/cpuidle.h> #include <asm/firmware.h> @@ -334,6 +335,10 @@ static void tegra_cpuidle_setup_tegra114_c7_state(void) static int tegra_cpuidle_probe(struct platform_device *pdev) { + /* LP2 could be disabled in device-tree */ + if (tegra_pmc_get_suspend_mode() < TEGRA_SUSPEND_LP2) + tegra_cpuidle_disable_state(TEGRA_CC6); + /* * Required suspend-resume functionality, which is provided by the * Tegra-arch core and PMC driver, is unavailable if PM-sleep option