nb/amd/pi/00730F01/northbridge: skip IVRS when IOMMU is disabled

Don't generate the IVRS ACPI table if the IOMMU PCI device isn't enabled
in the devicetree.

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I5e7f976011da92c0ca69decdca7aa77de24b6a2a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79677
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
This commit is contained in:
Felix Held 2023-12-18 22:19:25 +01:00 committed by Matt DeVillier
commit c0113106fa

View file

@ -437,12 +437,14 @@ static unsigned long agesa_write_acpi_tables(const struct device *device,
current += ((acpi_header_t *)current)->length;
/* IVRS */
current = ALIGN_UP(current, 8);
printk(BIOS_DEBUG, "ACPI: * IVRS at %lx\n", current);
ivrs = (acpi_ivrs_t *)current;
acpi_create_ivrs(ivrs, acpi_fill_ivrs);
current += ivrs->header.length;
acpi_add_table(rsdp, ivrs);
if (is_dev_enabled(DEV_PTR(iommu))) {
current = ALIGN_UP(current, 8);
printk(BIOS_DEBUG, "ACPI: * IVRS at %lx\n", current);
ivrs = (acpi_ivrs_t *)current;
acpi_create_ivrs(ivrs, acpi_fill_ivrs);
current += ivrs->header.length;
acpi_add_table(rsdp, ivrs);
}
/* SRAT */
current = ALIGN_UP(current, 8);