- Fix the C7 state on the tegra114 by setting the L2-no-flush flag
unconditionally (Dmitry Osipenko) - Remove the do_idle firmware call as it is not supported by the ATF on tegra SoC (Dmitry Osipenko) - Add a missing dependency on CONFIG_MMU to prevent linkage error (He Ying) -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEGn3N4YVz0WNVyHskqDIjiipP6E8FAmBvQ3UACgkQqDIjiipP 6E/qqQgAiZ7vmvPhPLXSGJljOKkMyhp0AMKXJPlpJzOLG1DeKrXbuJB4kEkDiExj qN/cOL/hcQ+ErFxwmpoCRvz+Hg3gZEemdUQFLiSk+HXVAPCs9jmSpM36vZO80Vga HMQk0NBs/rx0YWfq5XHPyuEf+/Z+gtsXxi88jrzwVqsHYokp/zX/KcrhslStpg1S BWyY2Mgs5R+yxzCPgP6ARs11+EYyFxdUv6goRDf87xiCa+YBWcpYLDlqKsviMkRI Qcjm68N200b80F5CLyF9tDSVAeSxcSrKcACr1sGJiI1VeGmjnoHFhuPFobyF3O5h ubBVYRMZj1cvevbknsL1YBSeL/7ACg== =MMFo -----END PGP SIGNATURE----- Merge tag 'cpuidle-v5.13-rc1' of https://git.linaro.org/people/daniel.lezcano/linux Pull ARM cpuidle updates for v5.13 from Daniel Lezcano: "- Fix the C7 state on the tegra114 by setting the L2-no-flush flag unconditionally (Dmitry Osipenko) - Remove the do_idle firmware call as it is not supported by the ATF on tegra SoC (Dmitry Osipenko) - Add a missing dependency on CONFIG_MMU to prevent linkage error (He Ying)" * tag 'cpuidle-v5.13-rc1' of https://git.linaro.org/people/daniel.lezcano/linux: cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration cpuidle: tegra: Remove do_idle firmware call cpuidle: tegra: Fix C7 idling state on Tegra114
This commit is contained in:
commit
31c6ae4762
@ -107,7 +107,7 @@ config ARM_TEGRA_CPUIDLE
|
||||
|
||||
config ARM_QCOM_SPM_CPUIDLE
|
||||
bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)"
|
||||
depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64
|
||||
depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU
|
||||
select ARM_CPU_SUSPEND
|
||||
select CPU_IDLE_MULTIPLE_DRIVERS
|
||||
select DT_IDLE_STATES
|
||||
|
@ -48,11 +48,6 @@ enum tegra_state {
|
||||
static atomic_t tegra_idle_barrier;
|
||||
static atomic_t tegra_abort_flag;
|
||||
|
||||
static inline bool tegra_cpuidle_using_firmware(void)
|
||||
{
|
||||
return firmware_ops->prepare_idle && firmware_ops->do_idle;
|
||||
}
|
||||
|
||||
static void tegra_cpuidle_report_cpus_state(void)
|
||||
{
|
||||
unsigned long cpu, lcpu, csr;
|
||||
@ -135,13 +130,9 @@ static int tegra_cpuidle_c7_enter(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (tegra_cpuidle_using_firmware()) {
|
||||
err = call_firmware_op(prepare_idle, TF_PM_MODE_LP2_NOFLUSH_L2);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
return call_firmware_op(do_idle, 0);
|
||||
}
|
||||
err = call_firmware_op(prepare_idle, TF_PM_MODE_LP2_NOFLUSH_L2);
|
||||
if (err && err != -ENOSYS)
|
||||
return err;
|
||||
|
||||
return cpu_suspend(0, tegra30_pm_secondary_cpu_suspend);
|
||||
}
|
||||
@ -356,9 +347,7 @@ static int tegra_cpuidle_probe(struct platform_device *pdev)
|
||||
* is disabled.
|
||||
*/
|
||||
if (!IS_ENABLED(CONFIG_PM_SLEEP)) {
|
||||
if (!tegra_cpuidle_using_firmware())
|
||||
tegra_cpuidle_disable_state(TEGRA_C7);
|
||||
|
||||
tegra_cpuidle_disable_state(TEGRA_C7);
|
||||
tegra_cpuidle_disable_state(TEGRA_CC6);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user