linux_dsm_epyc7002/arch/powerpc/platforms/pseries
Oliver O'Halloran a131bfc69b powerpc/eeh: Move PE tree setup into the platform
The EEH core has a concept of a "PE tree" to support PowerNV. The PE tree
follows the PCI bus structures because a reset asserted on an upstream
bridge will be propagated to the downstream bridges. On pseries there's a
1-1 correspondence between what the guest sees are a PHB and a PE so the
"tree" is really just a single node.

Current the EEH core is reponsible for setting up this PE tree which it
does by traversing the pci_dn tree. The structure of the pci_dn tree
matches the bus tree on PowerNV which leads to the PE tree being "correct"
this setup method doesn't make a whole lot of sense and it's actively
confusing for the pseries case where it doesn't really do anything.

We want to remove the dependence on pci_dn anyway so this patch move
choosing where to insert a new PE into the platform code rather than
being part of the generic EEH code. For PowerNV this simplifies the
tree building logic and removes the use of pci_dn. For pseries we
keep the existing logic. I'm not really convinced it does anything
due to the 1-1 PE-to-PHB correspondence so every device under that
PHB should be in the same PE, but I'd rather not remove it entirely
until we've had a chance to look at it more deeply.

Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200725081231.39076-14-oohall@gmail.com
2020-07-26 23:34:21 +10:00
..
cmm.c powerpc/pseries/cmm: fix managed page counts when migrating pages between zones 2019-12-16 23:15:16 +11:00
dlpar.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
dtl.c powerpc: pseries: no need to check return value of debugfs_create functions 2019-11-02 18:09:10 +01:00
eeh_pseries.c powerpc/eeh: Move PE tree setup into the platform 2020-07-26 23:34:21 +10:00
event_sources.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
firmware.c powerpc/pseries/svm: Allow IOMMU to work in SVM 2020-01-06 16:25:30 +11:00
hotplug-cpu.c powerpc/pseries: remove dlpar_cpu_readd() 2020-07-16 13:12:40 +10:00
hotplug-memory.c pseries: Fix 64 bit logical memory block panic 2020-07-16 13:12:45 +10:00
hvCall_inst.c powerpc: pseries: no need to check return value of debugfs_create functions 2019-11-02 18:09:10 +01:00
hvCall.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
hvconsole.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
hvcserver.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ibmebus.c powerpc/pseries: Make vio and ibmebus initcalls pseries specific 2020-06-02 22:21:31 +10:00
io_event_irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
iommu.c powerpc/pseries/ddw: Extend upper limit for huge DMA window for persistent memory 2020-04-03 12:22:47 +11:00
Kconfig powerpc/pseries: Remove redundant select of PPC_DOORBELL 2020-01-06 16:25:29 +11:00
kexec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
lpar.c powerpc/pseries: H_REGISTER_PROC_TBL should ask for GTSE only if enabled 2020-07-16 13:00:21 +10:00
lparcfg.c powerpc updates for 5.6 2020-02-04 13:06:46 +00:00
Makefile powerpc/pseries/Makefile: Remove CONFIG_PPC_PSERIES check 2020-02-19 21:07:08 +11:00
mobility.c powerpc/pseries: remove prrn special case from DT update path 2020-07-16 13:12:39 +10:00
msi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
nvram.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
of_helpers.c powerpc/pseries: Fix of_read_drc_info_cell() to point at next record 2020-03-25 12:06:43 +11:00
of_helpers.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
papr_scm.c powerpc/papr/scm: Add bad memory ranges to nvdimm bad ranges 2020-07-20 22:57:57 +10:00
pci_dlpar.c powerpc/eeh: Remove eeh_dev_phb_init_dynamic() 2020-07-26 23:34:19 +10:00
pci.c powerpc/pcidn: Make VF pci_dn management CONFIG_PCI_IOV specific 2020-01-23 21:31:19 +11:00
pmem.c powerpc/pseries: remove cede offline state for CPUs 2020-07-16 13:12:34 +10:00
power.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
pseries_energy.c powerpc/pseries: Fix drc-info mappings of logical cpus to drc-index 2019-11-13 16:57:57 +11:00
pseries.h powerpc/pseries: Read TLB Block Invalidate Characteristics 2019-09-24 19:58:42 +10:00
ras.c powerpc/pseries: Machine check use rtas_call_unlocked() with args on stack 2020-05-19 00:10:34 +10:00
reconfig.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
rng.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtas-fadump.c powerpc: Replace _ALIGN_DOWN() by ALIGN_DOWN() 2020-05-11 23:15:15 +10:00
rtas-fadump.h powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
scanlog.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
setup.c powerpc/watchpoint: Guest support for 2nd DAWR hcall 2020-07-26 23:34:19 +10:00
smp.c powerpc/pseries: remove cede offline state for CPUs 2020-07-16 13:12:34 +10:00
suspend.c powerpc/numa: remove start/stop_topology_update() 2020-07-16 13:12:38 +10:00
svm.c powerpc/pseries/svm: Force SWIOTLB for secure guests 2019-08-30 09:55:41 +10:00
vio.c powerpc/pseries: Make vio and ibmebus initcalls pseries specific 2020-06-02 22:21:31 +10:00
vphn.c powerpc/vphn: Check for error from hcall_vphn 2020-03-04 22:44:30 +11:00