linux_dsm_epyc7002/drivers/pci
Oliver O'Halloran b6eebb093c powerpc/eeh: Make early EEH init pseries specific
The eeh_ops->probe() function is called from two different contexts:

1. On pseries, where we set EEH_PROBE_MODE_DEVTREE, it's called in
   eeh_add_device_early() which is supposed to run before we create
   a pci_dev.

2. On PowerNV, where we set EEH_PROBE_MODE_DEV, it's called in
   eeh_device_add_late() which is supposed to run *after* the
   pci_dev is created.

The "early" probe is required because PAPR requires that we perform an RTAS
call to enable EEH support on a device before we start interacting with it
via config space or MMIO. This requirement doesn't exist on PowerNV and
shoehorning two completely separate initialisation paths into a common
interface just results in a convoluted code everywhere.

Additionally the early probe requires the probe function to take an pci_dn
rather than a pci_dev argument. We'd like to make pci_dn a pseries specific
data structure since there's no real requirement for them on PowerNV. To
help both goals move the early probe into the pseries containment zone
so the platform depedence is more explicit.

Reviewed-by: Sam Bobroff <sbobroff@linux.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200306073904.4737-5-oohall@gmail.com
2020-03-25 12:09:39 +11:00
..
controller treewide: remove redundant IS_ERR() before error code check 2020-02-04 03:05:27 +00:00
endpoint
hotplug powerpc/eeh: Make early EEH init pseries specific 2020-03-25 12:09:39 +11:00
pcie PCI/AER: Initialize aer_fifo 2020-01-23 16:40:03 -06:00
switch PCI/switchtec: Add Gen4 device IDs 2020-01-15 11:00:40 -06:00
access.c
ats.c pci-v5.6-fixes-1 2020-02-06 14:17:38 +00:00
bus.c
ecam.c
host-bridge.c
iov.c PCI/IOV: Fix memory leak in pci_iov_add_virtfn() 2019-12-09 15:51:32 -06:00
irq.c
Kconfig
Makefile
mmap.c
msi.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
of.c
p2pdma.c PCI/P2PDMA: Add Intel SkyLake-E to the whitelist 2019-12-10 15:15:51 -06:00
pci-acpi.c
pci-bridge-emul.c
pci-bridge-emul.h
pci-driver.c
pci-label.c
pci-mid.c
pci-pf-stub.c
pci-stub.c
pci-sysfs.c
pci.c IOMMU Updates for Linux v5.6 2020-02-05 17:49:54 +00:00
pci.h PCI: Fix pci_add_dma_alias() bitmask size 2019-12-18 12:21:16 -06:00
probe.c
proc.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
quirks.c pci-v5.6-changes 2020-01-31 14:48:54 -08:00
remove.c
rom.c
search.c Merge branch 'pci/host-vmd' 2020-01-29 17:00:02 -06:00
setup-bus.c PCI: Allow adjust_bridge_window() to shrink resource if necessary 2020-01-29 16:57:28 -06:00
setup-irq.c
setup-res.c
slot.c
syscall.c
vc.c
vpd.c
xen-pcifront.c