summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2019-08-12 09:21:30 +0200
committerArthur Heymans <arthur@aheymans.xyz>2019-08-13 10:50:51 +0000
commit08456363f2e30980fa40556bea1c8b0d7e69f7ec (patch)
tree523b77399c62143d2a7f546fe744967a6d514da3
parent15063e8819f2f218033a3b43cbc73963634ff145 (diff)
nb/intel/gm45: Don't create DMAR tables for disabled IGD
Change-Id: Ia9b74cfb8b68240e87d7adfa28d37db408edb519 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34836 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
-rw-r--r--src/northbridge/intel/gm45/acpi.c5
1 files changed, 4 insertions, 1 deletions
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);