[SRU] [L/M/Unstable] [PATCH 0/9] Enable ASPM for NVMe behind VMD

Kai-Heng Feng kai.heng.feng at canonical.com
Wed Sep 6 07:54:12 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2034504

[Impact]
ASPM of NVMe behind VMD is not enabled when BIOS FADT doesn't allow ASPM
to be modified.
That causes higher overall power consumption.

[Fix]
Allow ASPM to be enabled.
While at this, remove old cruft that can interfere upstream VMD driver.

[Test]
Check the value of `/sys/kernel/debug/pmc_core/slp_s0_residency_usec`.
Now system can reach deepest power saving state during sleep.

[Where problems could occur]
Some NVMe may have I/O issue when ASPM is enabled. But for this scenario
the issue will also appear when VMD is disabled.

David E. Box (3):
  PCI: vmd: Use PCI_VDEVICE in device list
  PCI: vmd: Create feature grouping for client products
  PCI: vmd: Add quirk to configure PCIe ASPM and LTR

Kai-Heng Feng (5):
  Revert "UBUNTU: SAUCE: vmd: fixup bridge ASPM by driver name instead"
  Revert "UBUNTU: SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD"
  Revert "UBUNTU: SAUCE: PCI/ASPM: Enable ASPM for links under VMD
    domain"
  UBUNTU: SAUCE: PCI/ASPM: Allow ASPM override over FADT default
  UBUNTU: SAUCE: PCI: vmd: Mark ASPM override for device behind VMD
    bridge

Michael Bottini (1):
  PCI/ASPM: Add pci_enable_link_state()

 drivers/pci/controller/vmd.c | 100 ++++++++++++++++++++++++++---------
 drivers/pci/pcie/aspm.c      |  54 +++++++++++++++++++
 drivers/pci/quirks.c         |  68 ------------------------
 include/linux/pci.h          |   7 +++
 4 files changed, 135 insertions(+), 94 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list