[PATCH 0/5] Always build aspm.c

From: David E. Box
Date: Sun Jan 28 2024 - 18:32:26 EST


Here is the series to always build aspm.c, add back L1SS save/restore, and
consolidate all ASPM related code in aspm.c.

Patch 1 - Moves all PCI core functions running under CONFIG_PCIEASPM into
aspm.c and changes they Makefile to always build it. No functional changes.

Patch 2 - Creates a separate function to save the L1SS offset and places it
outside of CONFIG_PCIEASPM in aspm.c so that the offset is available for
later use by the L1SS save/restore code which needs to run when
CONFIG_PCIEASPM=n.

Patch 3 - Updated L1 Substate save/restore patch from previous V5 [1].

Patch 4 - Moves the LTR save/restore state functions into aspm.c outside of
CONFIG_PCIEASPM.

Patch 5 - Moves the LTR save/restore state calls into
pci_save/restore_pcie_state().

The series does not continue any of the ASPM robustness changes proposed by
Ilpo [2]. But if we think it's worth combining with this series I can
add it and help continue the work.

[1] https://lore.kernel.org/linux-pci/20231221011250.191599-1-david.e.box@xxxxxxxxxxxxxxx/
[2] https://lore.kernel.org/linux-pci/20230918131103.24119-1-ilpo.jarvinen@xxxxxxxxxxxxxxx/

David E. Box (5):
PCI: Always build aspm.c
PCI: Create function to save L1SS offset
PCI/ASPM: Add back L1 PM Substate save and restore
PCI: Move pci_save/restore_ltr_state() to aspm.c
PCI: Call LTR save/restore state from PCIe save/restore

drivers/pci/pci.c | 91 ++++----------
drivers/pci/pci.h | 10 +-
drivers/pci/pcie/Makefile | 2 +-
drivers/pci/pcie/aspm.c | 257 ++++++++++++++++++++++++++++++++++++--
drivers/pci/probe.c | 62 +--------
include/linux/pci.h | 4 +-
6 files changed, 283 insertions(+), 143 deletions(-)


base-commit: 0dd3ee31125508cd67f7e7172247f05b7fd1753a
--
2.34.1