[PATCH v2 0/6] Improvements to PCI hibernate path

Mario Limonciello (AMD)
2026-04-27T20:50:34Z

A few cycles ago I sent out a kernel series for using the S4 paths when
the system goes to S5. Some parts of it got merged, and Rafael suggested
to split the other parts into smaller pieces across multiple kernel cycles
to make bisecting easier.

This fell into my backlog behind other things, so I wanted to try again
this cycle for the PCI pieces. I have been carrying it, rebasing it and
personally using it for a while now though.

This series attempts to unify the PCI suspend and hibernate paths and to
fix some things that I observed to be wrong with how I expect hibernate
to work.

Based off v7.1-rc1

v2:
- Include Lukas' patch from pci/pm directly in series so Sashiko can
better review.
- Include linux-pm in CC.

Lukas Wunner (1):
PCI: Stop setting cached power state to "unknown" on unbind

Mario Limonciello (AMD) (5):
PCI/PM: Disable device wakeups when halting or powering off system
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

drivers/pci/pci-driver.c | 109 +++++++++++++++++++++++++--------------
1 file changed, 69 insertions(+), 40 deletions(-)

--
2.53.0