[PATCH 0/3] PCI/ASPM: Fix L1SS issues

From: Bjorn Helgaas
Date: Tue Oct 04 2022 - 22:58:28 EST

From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

This is really late, but I think we have two significant issues with L1SS:

1) pcie_aspm_cap_init() reads from the L1SS capability even when it
doesn't exist, so it reads PCI_COMMAND and PCI_STATUS instead and treats
those as an L1SS Capability value.

2) encode_l12_threshold() encodes LTR_L1.2_THRESHOLD as smaller than
requested, so ports may enter L1.2 when they should not.

These patches are intended to fix both issues.

Bjorn Helgaas (3):
PCI/ASPM: Factor out L1 PM Substates configuration
PCI/ASPM: Ignore L1 PM Substates if device lacks capability
PCI/ASPM: Correct LTR_L1.2_THRESHOLD computation

drivers/pci/pcie/aspm.c | 155 +++++++++++++++++++++++-----------------
1 file changed, 90 insertions(+), 65 deletions(-)