Felix Held has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/80407?usp=email )
Change subject: soc/amd/common/data_fabric/domain: don't report DRAM as MMIO producer ......................................................................
soc/amd/common/data_fabric/domain: don't report DRAM as MMIO producer
In commit 30f36c35e75a ("soc/amd: rework DRAM and fixed resource reporting") the reporting of the DRAM resources was moved from the northbridge PCI device to the domain device. amd_pci_domain_fill_ssdt didn't skip those DRAM resources when generation the resource producer ranges which made Windows 10 very unhappy when it tried to evaluating the ACPI tables causing it to reboot in a loop. To fix this, add a check to also skip the resources that have the IORESOURCE_CACHEABLE flag set when generating the resource producer ranges for the PCI root.
TEST=Windows 10 now successfully boots and reboots again on Mandolin
Signed-off-by: Felix Held felix-coreboot@felixheld.de Change-Id: I7b6d3fd8c7f89aa4364de7963d745aef8d6b6f42 --- M src/soc/amd/common/block/data_fabric/domain.c 1 file changed, 3 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/80407/1
diff --git a/src/soc/amd/common/block/data_fabric/domain.c b/src/soc/amd/common/block/data_fabric/domain.c index f5d7216..128d39b 100644 --- a/src/soc/amd/common/block/data_fabric/domain.c +++ b/src/soc/amd/common/block/data_fabric/domain.c @@ -281,6 +281,9 @@ devices */ if ((res->flags & IORESOURCE_RESERVE)) continue; + /* Don't add MMIO producer ranges for DRAM regions */ + if (res->flags & IORESOURCE_CACHEABLE) + continue; switch (res->flags & IORESOURCE_TYPE_MASK) { case IORESOURCE_IO: write_ssdt_domain_io_producer_range(acpi_device_name(domain),