提交 52966bd1 编写于 作者: J Jon Derrick 提交者: Bjorn Helgaas

PCI/ACPI: Allow all PCIe services on non-ACPI host bridges

Host bridges we discover via ACPI, i.e., PNP0A03 and PNP0A08 devices, may
have an _OSC method by which the OS can ask the platform for control of
PCIe features like native hotplug, power management events, AER, etc.

Previously, if we found a bridge without an ACPI device, we assumed we did
not have permission to use any of these PCIe features.  That seems
unreasonably restrictive.

If we find no ACPI device, assume we can take control of all PCIe features.

The Intel Volume Management Device (VMD) is one such bridge with no ACPI
device.  Prior to this change, users had to boot with "pcie_ports=native"
to get hotplug and other services to work below the VMD Root Port.

[bhelgaas: changelog]
Suggested-by: NBjorn Helgaas <helgaas@kernel.org>
Signed-off-by: NJon Derrick <jonathan.derrick@intel.com>
Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
上级 9735a227
......@@ -43,11 +43,11 @@ int pcie_port_acpi_setup(struct pci_dev *port, int *srv_mask)
handle = acpi_find_root_bridge_handle(port);
if (!handle)
return -EINVAL;
return 0;
root = acpi_pci_find_root(handle);
if (!root)
return -ENODEV;
return 0;
flags = root->osc_control_set;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册