[PATCH 0/1][SRU][Jammy] vmd: fixup bridge ASPM by driver name

You-Sheng Yang vicamo.yang at canonical.com
Mon Apr 11 09:24:07 UTC 2022


From: "You-Sheng Yang (vicamo)" <vicamo.yang at canonical.com>

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

[Impact]

VMD PCI-E bridges on ADL-M/P/S use new device IDs and therefore not
covered by previous LTR reset fix in bug 1896598.

[Fix]

Additional entires to vmd_bridge_tbl in drivers/pci/quirks.c is
required:
* ADL-M: [8086:464d]
* ADL-P: [8086:51b0]
* ADL-S: [8086:7ab4]

However, from the document there is no complete/limited set of potential
IDs. Instead, every assigned value for VMD capable platforms can be the
device ID for PCI bridges behind VMD controller, because these PCI
bridges are moved from the system root bus into VMD domain.

This Ubuntu sauced patch removes matching table and check if a bridge is
attached to a vmd module driven device.

[Test Case]

$ sudo lspci -vvn | grep -E '^(1|\s+LnkCtl:)'
...
10000:e0:1d.4 0604: 8086:7ab4 (rev 10) (prog-if 00 [Normal decode])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+
10000:e1:00.0 0108: 8086:0975 (rev 03) (prog-if 02 [NVM Express])
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes Disabled- CommClk+

[Where problems could occur]

This will reset zeroed PCI_LTR_MAX_SNOOP_LAT and PCI_LTR_MAX_NOSNOOP_LAT
values to a fixed 3145728ns that is used on Windows. Devices might want
to set itself to a smaller value, but while this is not yet correctly
supported by VMD controller driver, so the device power consumption
might be little worse than ideal.

[Other Info]

VMD ASPM was first supported for Tiger Lake cpus, so all kernel versions
newer than 5.6 should have already the supporting function. This patch
targets Alder Lake cpus that are supported since 5.13-oem and on.

You-Sheng Yang (1):
  UBUNTU: SAUCE: vmd: fixup bridge ASPM by driver name instead

 drivers/pci/quirks.c | 32 +++++++++++++++++++++++---------
 1 file changed, 23 insertions(+), 9 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list