Skip to content

Commit 2e60fac

Browse files
committed
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/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2 parents 9b12757 + fafd62e commit 2e60fac

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

arch/arm/mach-tegra/pm.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ int tegra_pm_enter_lp2(void)
216216
restore_cpu_complex();
217217
cpu_cluster_pm_exit();
218218

219+
call_firmware_op(prepare_idle, TF_PM_MODE_NONE);
220+
219221
return err;
220222
}
221223

@@ -391,6 +393,8 @@ static int tegra_suspend_enter(suspend_state_t state)
391393

392394
local_fiq_enable();
393395

396+
call_firmware_op(prepare_idle, TF_PM_MODE_NONE);
397+
394398
return 0;
395399
}
396400

arch/arm/mach-tegra/reset-handler.S

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,12 @@ ENTRY(tegra_resume_trusted_foundations)
9898
reteq lr
9999

100100
.arch_extension sec
101-
/* First call after suspend wakes firmware. No arguments required. */
101+
/*
102+
* First call after suspend wakes firmware. No arguments required
103+
* for some firmware versions. Downstream kernel of ASUS TF300T uses
104+
* r0=3 for the wake-up notification.
105+
*/
106+
mov r0, #3
102107
smc #0
103108

104109
b cpu_resume

drivers/cpuidle/cpuidle-tegra.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,6 @@ static int tegra_cpuidle_probe(struct platform_device *pdev)
365365
break;
366366

367367
case TEGRA30:
368-
tegra_cpuidle_disable_state(TEGRA_CC6);
369368
break;
370369

371370
case TEGRA114:

0 commit comments

Comments
 (0)