PCI: vmd: Honor ACPI _OSC on PCIe features
authorKai-Heng Feng <kai.heng.feng@canonical.com>
Fri, 3 Dec 2021 03:15:41 +0000 (11:15 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 4 Jan 2022 15:25:27 +0000 (15:25 +0000)
commit04b12ef163d10e348db664900ae7f611b83c7a0e
tree3a2eca6ac8a7fbf58293e5e9f9767e4a3ed16689
parent6aab5622296b990024ee67dd7efa7d143e7558d0
PCI: vmd: Honor ACPI _OSC on PCIe features

When Samsung PCIe Gen4 NVMe is connected to Intel ADL VMD, the
combination causes AER message flood and drags the system performance
down.

The issue doesn't happen when VMD mode is disabled in BIOS, since AER
isn't enabled by acpi_pci_root_create() . When VMD mode is enabled, AER
is enabled regardless of _OSC:
[    0.410076] acpi PNP0A08:00: _OSC: platform does not support [AER]
...
[    1.486704] pcieport 10000:e0:06.0: AER: enabled with IRQ 146

Since VMD is an aperture to regular PCIe root ports, honor ACPI _OSC to
disable PCIe features accordingly to resolve the issue.

Suggested-by: Rafael J. Wysocki <rafael@kernel.org>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=215027
Link: https://lore.kernel.org/r/20211203031541.1428904-1-kai.heng.feng@canonical.com
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/pci/controller/vmd.c