
The PCI/PCIe subsystem improvements have been merged for the ongoing Linux 7.4 merge window.
The PCI changes this cycle aren't too particularly notable. There are a lot of core patches and a number of device specific enhancements, but nothing overly too exciting. One change that did stand out and worth mentioning is around improving power management during the Linux hibernation process.
Linux's hibernate poweroff flow is now aligned with its suspend flow for PCI(e) bridges so they can be powered down during the hibernation process. This aligns with the behavior of Linux suspend handling but bridges previously weren't covered during the hibernate process.
AMD Linux engineer Mario Limonciello explained in the patch message about the change:
"During S3 suspend, pci_pm_suspend_noirq() puts PCIe bridges with downstream devices into a low-power state (D3hot or D3cold) when the platform allows it. The hibernate poweroff_noirq path never did this: it only called pci_prepare_to_sleep() for devices with no subordinate, so bridges with active children were left in D0.On many designs the platform firmware leaves bridges alone when the system enters S4. This prevents being able to meet various energy certification criteria for different parts of the world, particularly in designs with a dGPU."
So this change ends up being important for improving power management and helping ensure energy certifications with Linux hibernate behavior.
The full list of PCI changes for Linux 7.4 via this pull request.