diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-15 15:46:48 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-15 15:46:48 -0500 |
commit | 0ab7b12c49b6fbf2d4d0381374b82935f949be5f (patch) | |
tree | 7a1b48e644638c6a0a275e65715d8db37d20c88e /drivers/pci/hotplug/acpiphp_glue.c | |
parent | a9a16a6d136593c9e6f72e481b2b86ae1d8d1fce (diff) | |
parent | b08d2e61a6f9ebf5210a047868362a5a4ff37144 (diff) |
Merge tag 'pci-v4.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"PCI changes:
- add support for PCI on ARM64 boxes with ACPI. We already had this
for theoretical spec-compliant hardware; now we're adding quirks
for the actual hardware (Cavium, HiSilicon, Qualcomm, X-Gene)
- add runtime PM support for hotplug ports
- enable runtime suspend for Intel UHCI that uses platform-specific
wakeup signaling
- add yet another host bridge registration interface. We hope this is
extensible enough to subsume the others
- expose device revision in sysfs for DRM
- to avoid device conflicts, make sure any VF BAR updates are done
before enabling the VF
- avoid unnecessary link retrains for ASPM
- allow INTx masking on Mellanox devices that support it
- allow access to non-standard VPD for Chelsio devices
- update Broadcom iProc support for PAXB v2, PAXC v2, inbound DMA,
etc
- update Rockchip support for max-link-speed
- add NVIDIA Tegra210 support
- add Layerscape LS1046a support
- update R-Car compatibility strings
- add Qualcomm MSM8996 support
- remove some uninformative bootup messages"
* tag 'pci-v4.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (115 commits)
PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3)
PCI: Expand "VPD access disabled" quirk message
PCI: pciehp: Remove loading message
PCI: hotplug: Remove hotplug core message
PCI: Remove service driver load/unload messages
PCI/AER: Log AER IRQ when claiming Root Port
PCI/AER: Log errors with PCI device, not PCIe service device
PCI/AER: Remove unused version macros
PCI/PME: Log PME IRQ when claiming Root Port
PCI/PME: Drop unused support for PMEs from Root Complex Event Collectors
PCI: Move config space size macros to pci_regs.h
x86/platform/intel-mid: Constify mid_pci_platform_pm
PCI/ASPM: Don't retrain link if ASPM not possible
PCI: iproc: Skip check for legacy IRQ on PAXC buses
PCI: pciehp: Leave power indicator on when enabling already-enabled slot
PCI: pciehp: Prioritize data-link event over presence detect
PCI: rcar: Add gen3 fallback compatibility string for pcie-rcar
PCI: rcar: Use gen2 fallback compatibility last
PCI: rcar-gen2: Use gen2 fallback compatibility last
PCI: rockchip: Move the deassert of pm/aclk/pclk after phy_init()
..
Diffstat (limited to 'drivers/pci/hotplug/acpiphp_glue.c')
-rw-r--r-- | drivers/pci/hotplug/acpiphp_glue.c | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index a46b585fae31..5ed2dcaa8e27 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c | |||
@@ -222,35 +222,6 @@ static void acpiphp_post_dock_fixup(struct acpi_device *adev) | |||
222 | acpiphp_let_context_go(context); | 222 | acpiphp_let_context_go(context); |
223 | } | 223 | } |
224 | 224 | ||
225 | /* Check whether the PCI device is managed by native PCIe hotplug driver */ | ||
226 | static bool device_is_managed_by_native_pciehp(struct pci_dev *pdev) | ||
227 | { | ||
228 | u32 reg32; | ||
229 | acpi_handle tmp; | ||
230 | struct acpi_pci_root *root; | ||
231 | |||
232 | /* Check whether the PCIe port supports native PCIe hotplug */ | ||
233 | if (pcie_capability_read_dword(pdev, PCI_EXP_SLTCAP, ®32)) | ||
234 | return false; | ||
235 | if (!(reg32 & PCI_EXP_SLTCAP_HPC)) | ||
236 | return false; | ||
237 | |||
238 | /* | ||
239 | * Check whether native PCIe hotplug has been enabled for | ||
240 | * this PCIe hierarchy. | ||
241 | */ | ||
242 | tmp = acpi_find_root_bridge_handle(pdev); | ||
243 | if (!tmp) | ||
244 | return false; | ||
245 | root = acpi_pci_find_root(tmp); | ||
246 | if (!root) | ||
247 | return false; | ||
248 | if (!(root->osc_control_set & OSC_PCI_EXPRESS_NATIVE_HP_CONTROL)) | ||
249 | return false; | ||
250 | |||
251 | return true; | ||
252 | } | ||
253 | |||
254 | /** | 225 | /** |
255 | * acpiphp_add_context - Add ACPIPHP context to an ACPI device object. | 226 | * acpiphp_add_context - Add ACPIPHP context to an ACPI device object. |
256 | * @handle: ACPI handle of the object to add a context to. | 227 | * @handle: ACPI handle of the object to add a context to. |
@@ -334,7 +305,7 @@ static acpi_status acpiphp_add_context(acpi_handle handle, u32 lvl, void *data, | |||
334 | * expose slots to user space in those cases. | 305 | * expose slots to user space in those cases. |
335 | */ | 306 | */ |
336 | if ((acpi_pci_check_ejectable(pbus, handle) || is_dock_device(adev)) | 307 | if ((acpi_pci_check_ejectable(pbus, handle) || is_dock_device(adev)) |
337 | && !(pdev && device_is_managed_by_native_pciehp(pdev))) { | 308 | && !(pdev && pdev->is_hotplug_bridge && pciehp_is_native(pdev))) { |
338 | unsigned long long sun; | 309 | unsigned long long sun; |
339 | int retval; | 310 | int retval; |
340 | 311 | ||