From 08456363f2e30980fa40556bea1c8b0d7e69f7ec Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Mon, 12 Aug 2019 09:21:30 +0200 Subject: [PATCH] nb/intel/gm45: Don't create DMAR tables for disabled IGD Change-Id: Ia9b74cfb8b68240e87d7adfa28d37db408edb519 Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/c/coreboot/+/34836 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph Reviewed-by: Angel Pons --- src/northbridge/intel/gm45/acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/northbridge/intel/gm45/acpi.c b/src/northbridge/intel/gm45/acpi.c index 69ebdd7b75..ef152db213 100644 --- a/src/northbridge/intel/gm45/acpi.c +++ b/src/northbridge/intel/gm45/acpi.c @@ -74,6 +74,9 @@ static unsigned long acpi_fill_dmar(unsigned long current) dev = pcidev_on_root(3, 0); int me_active = dev && dev->enabled; + dev = pcidev_on_root(2, 0); + int igd_active = dev && dev->enabled; + int stepping = pci_read_config8(pcidev_on_root(0, 0), PCI_CLASS_REVISION); @@ -82,7 +85,7 @@ static unsigned long acpi_fill_dmar(unsigned long current) current += acpi_create_dmar_ds_pci(current, 0, 0x1b, 0); acpi_dmar_drhd_fixup(tmp, current); - if (stepping != STEPPING_B2) { + if (stepping != STEPPING_B2 && igd_active) { tmp = current; current += acpi_create_dmar_drhd(current, 0, 0, IOMMU_BASE2); current += acpi_create_dmar_ds_pci(current, 0, 0x2, 0);