• Linus Torvalds's avatar
    Merge tag 'x86-irq-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cc734372
    Linus Torvalds authored
    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
      ...
    cc734372
irqdomain.h 19.9 KB