Skip to content

Commit 53edfec

Browse files
committed
Merge tag 'pm-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki: "As is tradition, cpufreq is the part with the largest number of updates that include core fixes and cleanups as well as updates of several assorted drivers, but there are also quite a few updates related to system sleep, mostly focused on asynchronous suspend and resume of devices and on making the integration of system suspend and resume with runtime PM easier. Runtime PM is also updated to allow some code duplication in drivers to be eliminated going forward and to work more consistently overall in some cases. Apart from that, there are some driver core updates related to PM domains that should help to address ordering issues with devm_ cleanup routines relying on PM domains, some assorted devfreq updates including core fixes and cleanups, tooling updates, and documentation and MAINTAINERS updates. Specifics: - Fix two initialization ordering issues in the cpufreq core and a governor initialization error path in it, and clean it up (Lifeng Zheng) - Add Granite Rapids support in no-HWP mode to the intel_pstate cpufreq driver (Li RongQing) - Make intel_pstate always use HWP_DESIRED_PERF when operating in the passive mode (Rafael Wysocki) - Allow building the tegra124 cpufreq driver as a module (Aaron Kling) - Do minor cleanups for Rust cpufreq and cpumask APIs and fix MAINTAINERS entry for cpu.rs (Abhinav Ananthu, Ritvik Gupta, Lukas Bulwahn) - Clean up assorted cpufreq drivers (Arnd Bergmann, Dan Carpenter, Krzysztof Kozlowski, Sven Peter, Svyatoslav Ryhel, Lifeng Zheng) - Add the NEED_UPDATE_LIMITS flag to the CPPC cpufreq driver (Prashant Malani) - Fix minimum performance state label error in the amd-pstate driver documentation (Shouye Liu) - Add the CPUFREQ_GOV_STRICT_TARGET flag to the userspace cpufreq governor and explain HW coordination influence on it in the documentation (Shashank Balaji) - Fix opencoded for_each_cpu() in idle_state_valid() in the DT cpuidle driver (Yury Norov) - Remove info about non-existing QoS interfaces from the PM QoS documentation (Ulf Hansson) - Use c_* types via kernel prelude in Rust for OPP (Abhinav Ananthu) - Add HiSilicon uncore frequency scaling driver to devfreq (Jie Zhan) - Allow devfreq drivers to add custom sysfs ABIs (Jie Zhan) - Simplify the sun8i-a33-mbus devfreq driver by using more devm functions (Uwe Kleine-König) - Fix an index typo in trans_stat() in devfreq (Chanwoo Choi) - Check devfreq governor before using governor->name (Lifeng Zheng) - Remove a redundant devfreq_get_freq_range() call from devfreq_add_device() (Lifeng Zheng) - Limit max_freq with scaling_min_freq in devfreq (Lifeng Zheng) - Replace sscanf() with kstrtoul() in set_freq_store() (Lifeng Zheng) - Extend the asynchronous suspend and resume of devices to handle suppliers like parents and consumers like children (Rafael Wysocki) - Make pm_runtime_force_resume() work for drivers that set the DPM_FLAG_SMART_SUSPEND flag and allow PCI drivers and drivers that collaborate with the general ACPI PM domain to set it (Rafael Wysocki) - Add kernel parameter to disable asynchronous suspend/resume of devices (Tudor Ambarus) - Drop redundant might_sleep() calls from some functions in the device suspend/resume core code (Zhongqiu Han) - Fix the handling of monitors connected right before waking up the system from sleep (tuhaowen) - Clean up MAINTAINERS entries for suspend and hibernation (Rafael Wysocki) - Fix error code path in the KEXEC_JUMP flow and drop a redundant pm_restore_gfp_mask() call from it (Rafael Wysocki) - Rearrange suspend/resume error handling in the core device suspend and resume code (Rafael Wysocki) - Fix up white space that does not follow coding style in the hibernation core code (Darshan Rathod) - Document return values of suspend-related API functions in the runtime PM framework (Sakari Ailus) - Mark last busy stamp in multiple autosuspend-related functions in the runtime PM framework and update its documentation (Sakari Ailus) - Take active children into account in pm_runtime_get_if_in_use() for consistency (Rafael Wysocki) - Fix NULL pointer dereference in get_pd_power_uw() in the dtpm_cpu power capping driver (Sivan Zohar-Kotzer) - Add support for the Bartlett Lake platform to the Intel RAPL power capping driver (Qiao Wei) - Add PL4 support for Panther Lake to the intel_rapl_msr power capping driver (Zhang Rui) - Update contact information in the PM ABI docs and maintainer information in the power domains DT binding (Rafael Wysocki) - Update PM header inclusions to follow the IWYU (Include What You Use) principle (Andy Shevchenko) - Add flags to specify power on attach/detach for PM domains, make the driver core detach PM domains in device_unbind_cleanup(), and drop the dev_pm_domain_detach() call from the platform bus type (Claudiu Beznea) - Improve Python binding's Makefile for cpupower (John B. Wyatt IV) - Fix printing of CORE, CPU fields in cpupower-monitor (Gautham Shenoy)" * tag 'pm-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (75 commits) cpufreq: CPPC: Mark driver with NEED_UPDATE_LIMITS flag PM: docs: Use my kernel.org address in ABI docs and DT bindings PM: hibernate: Fix up white space that does not follow coding style PM: sleep: Rearrange suspend/resume error handling in the core Documentation: amd-pstate:fix minimum performance state label error PM: runtime: Take active children into account in pm_runtime_get_if_in_use() kexec_core: Drop redundant pm_restore_gfp_mask() call kexec_core: Fix error code path in the KEXEC_JUMP flow PM: sleep: Clean up MAINTAINERS entries for suspend and hibernation drivers: cpufreq: add Tegra114 support rust: cpumask: Replace `MaybeUninit` and `mem::zeroed` with `Opaque` APIs cpufreq: Exit governor when failed to start old governor cpufreq: Move the check of cpufreq_driver->get into cpufreq_verify_current_freq() cpufreq: Init policy->rwsem before it may be possibly used cpufreq: Initialize cpufreq-based frequency-invariance later cpufreq: Remove duplicate check in __cpufreq_offline() cpufreq: Contain scaling_cur_freq.attr in cpufreq_attrs cpufreq: intel_pstate: Add Granite Rapids support in no-HWP mode cpufreq: intel_pstate: Always use HWP_DESIRED_PERF in passive mode PM / devfreq: Add HiSilicon uncore frequency scaling driver ...
2 parents ae388ed + 40c2819 commit 53edfec

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1403
-455
lines changed

Documentation/ABI/testing/sysfs-class-devfreq

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,12 @@ Description:
132132

133133
A list of governors that support the node:
134134
- simple_ondemand
135+
136+
What: /sys/class/devfreq/.../related_cpus
137+
Date: June 2025
138+
Contact: Linux power management list <[email protected]>
139+
Description: The list of CPUs whose performance is closely related to the
140+
frequency of this devfreq domain.
141+
142+
This file is only present if a specific devfreq device is
143+
closely associated with a subset of CPUs.

Documentation/ABI/testing/sysfs-devices-power

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
What: /sys/devices/.../power/
22
Date: January 2009
3-
Contact: Rafael J. Wysocki <[email protected]>
3+
Contact: Rafael J. Wysocki <[email protected]>
44
Description:
55
The /sys/devices/.../power directory contains attributes
66
allowing the user space to check and modify some power
77
management related properties of given device.
88

99
What: /sys/devices/.../power/wakeup
1010
Date: January 2009
11-
Contact: Rafael J. Wysocki <[email protected]>
11+
Contact: Rafael J. Wysocki <[email protected]>
1212
Description:
1313
The /sys/devices/.../power/wakeup attribute allows the user
1414
space to check if the device is enabled to wake up the system
@@ -34,7 +34,7 @@ Description:
3434

3535
What: /sys/devices/.../power/control
3636
Date: January 2009
37-
Contact: Rafael J. Wysocki <[email protected]>
37+
Contact: Rafael J. Wysocki <[email protected]>
3838
Description:
3939
The /sys/devices/.../power/control attribute allows the user
4040
space to control the run-time power management of the device.
@@ -53,7 +53,7 @@ Description:
5353

5454
What: /sys/devices/.../power/async
5555
Date: January 2009
56-
Contact: Rafael J. Wysocki <[email protected]>
56+
Contact: Rafael J. Wysocki <[email protected]>
5757
Description:
5858
The /sys/devices/.../async attribute allows the user space to
5959
enable or disable the device's suspend and resume callbacks to
@@ -79,7 +79,7 @@ Description:
7979

8080
What: /sys/devices/.../power/wakeup_count
8181
Date: September 2010
82-
Contact: Rafael J. Wysocki <[email protected]>
82+
Contact: Rafael J. Wysocki <[email protected]>
8383
Description:
8484
The /sys/devices/.../wakeup_count attribute contains the number
8585
of signaled wakeup events associated with the device. This
@@ -90,7 +90,7 @@ Description:
9090

9191
What: /sys/devices/.../power/wakeup_active_count
9292
Date: September 2010
93-
Contact: Rafael J. Wysocki <[email protected]>
93+
Contact: Rafael J. Wysocki <[email protected]>
9494
Description:
9595
The /sys/devices/.../wakeup_active_count attribute contains the
9696
number of times the processing of wakeup events associated with
@@ -102,7 +102,7 @@ Description:
102102

103103
What: /sys/devices/.../power/wakeup_abort_count
104104
Date: February 2012
105-
Contact: Rafael J. Wysocki <[email protected]>
105+
Contact: Rafael J. Wysocki <[email protected]>
106106
Description:
107107
The /sys/devices/.../wakeup_abort_count attribute contains the
108108
number of times the processing of a wakeup event associated with
@@ -114,7 +114,7 @@ Description:
114114

115115
What: /sys/devices/.../power/wakeup_expire_count
116116
Date: February 2012
117-
Contact: Rafael J. Wysocki <[email protected]>
117+
Contact: Rafael J. Wysocki <[email protected]>
118118
Description:
119119
The /sys/devices/.../wakeup_expire_count attribute contains the
120120
number of times a wakeup event associated with the device has
@@ -126,7 +126,7 @@ Description:
126126

127127
What: /sys/devices/.../power/wakeup_active
128128
Date: September 2010
129-
Contact: Rafael J. Wysocki <[email protected]>
129+
Contact: Rafael J. Wysocki <[email protected]>
130130
Description:
131131
The /sys/devices/.../wakeup_active attribute contains either 1,
132132
or 0, depending on whether or not a wakeup event associated with
@@ -138,7 +138,7 @@ Description:
138138

139139
What: /sys/devices/.../power/wakeup_total_time_ms
140140
Date: September 2010
141-
Contact: Rafael J. Wysocki <[email protected]>
141+
Contact: Rafael J. Wysocki <[email protected]>
142142
Description:
143143
The /sys/devices/.../wakeup_total_time_ms attribute contains
144144
the total time of processing wakeup events associated with the
@@ -149,7 +149,7 @@ Description:
149149

150150
What: /sys/devices/.../power/wakeup_max_time_ms
151151
Date: September 2010
152-
Contact: Rafael J. Wysocki <[email protected]>
152+
Contact: Rafael J. Wysocki <[email protected]>
153153
Description:
154154
The /sys/devices/.../wakeup_max_time_ms attribute contains
155155
the maximum time of processing a single wakeup event associated
@@ -161,7 +161,7 @@ Description:
161161

162162
What: /sys/devices/.../power/wakeup_last_time_ms
163163
Date: September 2010
164-
Contact: Rafael J. Wysocki <[email protected]>
164+
Contact: Rafael J. Wysocki <[email protected]>
165165
Description:
166166
The /sys/devices/.../wakeup_last_time_ms attribute contains
167167
the value of the monotonic clock corresponding to the time of
@@ -173,7 +173,7 @@ Description:
173173

174174
What: /sys/devices/.../power/wakeup_prevent_sleep_time_ms
175175
Date: February 2012
176-
Contact: Rafael J. Wysocki <[email protected]>
176+
Contact: Rafael J. Wysocki <[email protected]>
177177
Description:
178178
The /sys/devices/.../wakeup_prevent_sleep_time_ms attribute
179179
contains the total time the device has been preventing
@@ -203,7 +203,7 @@ Description:
203203

204204
What: /sys/devices/.../power/pm_qos_resume_latency_us
205205
Date: March 2012
206-
Contact: Rafael J. Wysocki <[email protected]>
206+
Contact: Rafael J. Wysocki <[email protected]>
207207
Description:
208208
The /sys/devices/.../power/pm_qos_resume_latency_us attribute
209209
contains the PM QoS resume latency limit for the given device,
@@ -223,7 +223,7 @@ Description:
223223

224224
What: /sys/devices/.../power/pm_qos_latency_tolerance_us
225225
Date: January 2014
226-
Contact: Rafael J. Wysocki <[email protected]>
226+
Contact: Rafael J. Wysocki <[email protected]>
227227
Description:
228228
The /sys/devices/.../power/pm_qos_latency_tolerance_us attribute
229229
contains the PM QoS active state latency tolerance limit for the
@@ -248,7 +248,7 @@ Description:
248248

249249
What: /sys/devices/.../power/pm_qos_no_power_off
250250
Date: September 2012
251-
Contact: Rafael J. Wysocki <[email protected]>
251+
Contact: Rafael J. Wysocki <[email protected]>
252252
Description:
253253
The /sys/devices/.../power/pm_qos_no_power_off attribute
254254
is used for manipulating the PM QoS "no power off" flag. If
@@ -263,7 +263,7 @@ Description:
263263

264264
What: /sys/devices/.../power/runtime_status
265265
Date: April 2010
266-
Contact: Rafael J. Wysocki <[email protected]>
266+
Contact: Rafael J. Wysocki <[email protected]>
267267
Description:
268268
The /sys/devices/.../power/runtime_status attribute contains
269269
the current runtime PM status of the device, which may be

Documentation/ABI/testing/sysfs-power

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
What: /sys/power/
22
Date: August 2006
3-
Contact: Rafael J. Wysocki <[email protected]>
3+
Contact: Rafael J. Wysocki <[email protected]>
44
Description:
55
The /sys/power directory will contain files that will
66
provide a unified interface to the power management
77
subsystem.
88

99
What: /sys/power/state
1010
Date: November 2016
11-
Contact: Rafael J. Wysocki <[email protected]>
11+
Contact: Rafael J. Wysocki <[email protected]>
1212
Description:
1313
The /sys/power/state file controls system sleep states.
1414
Reading from this file returns the available sleep state
@@ -23,7 +23,7 @@ Description:
2323

2424
What: /sys/power/mem_sleep
2525
Date: November 2016
26-
Contact: Rafael J. Wysocki <[email protected]>
26+
Contact: Rafael J. Wysocki <[email protected]>
2727
Description:
2828
The /sys/power/mem_sleep file controls the operating mode of
2929
system suspend. Reading from it returns the available modes
@@ -41,7 +41,7 @@ Description:
4141

4242
What: /sys/power/disk
4343
Date: September 2006
44-
Contact: Rafael J. Wysocki <[email protected]>
44+
Contact: Rafael J. Wysocki <[email protected]>
4545
Description:
4646
The /sys/power/disk file controls the operating mode of the
4747
suspend-to-disk mechanism. Reading from this file returns
@@ -90,7 +90,7 @@ Description:
9090

9191
What: /sys/power/image_size
9292
Date: August 2006
93-
Contact: Rafael J. Wysocki <[email protected]>
93+
Contact: Rafael J. Wysocki <[email protected]>
9494
Description:
9595
The /sys/power/image_size file controls the size of the image
9696
created by the suspend-to-disk mechanism. It can be written a
@@ -107,7 +107,7 @@ Description:
107107

108108
What: /sys/power/pm_trace
109109
Date: August 2006
110-
Contact: Rafael J. Wysocki <[email protected]>
110+
Contact: Rafael J. Wysocki <[email protected]>
111111
Description:
112112
The /sys/power/pm_trace file controls the code which saves the
113113
last PM event point in the RTC across reboots, so that you can
@@ -156,7 +156,7 @@ Description:
156156

157157
What: /sys/power/pm_async
158158
Date: January 2009
159-
Contact: Rafael J. Wysocki <[email protected]>
159+
Contact: Rafael J. Wysocki <[email protected]>
160160
Description:
161161
The /sys/power/pm_async file controls the switch allowing the
162162
user space to enable or disable asynchronous suspend and resume
@@ -169,7 +169,7 @@ Description:
169169

170170
What: /sys/power/wakeup_count
171171
Date: July 2010
172-
Contact: Rafael J. Wysocki <[email protected]>
172+
Contact: Rafael J. Wysocki <[email protected]>
173173
Description:
174174
The /sys/power/wakeup_count file allows user space to put the
175175
system into a sleep state while taking into account the
@@ -184,7 +184,7 @@ Description:
184184

185185
What: /sys/power/reserved_size
186186
Date: May 2011
187-
Contact: Rafael J. Wysocki <[email protected]>
187+
Contact: Rafael J. Wysocki <[email protected]>
188188
Description:
189189
The /sys/power/reserved_size file allows user space to control
190190
the amount of memory reserved for allocations made by device
@@ -198,7 +198,7 @@ Description:
198198

199199
What: /sys/power/autosleep
200200
Date: April 2012
201-
Contact: Rafael J. Wysocki <[email protected]>
201+
Contact: Rafael J. Wysocki <[email protected]>
202202
Description:
203203
The /sys/power/autosleep file can be written one of the strings
204204
returned by reads from /sys/power/state. If that happens, a
@@ -215,7 +215,7 @@ Description:
215215

216216
What: /sys/power/wake_lock
217217
Date: February 2012
218-
Contact: Rafael J. Wysocki <[email protected]>
218+
Contact: Rafael J. Wysocki <[email protected]>
219219
Description:
220220
The /sys/power/wake_lock file allows user space to create
221221
wakeup source objects and activate them on demand (if one of
@@ -242,7 +242,7 @@ Description:
242242

243243
What: /sys/power/wake_unlock
244244
Date: February 2012
245-
Contact: Rafael J. Wysocki <[email protected]>
245+
Contact: Rafael J. Wysocki <[email protected]>
246246
Description:
247247
The /sys/power/wake_unlock file allows user space to deactivate
248248
wakeup sources created with the help of /sys/power/wake_lock.
@@ -283,7 +283,7 @@ Description:
283283

284284
What: /sys/power/pm_debug_messages
285285
Date: July 2017
286-
Contact: Rafael J. Wysocki <[email protected]>
286+
Contact: Rafael J. Wysocki <[email protected]>
287287
Description:
288288
The /sys/power/pm_debug_messages file controls the printing
289289
of debug messages from the system suspend/hiberbation

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5000,6 +5000,18 @@
50005000
that number, otherwise (e.g., 'pmu_override=on'), MMCR1
50015001
remains 0.
50025002

5003+
pm_async= [PM]
5004+
Format: off
5005+
This parameter sets the initial value of the
5006+
/sys/power/pm_async sysfs knob at boot time.
5007+
If set to "off", disables asynchronous suspend and
5008+
resume of devices during system-wide power transitions.
5009+
This can be useful on platforms where device
5010+
dependencies are not well-defined, or for debugging
5011+
power management issues. Asynchronous operations are
5012+
enabled by default.
5013+
5014+
50035015
pm_debug_messages [SUSPEND,KNL]
50045016
Enable suspend/resume debug messages during boot up.
50055017

Documentation/admin-guide/pm/amd-pstate.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ to manage each performance update behavior. ::
7272
Lowest non- | | | |
7373
linear perf ------>+-----------------------+ +-----------------------+
7474
| | | |
75-
| | Lowest perf ---->| |
75+
| | Min perf ---->| |
7676
| | | |
7777
Lowest perf ------>+-----------------------+ +-----------------------+
7878
| | | |

Documentation/admin-guide/pm/cpufreq.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,9 @@ policy limits change after that.
398398

399399
This governor does not do anything by itself. Instead, it allows user space
400400
to set the CPU frequency for the policy it is attached to by writing to the
401-
``scaling_setspeed`` attribute of that policy.
401+
``scaling_setspeed`` attribute of that policy. Though the intention may be to
402+
set an exact frequency for the policy, the actual frequency may vary depending
403+
on hardware coordination, thermal and power limits, and other factors.
402404

403405
``schedutil``
404406
-------------

Documentation/devicetree/bindings/power/power-domain.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
77
title: Generic PM domains
88

99
maintainers:
10-
- Rafael J. Wysocki <[email protected]>
10+
- Rafael J. Wysocki <[email protected]>
1111
- Kevin Hilman <[email protected]>
1212
- Ulf Hansson <[email protected]>
1313

Documentation/power/pm_qos_interface.rst

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,6 @@ int cpu_latency_qos_request_active(handle):
5252
Returns if the request is still active, i.e. it has not been removed from the
5353
CPU latency QoS list.
5454

55-
int cpu_latency_qos_add_notifier(notifier):
56-
Adds a notification callback function to the CPU latency QoS. The callback is
57-
called when the aggregated value for the CPU latency QoS is changed.
58-
59-
int cpu_latency_qos_remove_notifier(notifier):
60-
Removes the notification callback function from the CPU latency QoS.
61-
6255

6356
From user space:
6457

0 commit comments

Comments
 (0)