drivers/pci/pci-driver.c | 103 ++++++++++++++++++++++++++------------- 1 file changed, 69 insertions(+), 34 deletions(-)
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. It is based off 7.1-rc1 + Lukas' patch: "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 | 103 ++++++++++++++++++++++++++------------- 1 file changed, 69 insertions(+), 34 deletions(-) -- 2.43.0
On Mon, Apr 27, 2026 at 5:53 AM Mario Limonciello (AMD) <superm1@kernel.org> wrote: > > 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. > > It is based off 7.1-rc1 + Lukas' patch: > "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 | 103 ++++++++++++++++++++++++++------------- > 1 file changed, 69 insertions(+), 34 deletions(-) > > -- It would be good to CC this to linux-pm.
On 4/27/26 07:20, Rafael J. Wysocki wrote: > On Mon, Apr 27, 2026 at 5:53 AM Mario Limonciello (AMD) > <superm1@kernel.org> wrote: >> >> 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. >> >> It is based off 7.1-rc1 + Lukas' patch: >> "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 | 103 ++++++++++++++++++++++++++------------- >> 1 file changed, 69 insertions(+), 34 deletions(-) >> >> -- > > It would be good to CC this to linux-pm. Sure thing - if there is a need for a v2, I will include linux-pm in CC.
On Mon, Apr 27, 2026 at 4:14 PM Mario Limonciello <superm1@kernel.org> wrote: > > On 4/27/26 07:20, Rafael J. Wysocki wrote: > > On Mon, Apr 27, 2026 at 5:53 AM Mario Limonciello (AMD) > > <superm1@kernel.org> wrote: > >> > >> 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. > >> > >> It is based off 7.1-rc1 + Lukas' patch: > >> "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 | 103 ++++++++++++++++++++++++++------------- > >> 1 file changed, 69 insertions(+), 34 deletions(-) > >> > >> -- > > > > It would be good to CC this to linux-pm. > > Sure thing - if there is a need for a v2, I will include linux-pm in CC. The thing is, you may not know if there's a need for a v2 without resending.
On 4/27/26 10:09, Rafael J. Wysocki wrote: > On Mon, Apr 27, 2026 at 4:14 PM Mario Limonciello <superm1@kernel.org> wrote: >> >> On 4/27/26 07:20, Rafael J. Wysocki wrote: >>> On Mon, Apr 27, 2026 at 5:53 AM Mario Limonciello (AMD) >>> <superm1@kernel.org> wrote: >>>> >>>> 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. >>>> >>>> It is based off 7.1-rc1 + Lukas' patch: >>>> "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 | 103 ++++++++++++++++++++++++++------------- >>>> 1 file changed, 69 insertions(+), 34 deletions(-) >>>> >>>> -- >>> >>> It would be good to CC this to linux-pm. >> >> Sure thing - if there is a need for a v2, I will include linux-pm in CC. > > The thing is, you may not know if there's a need for a v2 without resending. I would think Lukas and Bjorn will at least have some comments and I want to give them some time before cluttering inboxes with a second copy of the series at the start of the dev cycle. How about if it looks good to them as is I'll send a v2 with their tags added for linux-pm to get a chance to see and review as well. And if they have feedback I'll incorporate and v2 will also go to linux-pm.
On Mon, Apr 27, 2026 at 5:19 PM Mario Limonciello <superm1@kernel.org> wrote: > > On 4/27/26 10:09, Rafael J. Wysocki wrote: > > On Mon, Apr 27, 2026 at 4:14 PM Mario Limonciello <superm1@kernel.org> wrote: > >> > >> On 4/27/26 07:20, Rafael J. Wysocki wrote: > >>> On Mon, Apr 27, 2026 at 5:53 AM Mario Limonciello (AMD) > >>> <superm1@kernel.org> wrote: > >>>> > >>>> 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. > >>>> > >>>> It is based off 7.1-rc1 + Lukas' patch: > >>>> "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 | 103 ++++++++++++++++++++++++++------------- > >>>> 1 file changed, 69 insertions(+), 34 deletions(-) > >>>> > >>>> -- > >>> > >>> It would be good to CC this to linux-pm. > >> > >> Sure thing - if there is a need for a v2, I will include linux-pm in CC. > > > > The thing is, you may not know if there's a need for a v2 without resending. > > I would think Lukas and Bjorn will at least have some comments and I > want to give them some time before cluttering inboxes with a second copy > of the series at the start of the dev cycle. Fair enough. > How about if it looks good to them as is I'll send a v2 with their tags > added for linux-pm to get a chance to see and review as well. > > And if they have feedback I'll incorporate and v2 will also go to linux-pm. That should work, thanks!
On Sun, Apr 26, 2026 at 10:53:36PM -0500, Mario Limonciello (AMD) wrote: > 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. > > It is based off 7.1-rc1 + Lukas' patch: > "PCI: Stop setting cached power state to "unknown" on unbind" Hi Mario, would you mind posting a v2 that includes Lukas' patch, so the whole series applies cleanly so Sashiko can go through it? I already applied Lukas' patch on pci/pm, but I guess Sashiko can't parse that dependency. > 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 | 103 ++++++++++++++++++++++++++------------- > 1 file changed, 69 insertions(+), 34 deletions(-) > > -- > 2.43.0 >
On 4/27/26 15:34, Bjorn Helgaas wrote: > On Sun, Apr 26, 2026 at 10:53:36PM -0500, Mario Limonciello (AMD) wrote: >> 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. >> >> It is based off 7.1-rc1 + Lukas' patch: >> "PCI: Stop setting cached power state to "unknown" on unbind" > > Hi Mario, would you mind posting a v2 that includes Lukas' patch, so > the whole series applies cleanly so Sashiko can go through it? > > I already applied Lukas' patch on pci/pm, but I guess Sashiko can't > parse that dependency. Bjorn, Sure. I'll repost with his patch front-loaded. I assume you'll just drop that when applying if/when everything else looks good right? FWIW, I did run review-prompts offline on the series already with Claude models so hopefully no new surprises when it runs with Google's models :P Thanks, > >> 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 | 103 ++++++++++++++++++++++++++------------- >> 1 file changed, 69 insertions(+), 34 deletions(-) >> >> -- >> 2.43.0 >>
© 2016 - 2026 Red Hat, Inc.