PCI/ASPM: Set only ASPM_STATE_L1 when driver enables L1
authorAjay Agarwal <ajayagarwal@google.com>
Thu, 4 May 2023 11:12:58 +0000 (16:42 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 18 May 2023 21:51:50 +0000 (16:51 -0500)
Previously pci_enable_link_state(PCIE_LINK_STATE_L1) enabled L1SS as well
as L1.  Enable only ASPM_STATE_L1 when the caller enables L1.

The only current caller is vmd_pm_enable_quirk(), which enables *all* ASPM
states, so this should have no functional effect.

[bhelgaas: commit log]
Link: https://lore.kernel.org/r/20230504111301.229358-3-ajayagarwal@google.com
Signed-off-by: Ajay Agarwal <ajayagarwal@google.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
drivers/pci/pcie/aspm.c

index 8c8352e..a341019 100644 (file)
@@ -1173,8 +1173,7 @@ int pci_enable_link_state(struct pci_dev *pdev, int state)
        if (state & PCIE_LINK_STATE_L0S)
                link->aspm_default |= ASPM_STATE_L0S;
        if (state & PCIE_LINK_STATE_L1)
-               /* L1 PM substates require L1 */
-               link->aspm_default |= ASPM_STATE_L1 | ASPM_STATE_L1SS;
+               link->aspm_default |= ASPM_STATE_L1;
        if (state & PCIE_LINK_STATE_L1_1)
                link->aspm_default |= ASPM_STATE_L1_1;
        if (state & PCIE_LINK_STATE_L1_2)