linux/drivers/pci/controller
Nam Cao 5149bbb56b PCI: vmd: Remove MSI-X check on child devices
d7d8ab87e3 ("PCI: vmd: Switch to msi_create_parent_irq_domain()") added a
WARN_ON sanity check that child devices support MSI-X, because VMD document
says [1]:

  Intel VMD only supports MSIx Interrupts from child devices and therefore
  the BIOS must enable PCIe Hot Plug and MSIx interrups [sic].

However, the VMD device can't even tell the difference between a child
device using MSI and one using MSI-X.  Per 185a383ada ("x86/PCI: Add
driver for Intel Volume Management Device (VMD)"), VMD does not support
INTx interrupts, but does support child devices using either MSI or MSI-X.

Remove the sanity check to avoid the WARN_ON and allow child devices to use
MSI, reported by Ammar.

Fixes: d7d8ab87e3 ("PCI: vmd: Switch to msi_create_parent_irq_domain()")
Link: https://cdrdv2-public.intel.com/776857/VMD_White_Paper.pdf [1]
Reported-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Closes: https://lore.kernel.org/linux-pci/aJXYhfc%2F6DfcqfqF@linux.gnuweeb.org/
Signed-off-by: Nam Cao <namcao@linutronix.de>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Link: https://patch.msgid.link/20250811053935.4049211-1-namcao@linutronix.de
2025-08-12 13:45:01 -05:00
..
cadence PCI: cadence: Replace private message routing enums with PCI core definitions 2025-06-19 18:20:39 +05:30
dwc Merge branch 'pci/controller/sophgo' 2025-07-31 16:12:17 -05:00
mobiveil PCI: mobiveil: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:02 -05:00
plda Merge branch 'pci/controller/linkup-fix' 2025-07-31 16:11:47 -05:00
Kconfig PCI: vmd: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
Makefile
pci-aardvark.c PCI: aardvark: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:15 -05:00
pci-ftpci100.c PCI: Switch to irq_domain_create_linear() 2025-05-16 21:06:10 +02:00
pci-host-common.c pci-v6.17-changes 2025-08-01 13:59:07 -07:00
pci-host-common.h PCI: host-generic: Rename and export gen_pci_init() for PCIe controller drivers 2025-07-01 20:01:26 +05:30
pci-host-generic.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-hyperv-intf.c PCI: hv: Fix warnings for missing export.h header inclusion 2025-07-09 23:46:06 +00:00
pci-hyperv.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-07-24 11:10:46 -07:00
pci-ixp4xx.c
pci-loongson.c
pci-mvebu.c PCI: mvebu: Use devm_add_action_or_reset() instead of devm_add_action() 2025-07-23 22:02:50 +05:30
pci-rcar-gen2.c
pci-tegra.c PCI: tegra: Convert to MSI parent infrastructure 2025-05-16 21:32:20 +02:00
pci-thunder-ecam.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-thunder-pem.c PCI: host-common: Convert to library for host controller drivers 2025-05-30 12:21:57 -05:00
pci-v3-semi.c
pci-versatile.c
pci-xgene-msi.c PCI: xgene-msi: Restructure handler setup/teardown 2025-07-22 15:33:16 -05:00
pci-xgene.c PCI: xgene: Drop XGENE_PCIE_IP_VER_UNKN 2025-07-22 15:33:16 -05:00
pcie-altera-msi.c PCI: altera-msi: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:15 -05:00
pcie-altera.c PCI: controller: Use dev_fwnode() instead of of_fwnode_handle() 2025-07-24 16:00:47 -05:00
pcie-apple.c PCI: apple: Add tracking of probed root ports 2025-06-30 12:29:05 -05:00
pcie-brcmstb.c Merge branch 'pci/misc' 2025-07-31 16:12:19 -05:00
pcie-hisi-error.c
pcie-iproc-bcma.c
pcie-iproc-msi.c PCI: iproc: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-iproc-platform.c
pcie-iproc.c
pcie-iproc.h
pcie-mediatek-gen3.c PCI: mediatek-gen3: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-mediatek.c PCI: mediatek: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-mt7621.c PCI: mt7621: Use helper function for_each_available_child_of_node_scoped() 2025-03-06 09:31:45 +00:00
pcie-rcar-ep.c PCI: endpoint: Align pci_epc_set_msi(), pci_epc_ops::set_msi() nr_irqs encoding 2025-05-28 16:47:56 -05:00
pcie-rcar-host.c PCI: rcar-host: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-rcar.c
pcie-rcar.h
pcie-rockchip-ep.c PCI: rockchip: Use standard PCIe definitions 2025-07-07 17:19:12 -05:00
pcie-rockchip-host.c Merge branch 'pci/controller/rockchip-host' 2025-07-31 16:12:17 -05:00
pcie-rockchip.c PCI: rockchip: Refactor rockchip_pcie_disable_clocks() signature 2025-01-15 18:24:12 +00:00
pcie-rockchip.h PCI: rockchip: Use standard PCIe definitions 2025-07-07 17:19:12 -05:00
pcie-xilinx-common.h
pcie-xilinx-cpm.c PCI: Switch to irq_domain_create_linear() 2025-05-16 21:06:10 +02:00
pcie-xilinx-dma-pl.c PCI: xilinx-xdma: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-xilinx-nwl.c PCI: xilinx-nwl: Switch to msi_create_parent_irq_domain() 2025-07-24 16:24:16 -05:00
pcie-xilinx.c PCI: xilinx: Fix NULL pointer dereference in xilinx_pcie_intr_handler() 2025-08-12 11:31:24 -05:00
vmd.c PCI: vmd: Remove MSI-X check on child devices 2025-08-12 13:45:01 -05:00