linux-stable/drivers/pci
Jean-Philippe Brucker 85aabbd7b3 PCI/MSI: Fix MSIs for generic hosts that use device-tree's "msi-map"
Since commit 9ec37efb87 ("PCI/MSI: Make pci_host_common_probe() declare
its reliance on MSI domains"), platforms that rely on the "msi-map"
device-tree property don't get MSIs anymore.

On the Arm Fast Model for example [1], the host bridge doesn't have a
"msi-parent" property since it doesn't itself generate MSIs, and so doesn't
get a MSI domain. It has an "msi-map" property instead to describe MSI
controllers of child devices. As a result, due to the new msi_domain check
in pci_register_host_bridge(), the whole bus gets PCI_BUS_FLAGS_NO_MSI.

Check whether the root complex has an "msi-map" property before giving
up on MSIs.

[1] arch/arm64/boot/dts/arm/fvp-base-revc.dts

Fixes: 9ec37efb87 ("PCI/MSI: Make pci_host_common_probe() declare its reliance on MSI domains")
Link: https://lore.kernel.org/r/20210510173129.750496-1-jean-philippe@linaro.org
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Marc Zyngier <maz@kernel.org>
2021-05-25 18:37:37 -05:00
..
controller pci-v5.13-changes 2021-05-05 13:24:11 -07:00
endpoint Merge branch 'remotes/lorenzo/pci/endpoint' 2021-05-04 10:43:27 -05:00
hotplug more s390 updates for 5.13 merge window 2021-05-06 14:39:50 -07:00
pcie Merge branch 'pci/kernel-doc' 2021-05-04 10:43:24 -05:00
switch PCI: switchtec: Add missing __iomem tag to fix sparse warnings 2020-07-31 11:23:45 -05:00
access.c Merge branch 'pci/misc' 2020-08-05 18:24:16 -05:00
ats.c PCI: Fix kernel-doc errors 2021-03-11 17:37:20 -06:00
bus.c
ecam.c PCI: Unify ECAM constants in native PCI Express drivers 2020-12-10 14:55:49 -06:00
host-bridge.c
iov.c PCI/IOV: Add sysfs MSI-X vector assignment interface 2021-04-04 10:26:30 +03:00
irq.c PCI: Remove unused pci_lost_interrupt() 2020-07-29 14:25:18 -05:00
Kconfig pci-v5.10-changes 2020-10-22 12:41:00 -07:00
Makefile PCI: Apply CONFIG_PCI_DEBUG to entire drivers/pci hierarchy 2021-02-09 15:10:20 -06:00
mmap.c
msi.c PCI/MSI: Document the various ways of ending up with NO_MSI 2021-04-20 14:11:22 +01:00
of.c PCI/MSI: Fix MSIs for generic hosts that use device-tree's "msi-map" 2021-05-25 18:37:37 -05:00
p2pdma.c RDMA 5.11 pull request 2020-12-16 13:42:26 -08:00
pci-acpi.c PCI/ACPI: Fix acpi_pci_set_power_state() debug message 2021-04-01 14:54:43 -05:00
pci-bridge-emul.c PCI: pci-bridge-emul: Fix array overruns, improve safety 2021-02-17 17:25:31 -06:00
pci-bridge-emul.h
pci-driver.c Merge branch 'pci/misc' 2020-12-15 15:11:08 -06:00
pci-label.c PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions 2021-04-29 10:07:31 -05:00
pci-mid.c
pci-pf-stub.c PCI/IOV: Simplify pci-pf-stub with module_pci_driver() 2020-09-17 12:40:20 -05:00
pci-stub.c
pci-sysfs.c pci-v5.13-changes 2021-05-05 13:24:11 -07:00
pci.c pci-v5.13-changes 2021-05-05 13:24:11 -07:00
pci.h pci-v5.13-changes 2021-05-05 13:24:11 -07:00
probe.c PCI/MSI: Fix MSIs for generic hosts that use device-tree's "msi-map" 2021-05-25 18:37:37 -05:00
proc.c PCI: Revoke mappings like devmem 2021-02-11 15:59:19 +01:00
quirks.c Merge branch 'remotes/lorenzo/pci/msi' 2021-05-04 10:43:30 -05:00
remove.c PCI/sysfs: Convert "reset" to static attribute 2021-04-27 17:53:20 -05:00
rom.c
search.c PCI: Remove WARN_ON(in_interrupt()) 2021-02-10 16:46:29 -06:00
setup-bus.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
setup-irq.c
setup-res.c PCI: Decline to resize resources if boot config must be preserved 2021-01-12 16:39:52 -06:00
slot.c Merge branch 'pci/misc' 2020-12-15 15:11:08 -06:00
syscall.c PCI: Align checking of syscall user config accessors 2021-01-27 10:41:59 -06:00
vc.c PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
vpd.c Merge branch 'pci/sysfs' 2021-05-04 10:43:23 -05:00
xen-pcifront.c swiotlb: remove swiotlb_nr_tbl 2021-03-19 04:58:25 +00:00