Commit 31c6ae47 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

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
parents e49d033b 498ba2a8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+4 −15
Original line number Diff line number Diff line
@@ -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,14 +130,10 @@ 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)
	if (err && err != -ENOSYS)
		return err;

		return call_firmware_op(do_idle, 0);
	}

	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_CC6);
	}