diff options
| author | Bjorn Helgaas <bhelgaas@google.com> | 2018-04-04 14:27:58 -0400 |
|---|---|---|
| committer | Bjorn Helgaas <helgaas@kernel.org> | 2018-04-04 14:27:58 -0400 |
| commit | 64ae499cf2eece26bc395184aa2c9a18aa49d199 (patch) | |
| tree | 808efedc05e071f6ca6205311643a38c07973bb8 /drivers/acpi/pci_root.c | |
| parent | ac30aa596996a1e0bf1a8ff22bbdc24edaa24772 (diff) | |
| parent | e02602bd76257e0368e4c3d4ce11a7ac86df72d2 (diff) | |
Merge branch 'pci/portdrv'
- move pcieport_if.h to drivers/pci/pcie/ to encapsulate it (Frederick
Lawler)
- merge pcieport_if.h into portdrv.h (Bjorn Helgaas)
- move workaround for BIOS PME issue from portdrv to PCI core (Bjorn
Helgaas)
- completely disable portdrv with "pcie_ports=compat" (Bjorn Helgaas)
- remove portdrv link order dependency (Bjorn Helgaas)
- remove support for unused VC portdrv service (Bjorn Helgaas)
- simplify portdrv feature permission checking (Bjorn Helgaas)
- remove "pcie_hp=nomsi" parameter (use "pci=nomsi" instead) (Bjorn
Helgaas)
- remove unnecessary "pcie_ports=auto" parameter (Bjorn Helgaas)
- use cached AER capability offset (Frederick Lawler)
- don't enable DPC if BIOS hasn't granted AER control (Mika Westerberg)
- rename pcie-dpc.c to dpc.c (Bjorn Helgaas)
* pci/portdrv:
PCI/DPC: Rename from pcie-dpc.c to dpc.c
PCI/DPC: Do not enable DPC if AER control is not allowed by the BIOS
PCI/AER: Use cached AER Capability offset
PCI/portdrv: Rename and reverse sense of pcie_ports_auto
PCI/portdrv: Encapsulate pcie_ports_auto inside the port driver
PCI/portdrv: Remove unnecessary "pcie_ports=auto" parameter
PCI/portdrv: Remove "pcie_hp=nomsi" kernel parameter
PCI/portdrv: Remove unnecessary include of <linux/pci-aspm.h>
PCI/portdrv: Simplify PCIe feature permission checking
PCI/portdrv: Remove unused PCIE_PORT_SERVICE_VC
PCI/portdrv: Remove pcie_port_bus_type link order dependency
PCI/portdrv: Disable port driver in compat mode
PCI/PM: Clear PCIe PME Status bit for Root Complex Event Collectors
PCI/PM: Clear PCIe PME Status bit in core, not PCIe port driver
PCI/PM: Move pcie_clear_root_pme_status() to core
PCI/portdrv: Merge pcieport_if.h into portdrv.h
PCI/portdrv: Move pcieport_if.h to drivers/pci/pcie/
Conflicts:
drivers/pci/pcie/Makefile
drivers/pci/pcie/portdrv.h
Diffstat (limited to 'drivers/acpi/pci_root.c')
| -rw-r--r-- | drivers/acpi/pci_root.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/acpi/pci_root.c b/drivers/acpi/pci_root.c index 12134797b374..0da18bde6a16 100644 --- a/drivers/acpi/pci_root.c +++ b/drivers/acpi/pci_root.c | |||
| @@ -873,6 +873,7 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root, | |||
| 873 | struct acpi_device *device = root->device; | 873 | struct acpi_device *device = root->device; |
| 874 | int node = acpi_get_node(device->handle); | 874 | int node = acpi_get_node(device->handle); |
| 875 | struct pci_bus *bus; | 875 | struct pci_bus *bus; |
| 876 | struct pci_host_bridge *host_bridge; | ||
| 876 | 877 | ||
| 877 | info->root = root; | 878 | info->root = root; |
| 878 | info->bridge = device; | 879 | info->bridge = device; |
| @@ -897,9 +898,17 @@ struct pci_bus *acpi_pci_root_create(struct acpi_pci_root *root, | |||
| 897 | if (!bus) | 898 | if (!bus) |
| 898 | goto out_release_info; | 899 | goto out_release_info; |
| 899 | 900 | ||
| 901 | host_bridge = to_pci_host_bridge(bus->bridge); | ||
| 902 | if (!(root->osc_control_set & OSC_PCI_EXPRESS_NATIVE_HP_CONTROL)) | ||
| 903 | host_bridge->native_hotplug = 0; | ||
| 904 | if (!(root->osc_control_set & OSC_PCI_EXPRESS_AER_CONTROL)) | ||
| 905 | host_bridge->native_aer = 0; | ||
| 906 | if (!(root->osc_control_set & OSC_PCI_EXPRESS_PME_CONTROL)) | ||
| 907 | host_bridge->native_pme = 0; | ||
| 908 | |||
| 900 | pci_scan_child_bus(bus); | 909 | pci_scan_child_bus(bus); |
| 901 | pci_set_host_bridge_release(to_pci_host_bridge(bus->bridge), | 910 | pci_set_host_bridge_release(host_bridge, acpi_pci_root_release_info, |
| 902 | acpi_pci_root_release_info, info); | 911 | info); |
| 903 | if (node != NUMA_NO_NODE) | 912 | if (node != NUMA_NO_NODE) |
| 904 | dev_printk(KERN_DEBUG, &bus->dev, "on NUMA node %d\n", node); | 913 | dev_printk(KERN_DEBUG, &bus->dev, "on NUMA node %d\n", node); |
| 905 | return bus; | 914 | return bus; |
