[PATCH 0/5] Always build aspm.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux