[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fae52bad-b78f-4518-989f-9624c6a749d8@linaro.org>
Date: Tue, 8 Jul 2025 15:58:22 +0100
From: Tudor Ambarus <tudor.ambarus@...aro.org>
To: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: Jonathan Corbet <corbet@....net>, Pavel Machek <pavel@...nel.org>,
Len Brown <len.brown@...el.com>, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
peter.griffin@...aro.org, andre.draszik@...aro.org, willmcvicker@...gle.com,
kernel-team@...roid.com
Subject: Re: [PATCH] PM: add kernel parameter to disable asynchronous
suspend/resume
On 7/8/25 3:38 PM, Rafael J. Wysocki wrote:
> On Tue, Jul 8, 2025 at 4:28 PM Tudor Ambarus <tudor.ambarus@...aro.org> wrote:
>>
>> On some platforms, device dependencies are not properly represented by
>> device links, which can cause issues when asynchronous power management
>> is enabled. While it is possible to disable this via sysfs, doing so
>> at runtime can race with the first system suspend event.
>>
>> This patch introduces a kernel command-line parameter, "pm_async", which
>> can be set to "off" to globally disable asynchronous suspend and resume
>> operations from early boot. This provides a robust way to fall back to
>> synchronous (sequential) operation, which can stabilize platforms with
>> problematic dependencies and also serve as a useful debugging tool.
>>
>> The default behavior remains unchanged (asynchronous enabled). To disable
>> it, boot the kernel with the "pm_async=off" parameter.
>
> IIUC, this effectively is a way to change the initial value of the
> existing pm_async sysfs knob.
>
> Might be worth mentioning in the changelog.
>
Right. Will update shortly.
>> Signed-off-by: Tudor Ambarus <tudor.ambarus@...aro.org>
>> ---
>> Dealing with the pixel6 downstream drivers to cope with the changes from
>> https://lore.kernel.org/linux-pm/10629535.nUPlyArG6x@rjwysocki.net/.
>>
>> Similar to what people already reported it seems pixel6 lacks proper
>> device links dependencies downstream causing i2c and spi client drivers
>> to fail to suspend. Add kernel param to disable async suspend/resume.
>> ---
>> Documentation/admin-guide/kernel-parameters.txt | 9 +++++++++
>> kernel/power/main.c | 9 +++++++++
>> 2 files changed, 18 insertions(+)
>>
>> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
>> index f1f2c0874da9ddfc95058c464fdf5dabaf0de713..55ba3e747d86c09a0696e105a1d9cd99218f0c07 100644
>> --- a/Documentation/admin-guide/kernel-parameters.txt
>> +++ b/Documentation/admin-guide/kernel-parameters.txt
>> @@ -5000,6 +5000,15 @@
>> that number, otherwise (e.g., 'pmu_override=on'), MMCR1
>> remains 0.
>>
>> + pm_async [PM]
>> + If set to "off", disables asynchronous suspend and
>> + resume of devices during system-wide power transitions.
>> + This can be useful on platforms where device
>> + dependencies are not well-defined, or for debugging
>> + power management issues. Defaults to "on" (asynchronous
>> + operations enabled).
>
> And here too because it is now unclear how this relates to the pm_sync
> under /sys/power/.
Sounds good.
Powered by blists - more mailing lists