[PATCH] iommu/vt-d: Disable DMAR for Intel Q35 IGFX

From: Naval Alcalá

Date: Fri Apr 10 2026 - 12:23:37 EST


Intel Q35 integrated graphics (8086:29b2) exhibits broken DMAR
behaviour similar to other G4x/GM45 devices for which DMAR is
already disabled via quirks.

When DMAR is enabled, the system may hard lock up during boot or
early device initialization, requiring a reset.

This issue has been reported multiple times and remains
unresolved:
Link: https://lore.kernel.org/linux-iommu/20161205215841.GA20819@beast/
Link: https://bugzilla.kernel.org/show_bug.cgi?id=201185
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216064

Add the missing PCI ID to the existing quirk list to disable
DMAR for this device.

Signed-off-by: Naval Alcalá <ari@xxxxxxxxx>
---
drivers/iommu/intel/iommu.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index ef7613b177b9..8df0692e1fed 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -3933,6 +3933,9 @@ static void quirk_iommu_igfx(struct pci_dev *dev)
disable_igfx_iommu = 1;
}

+/* Q35 integrated gfx dmar support is totally busted. */
+DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x29b2, quirk_iommu_igfx);
+
/* G4x/GM45 integrated gfx dmar support is totally busted. */
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e00, quirk_iommu_igfx);
--
2.51.0