Commit c5130911 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'pm-5.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
 "These fix one more issue related to the recent RCU-lockdep changes, a
  typo in documentation and add a missing return statement to
  intel_pstate.

  Specifics:

   - Fix up RCU usage for cpuidle on the ARM imx6q platform (Ulf
     Hansson)

   - Fix typo in the PM documentation (Yoann Congal)

   - Add return statement that is missing after recent changes in the
     intel_pstate driver (Zhang Rui)"

* tag 'pm-5.9-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ARM: imx6q: Fixup RCU usage for cpuidle
  Documentation: PM: Fix a reStructuredText syntax error
  cpufreq: intel_pstate: Fix missing return statement
parents cc8ad8fa 7bbe8f2a
...@@ -690,7 +690,7 @@ which of the two parameters is added to the kernel command line. In the ...@@ -690,7 +690,7 @@ which of the two parameters is added to the kernel command line. In the
instruction of the CPUs (which, as a rule, suspends the execution of the program instruction of the CPUs (which, as a rule, suspends the execution of the program
and causes the hardware to attempt to enter the shallowest available idle state) and causes the hardware to attempt to enter the shallowest available idle state)
for this purpose, and if ``idle=poll`` is used, idle CPUs will execute a for this purpose, and if ``idle=poll`` is used, idle CPUs will execute a
more or less ``lightweight'' sequence of instructions in a tight loop. [Note more or less "lightweight" sequence of instructions in a tight loop. [Note
that using ``idle=poll`` is somewhat drastic in many cases, as preventing idle that using ``idle=poll`` is somewhat drastic in many cases, as preventing idle
CPUs from saving almost any energy at all may not be the only effect of it. CPUs from saving almost any energy at all may not be the only effect of it.
For example, on Intel hardware it effectively prevents CPUs from using For example, on Intel hardware it effectively prevents CPUs from using
......
...@@ -24,7 +24,9 @@ static int imx6q_enter_wait(struct cpuidle_device *dev, ...@@ -24,7 +24,9 @@ static int imx6q_enter_wait(struct cpuidle_device *dev,
imx6_set_lpm(WAIT_UNCLOCKED); imx6_set_lpm(WAIT_UNCLOCKED);
raw_spin_unlock(&cpuidle_lock); raw_spin_unlock(&cpuidle_lock);
rcu_idle_enter();
cpu_do_idle(); cpu_do_idle();
rcu_idle_exit();
raw_spin_lock(&cpuidle_lock); raw_spin_lock(&cpuidle_lock);
if (num_idle_cpus-- == num_online_cpus()) if (num_idle_cpus-- == num_online_cpus())
...@@ -44,7 +46,7 @@ static struct cpuidle_driver imx6q_cpuidle_driver = { ...@@ -44,7 +46,7 @@ static struct cpuidle_driver imx6q_cpuidle_driver = {
{ {
.exit_latency = 50, .exit_latency = 50,
.target_residency = 75, .target_residency = 75,
.flags = CPUIDLE_FLAG_TIMER_STOP, .flags = CPUIDLE_FLAG_TIMER_STOP | CPUIDLE_FLAG_RCU_IDLE,
.enter = imx6q_enter_wait, .enter = imx6q_enter_wait,
.name = "WAIT", .name = "WAIT",
.desc = "Clock off", .desc = "Clock off",
......
...@@ -2781,6 +2781,7 @@ static int intel_pstate_update_status(const char *buf, size_t size) ...@@ -2781,6 +2781,7 @@ static int intel_pstate_update_status(const char *buf, size_t size)
cpufreq_unregister_driver(intel_pstate_driver); cpufreq_unregister_driver(intel_pstate_driver);
intel_pstate_driver_cleanup(); intel_pstate_driver_cleanup();
return 0;
} }
if (size == 6 && !strncmp(buf, "active", size)) { if (size == 6 && !strncmp(buf, "active", size)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment