From: Dmitry Osipenko Date: Tue, 24 Mar 2020 22:43:34 +0000 (+0300) Subject: ARM: tegra: Do not fully reinitialize L2 on resume X-Git-Tag: v5.8-rc1~138^2~12^2~1^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=38743e414e7cc6d23f41276f298ad4781890a89f;p=thirdparty%2Fkernel%2Flinux.git ARM: tegra: Do not fully reinitialize L2 on resume ASUS TF300T device may not work properly if firmware is asked to fully re-initialize L2 cache after resume from LP2 suspend. The downstream kernel of TF300T uses different opcode to enable cache after resuming from LP2, this opcode also works fine on Nexus 7 and Ouya devices. Supposedly, this may be needed by an older firmware versions. Reported-by: Michał Mirosław Tested-by: Michał Mirosław Tested-by: Jasper Korten Tested-by: David Heidelberg Tested-by: Peter Geis Signed-off-by: Dmitry Osipenko Signed-off-by: Thierry Reding --- diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c index d1e1a61b12cf8..6452ebf68d40e 100644 --- a/arch/arm/mach-tegra/pm.c +++ b/arch/arm/mach-tegra/pm.c @@ -216,6 +216,8 @@ int tegra_pm_enter_lp2(void) restore_cpu_complex(); cpu_cluster_pm_exit(); + call_firmware_op(prepare_idle, TF_PM_MODE_NONE); + return err; } @@ -391,6 +393,8 @@ static int tegra_suspend_enter(suspend_state_t state) local_fiq_enable(); + call_firmware_op(prepare_idle, TF_PM_MODE_NONE); + return 0; }