Merge tag 'tegra-for-5.8-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers

cpuidle: Changes for v5.8-rc1

These changes add support for cluster power-down on Tegra30.

* tag 'tegra-for-5.8-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  cpuidle: tegra: Support CPU cluster power-down state on Tegra30
  ARM: tegra: Do not fully reinitialize L2 on resume
  ARM: tegra: Initialize r0 register for firmware wake-up

Link: https://lore.kernel.org/r/20200515145311.1580134-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann
2020-05-25 23:26:02 +02:00
3 changed files with 10 additions and 2 deletions

View File

@@ -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;
}

View File

@@ -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

View File

@@ -365,7 +365,6 @@ static int tegra_cpuidle_probe(struct platform_device *pdev)
break;
case TEGRA30:
tegra_cpuidle_disable_state(TEGRA_CC6);
break;
case TEGRA114: