Skip to content

Commit c4930d6

Browse files
committed
Merge branch 'pm-sleep'
Merge updates related to system sleep for 6.17-rc1: - 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) * pm-sleep: PM: hibernate: Fix up white space that does not follow coding style PM: sleep: Rearrange suspend/resume error handling in the core 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 PM: sleep: add kernel parameter to disable asynchronous suspend/resume PCI/PM: Set power.strict_midlayer in pci_pm_init() ACPI: PM: Set/clear power.strict_midlayer in prepare/complete PM: sleep: Add strict_midlayer flag to struct dev_pm_info PM: runtime: Introduce __rpm_get_driver_callback() PM: Check power.needs_force_resume in pm_runtime_force_suspend() PM: runtime: Clear power.needs_force_resume in pm_runtime_reinit() PM: Make pm_runtime_force_resume() work with DPM_FLAG_SMART_SUSPEND PM: Move two sleep-related functions under CONFIG_PM_SLEEP PM: Use true/false as power.needs_force_resume values PM: sleep: Make async suspend handle suppliers like parents PM: sleep: Make async resume handle consumers like children PM: sleep: Drop superfluous might_sleep() calls PM: sleep: console: Fix the black screen issue
2 parents 987c420 + f633c1a commit c4930d6

13 files changed

Lines changed: 268 additions & 118 deletions

File tree

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

MAINTAINERS

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9787,7 +9787,7 @@ F: fs/freevxfs/
97879787

97889788
FREEZER
97899789
M: "Rafael J. Wysocki" <rafael@kernel.org>
9790-
M: Pavel Machek <pavel@kernel.org>
9790+
R: Pavel Machek <pavel@kernel.org>
97919791
L: linux-pm@vger.kernel.org
97929792
S: Supported
97939793
F: Documentation/power/freezing-of-tasks.rst
@@ -10663,7 +10663,7 @@ F: drivers/video/fbdev/hgafb.c
1066310663

1066410664
HIBERNATION (aka Software Suspend, aka swsusp)
1066510665
M: "Rafael J. Wysocki" <rafael@kernel.org>
10666-
M: Pavel Machek <pavel@kernel.org>
10666+
R: Pavel Machek <pavel@kernel.org>
1066710667
L: linux-pm@vger.kernel.org
1066810668
S: Supported
1066910669
B: https://bugzilla.kernel.org
@@ -23938,8 +23938,8 @@ F: drivers/sh/
2393823938

2393923939
SUSPEND TO RAM
2394023940
M: "Rafael J. Wysocki" <rafael@kernel.org>
23941-
M: Len Brown <len.brown@intel.com>
23942-
M: Pavel Machek <pavel@kernel.org>
23941+
R: Len Brown <lenb@kernel.org>
23942+
R: Pavel Machek <pavel@kernel.org>
2394323943
L: linux-pm@vger.kernel.org
2394423944
S: Supported
2394523945
B: https://bugzilla.kernel.org

drivers/acpi/device_pm.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,6 +1119,8 @@ int acpi_subsys_prepare(struct device *dev)
11191119
{
11201120
struct acpi_device *adev = ACPI_COMPANION(dev);
11211121

1122+
dev_pm_set_strict_midlayer(dev, true);
1123+
11221124
if (dev->driver && dev->driver->pm && dev->driver->pm->prepare) {
11231125
int ret = dev->driver->pm->prepare(dev);
11241126

@@ -1147,6 +1149,8 @@ void acpi_subsys_complete(struct device *dev)
11471149
*/
11481150
if (pm_runtime_suspended(dev) && pm_resume_via_firmware())
11491151
pm_request_resume(dev);
1152+
1153+
dev_pm_set_strict_midlayer(dev, false);
11501154
}
11511155
EXPORT_SYMBOL_GPL(acpi_subsys_complete);
11521156

0 commit comments

Comments
 (0)