Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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 <mirq-linux@rere.qmqm.pl>
Tested-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Tested-by: Jasper Korten <jja2000@gmail.com>
Tested-by: David Heidelberg <david@ixit.cz>
Tested-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>

authored by

Dmitry Osipenko and committed by
Thierry Reding
38743e41 36dc3b1a

+4
+4
arch/arm/mach-tegra/pm.c
··· 216 216 restore_cpu_complex(); 217 217 cpu_cluster_pm_exit(); 218 218 219 + call_firmware_op(prepare_idle, TF_PM_MODE_NONE); 220 + 219 221 return err; 220 222 } 221 223 ··· 392 390 restore_cpu_complex(); 393 391 394 392 local_fiq_enable(); 393 + 394 + call_firmware_op(prepare_idle, TF_PM_MODE_NONE); 395 395 396 396 return 0; 397 397 }