[PATCH] PCI/ACPI: Decouple the negotiation of ASPM and other PCIe services

From: Yicong Yang
Date: Thu Apr 07 2022 - 09:17:50 EST


Currently we regard ASPM as a necessary PCIe service and if it's disabled
by pcie_aspm=off we cannot enable other services like AER and hotplug.
However the ASPM is just one of the PCIe services and other services
mentioned no dependency on this. So this patch decouples the negotiation
of ASPM and other PCIe services, then we can make use of other services
in the absence of ASPM.

Aaron Sierra tried to fix this originally:
https://lore.kernel.org/linux-pci/20190702201318.GC128603@xxxxxxxxxx/

Signed-off-by: Yicong Yang <yangyicong@xxxxxxxxxxxxx>
---
drivers/acpi/pci_root.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c
index 6f9e75d14808..16fa7c5a11ad 100644
--- a/drivers/acpi/pci_root.c
+++ b/drivers/acpi/pci_root.c
@@ -37,8 +37,6 @@ static int acpi_pci_root_scan_dependent(struct acpi_device *adev)
}

#define ACPI_PCIE_REQ_SUPPORT (OSC_PCI_EXT_CONFIG_SUPPORT \
- | OSC_PCI_ASPM_SUPPORT \
- | OSC_PCI_CLOCK_PM_SUPPORT \
| OSC_PCI_MSI_SUPPORT)

static const struct acpi_device_id root_device_ids[] = {
--
2.24.0