diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-03-02 20:33:52 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-03-02 20:33:52 -0500 |
commit | 080e4168c0834ccc853c48259e16a5c556c7ecba (patch) | |
tree | 641a264718c6f1b8bf9525e4e4a073565044cd03 /Documentation/power | |
parent | bbe08c0a43e2c5ee3a00de68c0e867a08a9aa990 (diff) | |
parent | 9b5e9cb164ee93ae19c4c6593e8188a55481f78b (diff) |
Merge tag 'pm-extra-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull more power management updates deom Rafael Wysocki:
"These fix two bugs introduced by recent power management updates (in
the cpuidle menu governor and intel_pstate) and a few other issues,
clean up things and remove unused code.
Specifics:
- Fix for a cpuidle menu governor problem that started to take an
unnecessary spinlock after one of the recent updates and that did
not play well with the RT patch (Rafael Wysocki).
- Fix for the new intel_pstate operation mode switching feature added
recently that did not reinitialize P-state limits properly when
switching operation modes (Rafael Wysocki).
- Removal of unused global notifiers from the PM QoS framework
(Viresh Kumar).
- Generic power domains framework update to make it handle
asynchronous invocations of PM callbacks in the "noirq" phases of
system suspend/hibernation correctly (Ulf Hansson).
- Two hibernation core cleanups (Rafael Wysocki).
- intel_idle cleanup related to the sysfs interface (Len Brown).
- Off-by-one bug fix in the OPP (Operating Performance Points)
framework (Andrzej Hajda).
- OPP framework's documentation fix (Viresh Kumar).
- cpufreq qoriq driver cleanup (Tang Yuantian).
- Fixes for typos in comments in the device runtime PM framework
(Christophe Jaillet)"
* tag 'pm-extra-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
PM / OPP: Documentation: Fix opp-microvolt in examples
intel_idle: stop exposing platform acronyms in sysfs
cpufreq: intel_pstate: Fix limits issue with operation mode switching
PM / hibernate: Define pr_fmt() and use pr_*() instead of printk()
PM / hibernate: Untangle power_down()
cpuidle: menu: Avoid taking spinlock for accessing QoS values
PM / QoS: Remove global notifiers
PM / runtime: Fix some typos
cpufreq: qoriq: clean up unused code
PM / OPP: fix off-by-one bug in dev_pm_opp_get_max_volt_latency loop
PM / Domains: Power off masters immediately in the power off sequence
PM / Domains: Rename is_async to one_dev_on for genpd_power_off()
PM / Domains: Move genpd_power_off() above genpd_power_on()
Diffstat (limited to 'Documentation/power')
-rw-r--r-- | Documentation/power/pm_qos_interface.txt | 13 | ||||
-rw-r--r-- | Documentation/power/runtime_pm.txt | 6 |
2 files changed, 4 insertions, 15 deletions
diff --git a/Documentation/power/pm_qos_interface.txt b/Documentation/power/pm_qos_interface.txt index 129f7c0e1483..21d2d48f87a2 100644 --- a/Documentation/power/pm_qos_interface.txt +++ b/Documentation/power/pm_qos_interface.txt | |||
@@ -163,8 +163,7 @@ of flags and remove sysfs attributes pm_qos_no_power_off and pm_qos_remote_wakeu | |||
163 | under the device's power directory. | 163 | under the device's power directory. |
164 | 164 | ||
165 | Notification mechanisms: | 165 | Notification mechanisms: |
166 | The per-device PM QoS framework has 2 different and distinct notification trees: | 166 | The per-device PM QoS framework has a per-device notification tree. |
167 | a per-device notification tree and a global notification tree. | ||
168 | 167 | ||
169 | int dev_pm_qos_add_notifier(device, notifier): | 168 | int dev_pm_qos_add_notifier(device, notifier): |
170 | Adds a notification callback function for the device. | 169 | Adds a notification callback function for the device. |
@@ -174,16 +173,6 @@ is changed (for resume latency device PM QoS only). | |||
174 | int dev_pm_qos_remove_notifier(device, notifier): | 173 | int dev_pm_qos_remove_notifier(device, notifier): |
175 | Removes the notification callback function for the device. | 174 | Removes the notification callback function for the device. |
176 | 175 | ||
177 | int dev_pm_qos_add_global_notifier(notifier): | ||
178 | Adds a notification callback function in the global notification tree of the | ||
179 | framework. | ||
180 | The callback is called when the aggregated value for any device is changed | ||
181 | (for resume latency device PM QoS only). | ||
182 | |||
183 | int dev_pm_qos_remove_global_notifier(notifier): | ||
184 | Removes the notification callback function from the global notification tree | ||
185 | of the framework. | ||
186 | |||
187 | 176 | ||
188 | Active state latency tolerance | 177 | Active state latency tolerance |
189 | 178 | ||
diff --git a/Documentation/power/runtime_pm.txt b/Documentation/power/runtime_pm.txt index 4870980e967e..64546eb9a16a 100644 --- a/Documentation/power/runtime_pm.txt +++ b/Documentation/power/runtime_pm.txt | |||
@@ -100,7 +100,7 @@ knows what to do to handle the device). | |||
100 | * If the suspend callback returns an error code different from -EBUSY and | 100 | * If the suspend callback returns an error code different from -EBUSY and |
101 | -EAGAIN, the PM core regards this as a fatal error and will refuse to run | 101 | -EAGAIN, the PM core regards this as a fatal error and will refuse to run |
102 | the helper functions described in Section 4 for the device until its status | 102 | the helper functions described in Section 4 for the device until its status |
103 | is directly set to either'active', or 'suspended' (the PM core provides | 103 | is directly set to either 'active', or 'suspended' (the PM core provides |
104 | special helper functions for this purpose). | 104 | special helper functions for this purpose). |
105 | 105 | ||
106 | In particular, if the driver requires remote wakeup capability (i.e. hardware | 106 | In particular, if the driver requires remote wakeup capability (i.e. hardware |
@@ -217,7 +217,7 @@ defined in include/linux/pm.h: | |||
217 | one to complete | 217 | one to complete |
218 | 218 | ||
219 | spinlock_t lock; | 219 | spinlock_t lock; |
220 | - lock used for synchronisation | 220 | - lock used for synchronization |
221 | 221 | ||
222 | atomic_t usage_count; | 222 | atomic_t usage_count; |
223 | - the usage counter of the device | 223 | - the usage counter of the device |
@@ -565,7 +565,7 @@ appropriate to ensure that the device is not put back to sleep during the | |||
565 | probe. This can happen with systems such as the network device layer. | 565 | probe. This can happen with systems such as the network device layer. |
566 | 566 | ||
567 | It may be desirable to suspend the device once ->probe() has finished. | 567 | It may be desirable to suspend the device once ->probe() has finished. |
568 | Therefore the driver core uses the asyncronous pm_request_idle() to submit a | 568 | Therefore the driver core uses the asynchronous pm_request_idle() to submit a |
569 | request to execute the subsystem-level idle callback for the device at that | 569 | request to execute the subsystem-level idle callback for the device at that |
570 | time. A driver that makes use of the runtime autosuspend feature, may want to | 570 | time. A driver that makes use of the runtime autosuspend feature, may want to |
571 | update the last busy mark before returning from ->probe(). | 571 | update the last busy mark before returning from ->probe(). |