Commit cc734372 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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
  ...
parents c457cc80 981aa1d3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ config IA64
	select NEED_DMA_MAP_STATE
	select NEED_SG_DMA_LENGTH
	select NUMA if !FLATMEM
	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
	default y
	help
	  The Itanium Processor Family is Intel's 64-bit successor to
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@ config MIPS
	select MODULES_USE_ELF_REL if MODULES
	select MODULES_USE_ELF_RELA if MODULES && 64BIT
	select PERF_USE_VMALLOC
	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
	select RTC_LIB
	select SYSCTL_EXCEPTION_TRACE
	select VIRT_TO_BUS
+1 −0
Original line number Diff line number Diff line
@@ -245,6 +245,7 @@ config PPC
	select OLD_SIGACTION			if PPC32
	select OLD_SIGSUSPEND
	select PCI_DOMAINS			if PCI
	select PCI_MSI_ARCH_FALLBACKS		if PCI_MSI
	select PCI_SYSCALL			if PCI
	select PPC_DAWR				if PPC64
	select RTC_LIB
+1 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ config S390
	select OLD_SIGSUSPEND3
	select PCI_DOMAINS		if PCI
	select PCI_MSI			if PCI
	select PCI_MSI_ARCH_FALLBACKS	if PCI_MSI
	select SPARSE_IRQ
	select SYSCTL_EXCEPTION_TRACE
	select THREAD_INFO_IN_TASK
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ config SPARC
	select GENERIC_STRNLEN_USER
	select MODULES_USE_ELF_RELA
	select PCI_SYSCALL if PCI
	select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
	select ODD_RT_SIGACTION
	select OLD_SIGSUSPEND
	select CPU_NO_EFFICIENT_FFS
Loading