Re: [PATCH v6 00/11] Improvements to S5 power consumption

Mario Limonciello
2025-09-03T04:41:56Z

On 8/17/2025 9:00 PM, Mario Limonciello (AMD) wrote:
> A variety of issues both in function and in power consumption have been
> raised as a result of devices not being put into a low power state when
> the system is powered off.
>
> There have been some localized changes[1] to PCI core to help these issues,
> but they have had various downsides.
>
> This series instead tries to use the S4 flow when the system is being
> powered off. This lines up the behavior with what other operating systems
> do as well. If for some reason that fails or is not supported, run their
> shutdown() callbacks.
>
> Cc: AceLan Kao <acelan.kao@canonical.com>
> Cc: Kai-Heng Feng <kaihengf@nvidia.com>
> Cc: Mark Pearson <mpearson-lenovo@squebb.ca>
> Cc: Merthan Karakaş <m3rthn.k@gmail.com>
> Cc: Eric Naim <dnaim@cachyos.org>
> ---
> v5->v6:
> * Fix for LKP robot issue
> * Some commit message changes
> * Rebase on 6.17-rc2
>
> Mario Limonciello (AMD) (11):
> PM: Introduce new PMSG_POWEROFF event
> scsi: Add PM_EVENT_POWEROFF into suspend callbacks
> usb: sl811-hcd: Add PM_EVENT_POWEROFF into suspend callbacks
> USB: Pass PMSG_POWEROFF event to suspend_common() for poweroff with S4
> flow
> PCI: PM: Disable device wakeups when halting system through S4 flow
> PCI: PM: Split out code from pci_pm_suspend_noirq() into helper
> PCI: PM: Run bridge power up actions as part of restore phase
> PCI: PM: Use pci_power_manageable() in pci_pm_poweroff_noirq()
> PCI: Put PCIe bridges with downstream devices into D3 at hibernate
> drm/amd: Avoid evicting resources at S5
> PM: Use hibernate flows for system power off
>
> drivers/base/power/main.c | 7 ++
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 +
> drivers/pci/pci-driver.c | 99 +++++++++++++++-------
> drivers/scsi/mesh.c | 1 +
> drivers/scsi/stex.c | 1 +
> drivers/usb/core/hcd-pci.c | 11 ++-
> drivers/usb/host/sl811-hcd.c | 1 +
> include/linux/pm.h | 5 +-
> include/trace/events/power.h | 3 +-
> kernel/reboot.c | 6 ++
> 10 files changed, 103 insertions(+), 35 deletions(-)
>

Rafael, Bjorn,

Any feedback for this series?

Thanks,