linux/drivers/pci/controller
Linus Torvalds cc7343724e Surgery of the MSI interrupt handling to prepare the support of upcoming
devices which require non-PCI based MSI handling.
 
   - Cleanup historical leftovers all over the place
 
   - Rework the code to utilize more core functionality
 
   - Wrap XEN PCI/MSI interrupts into an irqdomain to make irqdomain
     assignment to PCI devices possible.
 
   - Assign irqdomains to PCI devices at initialization time which allows
     to utilize the full functionality of hierarchical irqdomains.
 
   - Remove arch_.*_msi_irq() functions from X86 and utilize the irqdomain
     which is assigned to the device for interrupt management.
 
   - Make the arch_.*_msi_irq() support conditional on a config switch and
     let the last few users select it.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAl+EUxcTHHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYoagLEACGp5U7a4mk24GsOZJDhrua1PHR/fhb
 enn/5yOPpxDXdYmtFHIjV5qrNjDTV/WqDlI96KOi+oinG1Eoj0O/MA1AcSRhp6nf
 jVdAuK1X0DHDUTEeTAP0JFwqd2j0KlIOphBrIMgeWIf1CRKlYiJaO+ioF9fKgwZ/
 /HigOTSykGYMPggm3JXnWTWtJkKSGFxeADBvVHt5RpVmbWtrI4YoSBxKEMtvjyeM
 5+GsqbCad1CnFYTN74N+QWVGmgGnUWGEzWsPYnJ9hW+yyjad1kWx3n6NcCWhssaC
 E4vAXl6JuCPntL7jBFkbfUkQsgq12ThMZYWpCq8pShJA9O2tDKkxIGasHWrIt4cz
 nYrESiv6hM7edjtOvBc086Gd0A2EyGOM879goHyaNVaTO4rI6jfZG7PlW1HHWibS
 mf/bdTXBtULGNgEt7T8Qnb8sZ+D01WqzLrq/wm645jIrTzvNHUEpOhT1aH/g4TFQ
 cNHD5PcM9OTmiBir9srNd47+1s2mpfwdMYHKBt2QgiXMO8fRgdtr6WLQE4vJjmG8
 sA0yGGsgdTKeg2wW1ERF1pWL0Lt05Iaa42Skm0D3BwcOG2n5ltkBHzVllto9cTUh
 kIldAOgxGE6QeCnnlrnbHz5mvzt/3Ih/PIKqPSUAC94Kx1yvVHRYuOvDExeO8DFB
 P+f0TkrscZObSg==
 =JlqV
 -----END PGP SIGNATURE-----

Merge tag 'x86-irq-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 irq updates from Thomas Gleixner:
 "Surgery of the MSI interrupt handling to prepare the support of
  upcoming devices which require non-PCI based MSI handling:

   - Cleanup historical leftovers all over the place

   - Rework the code to utilize more core functionality

   - Wrap XEN PCI/MSI interrupts into an irqdomain to make irqdomain
     assignment to PCI devices possible.

   - Assign irqdomains to PCI devices at initialization time which
     allows to utilize the full functionality of hierarchical
     irqdomains.

   - Remove arch_.*_msi_irq() functions from X86 and utilize the
     irqdomain which is assigned to the device for interrupt management.

   - Make the arch_.*_msi_irq() support conditional on a config switch
     and let the last few users select it"

* tag 'x86-irq-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (40 commits)
  PCI: MSI: Fix Kconfig dependencies for PCI_MSI_ARCH_FALLBACKS
  x86/apic/msi: Unbreak DMAR and HPET MSI
  iommu/amd: Remove domain search for PCI/MSI
  iommu/vt-d: Remove domain search for PCI/MSI[X]
  x86/irq: Make most MSI ops XEN private
  x86/irq: Cleanup the arch_*_msi_irqs() leftovers
  PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable
  x86/pci: Set default irq domain in pcibios_add_device()
  iommm/amd: Store irq domain in struct device
  iommm/vt-d: Store irq domain in struct device
  x86/xen: Wrap XEN MSI management into irqdomain
  irqdomain/msi: Allow to override msi_domain_alloc/free_irqs()
  x86/xen: Consolidate XEN-MSI init
  x86/xen: Rework MSI teardown
  x86/xen: Make xen_msi_init() static and rename it to xen_hvm_msi_init()
  PCI/MSI: Provide pci_dev_has_special_msi_domain() helper
  PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI
  irqdomain/msi: Provide DOMAIN_BUS_VMD_MSI
  x86/irq: Initialize PCI/MSI domain at PCI init time
  x86/pci: Reducde #ifdeffery in PCI init code
  ...
2020-10-12 11:40:41 -07:00
..
cadence Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
dwc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mobiveil Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
Kconfig PCI/MSI: Make arch_.*_msi_irq[s] fallbacks selectable 2020-09-16 16:52:37 +02:00
Makefile PCI: xilinx-cpm: Add Versal CPM Root Port driver 2020-08-05 17:09:15 -05:00
pci-aardvark.c Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
pci-ftpci100.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pci-host-common.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pci-host-generic.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-hyperv-intf.c PCI: hv: Add a Hyper-V PCI interface driver for software backchannel interface 2019-08-22 00:25:12 -07:00
pci-hyperv.c x86/msi: Use generic MSI domain ops 2020-09-16 16:52:35 +02:00
pci-loongson.c Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
pci-mvebu.c Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
pci-rcar-gen2.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pci-tegra.c Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
pci-thunder-ecam.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-thunder-pem.c PCI: host-generic: Eliminate pci_host_common_probe wrappers 2020-05-07 09:29:43 +01:00
pci-v3-semi.c Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
pci-versatile.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pci-xgene-msi.c PCI: Remove dev_err() when handing an error from platform_get_irq() 2020-08-03 09:26:03 -05:00
pci-xgene.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pcie-altera-msi.c Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
pcie-altera.c Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
pcie-brcmstb.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc-msi: Fix __iomem annotation in decode_msi_hwirq() 2019-10-17 11:01:24 +01:00
pcie-iproc-platform.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pcie-iproc.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pcie-iproc.h PCI: iproc: Use pci_host_probe() to register host 2020-07-10 11:50:23 +01:00
pcie-mediatek.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
pcie-rcar-ep.c PCI: rcar: Add endpoint mode support 2020-05-22 12:35:32 +01:00
pcie-rcar-host.c Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
pcie-rcar.c PCI: rcar: Fix calculating mask for PCIEPAMR register 2020-05-11 11:29:48 +01:00
pcie-rcar.h PCI: rcar: Add endpoint mode support 2020-05-22 12:35:32 +01:00
pcie-rockchip-ep.c PCI: Fix kerneldoc warnings 2020-08-05 18:23:14 -05:00
pcie-rockchip-host.c PCI: rockchip: Fix bus checks in rockchip_pcie_valid_device() 2020-09-08 16:52:42 -05:00
pcie-rockchip.c PCI: controller: Convert to devm_platform_ioremap_resource_byname() 2020-07-10 11:50:23 +01:00
pcie-rockchip.h PCI: rockchip: Use pci_is_root_bus() to check if bus is root bus 2020-07-23 11:20:50 +01:00
pcie-tango.c PCI: Remove dev_err() when handing an error from platform_get_irq() 2020-08-03 09:26:03 -05:00
pcie-xilinx-cpm.c Merge branch 'pci/host-probe-refactor' 2020-08-05 18:24:21 -05:00
pcie-xilinx-nwl.c Merge branch 'pci/irq-error' 2020-08-05 18:24:22 -05:00
pcie-xilinx.c PCI: Set bridge map_irq and swizzle_irq to default functions 2020-08-04 16:36:30 +01:00
vmd.c PCI_vmd_Mark_VMD_irqdomain_with_DOMAIN_BUS_VMD_MSI 2020-09-16 16:52:36 +02:00