Message ID | 20200324224335.5825-2-digetx@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | Enable LP2 CPUIDLE state on NVIDIA Tegra30 | expand |
On Wed, Mar 25, 2020 at 01:43:33AM +0300, Dmitry Osipenko wrote: > Downstream kernel of ASUS TF300T sets r0 to #3. There is no explanation in > downstream code whether this is really needed and some of T30 downstream > kernels have and explicit comment telling that all arguments are ignored > by firmware. Let's take a safe side by replicating behavior of the TF300T > downstream kernel. This change works fine on Ouya and Nexus 7 devices. > > 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> > --- > arch/arm/mach-tegra/reset-handler.S | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Applied to for-5.8/arm/core, thanks. Thierry
diff --git a/arch/arm/mach-tegra/reset-handler.S b/arch/arm/mach-tegra/reset-handler.S index 53123ae4ac3b..06ca44b09381 100644 --- a/arch/arm/mach-tegra/reset-handler.S +++ b/arch/arm/mach-tegra/reset-handler.S @@ -98,7 +98,12 @@ ENTRY(tegra_resume_trusted_foundations) reteq lr .arch_extension sec - /* First call after suspend wakes firmware. No arguments required. */ + /* + * First call after suspend wakes firmware. No arguments required + * for some firmware versions. Downstream kernel of ASUS TF300T uses + * r0=3 for the wake-up notification. + */ + mov r0, #3 smc #0 b cpu_resume