[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJZ5v0hJjbp0qBZh1Jj3hVHrZV1CLeCgrOVseSGS+7=1r7onYA@mail.gmail.com>
Date: Fri, 11 Jul 2025 15:40:21 +0200
From: "Rafael J. Wysocki" <rafael@...nel.org>
To: Tudor Ambarus <tudor.ambarus@...aro.org>
Cc: Jonathan Corbet <corbet@....net>, "Rafael J. Wysocki" <rafael@...nel.org>, 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, rdunlap@...radead.org
Subject: Re: [PATCH v3] PM: add kernel parameter to disable asynchronous suspend/resume
On Fri, Jul 11, 2025 at 3:21 PM Tudor Ambarus <tudor.ambarus@...aro.org> wrote:
>
>
>
> On 7/9/25 1:31 PM, Tudor Ambarus 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. It effectively provides a way to set the
> > initial value of the existing pm_async sysfs knob at boot time. This
> > offers a robust method 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.
> >
> > 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.
> > ---
> > Changes in v3:
> > - update documentation with "pm_async=" and "Format: off" (Randy)
> > - reword documentation to make it clear "on" isn't a selectable option
> > for pm_async because it's the default behavior.
> > - Link to v2: https://lore.kernel.org/r/20250708-pm-async-off-v2-1-7fada54f01c0@linaro.org
> >
> > Changes in v2:
> > - update the documentation and the commit message to describe that the
> > "pm_async" kernel parameter provides a way to change the initial value
> > of the existing /sys/power/pm_async sysfs knob.
> > - Link to v1: https://lore.kernel.org/r/20250708-pm-async-off-v1-1-1b200cc03d9c@linaro.org
> > ---
> > Documentation/admin-guide/kernel-parameters.txt | 12 ++++++++++++
> > kernel/power/main.c | 9 +++++++++
> > 2 files changed, 21 insertions(+)
> >
> > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> > index f1f2c0874da9ddfc95058c464fdf5dabaf0de713..06beacf208de3242a3b4bb2413ab6cd3e0083f15 100644
> > --- a/Documentation/admin-guide/kernel-parameters.txt
> > +++ b/Documentation/admin-guide/kernel-parameters.txt
> > @@ -5000,6 +5000,18 @@
> > that number, otherwise (e.g., 'pmu_override=on'), MMCR1
> > remains 0.
> >
> > + pm_async= [PM]
> > + Format: off
> > + This parameter sets the initial value of the
> > + /sys/power/pm_async sysfs knob at boot time.
> > + 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. Asynchronous operations are
> > + enabled by default.
> > +
> > +
>
> I just noticed an extra new line here, that checkpatch didn't catch.
> Please let me know if I have to resubmit, or it can be amended
> when/if applied.
No worries, I've already applied the patch.
The extra new line can be removed separately.
Thanks!
Powered by blists - more mailing lists