Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b76e9667 authored by Razziell's avatar Razziell
Browse files

cpuidle: don't disable cpuidle when entering suspend

cpuidle was disabled while entering suspend as part of commit
8651f97b in order to work around some
ACPI bugs. However, there's no reason to do this on modern
platforms. Leaving cpuidle enabled can result in improved power
consumption if dpm_resume_noirq runs for a significant time.

Change-Id: Ie182785b176f448698c0264eba554d1e315e8a06 (reverted from commit f97e937d)
parent 58a44670
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#include <linux/suspend.h>
#include <trace/events/power.h>
#include <linux/cpufreq.h>
#include <linux/cpuidle.h>
#include <linux/timer.h>
#include <linux/wakeup_reason.h>

@@ -599,6 +600,7 @@ void dpm_resume_noirq(pm_message_t state)
	async_synchronize_full();
	dpm_show_time(starttime, state, "noirq");
	resume_device_irqs();
	cpuidle_resume();
	trace_suspend_resume(TPS("dpm_resume_noirq"), state.event, false);
}

@@ -1114,6 +1116,7 @@ int dpm_suspend_noirq(pm_message_t state)
	int error = 0;

	trace_suspend_resume(TPS("dpm_suspend_noirq"), state.event, true);
	cpuidle_pause();
	suspend_device_irqs();
	mutex_lock(&dpm_list_mtx);
	pm_transition = state;