soc/amd/common/data_fabric/domain: report non-PCI MMIO resources

Call read_non_pci_resources from amd_pci_domain_read_resources to tell
the resource allocator about the non-PCI MMIO regions within the data
fabric MMIO regions so that the allocator won't place any PCI MMIO in
the same areas.

TEST=On Mandolin 3 new non-PCI resources get reported to the allocator:
avoid_fixed_resources: DOMAIN: 0000 04 base fd100000 limit fd1fffff mem (fixed)
avoid_fixed_resources: DOMAIN: 0000 05 base fd000000 limit fd0fffff mem (fixed)
avoid_fixed_resources: DOMAIN: 0000 20000120 base fec01000 limit fec01fff mem (fixed)

Signed-off-by: Felix Held <felix-coreboot@felixheld.de>
Change-Id: I7f69b86e376e3368d4f156ccf93791cc00886489
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76599
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Felix Held 2023-07-14 19:41:06 +02:00
parent c1be66ee60
commit 32169720bb
2 changed files with 4 additions and 0 deletions

View File

@ -7,6 +7,7 @@ config SOC_AMD_COMMON_BLOCK_DATA_FABRIC
config SOC_AMD_COMMON_BLOCK_DATA_FABRIC_DOMAIN config SOC_AMD_COMMON_BLOCK_DATA_FABRIC_DOMAIN
bool bool
depends on SOC_AMD_COMMON_BLOCK_DATA_FABRIC depends on SOC_AMD_COMMON_BLOCK_DATA_FABRIC
select SOC_AMD_COMMON_BLOCK_ROOT_COMPLEX
help help
Select this option to add functionality to the build to tell the Select this option to add functionality to the build to tell the
resource allocator about the MMIO regions configured in the data resource allocator about the MMIO regions configured in the data

View File

@ -3,6 +3,7 @@
#include <acpi/acpigen.h> #include <acpi/acpigen.h>
#include <amdblocks/cpu.h> #include <amdblocks/cpu.h>
#include <amdblocks/data_fabric.h> #include <amdblocks/data_fabric.h>
#include <amdblocks/root_complex.h>
#include <arch/ioapic.h> #include <arch/ioapic.h>
#include <arch/vga.h> #include <arch/vga.h>
#include <console/console.h> #include <console/console.h>
@ -159,6 +160,8 @@ void amd_pci_domain_read_resources(struct device *domain)
add_io_regions(domain, &idx); add_io_regions(domain, &idx);
add_data_fabric_mmio_regions(domain, &idx); add_data_fabric_mmio_regions(domain, &idx);
read_non_pci_resources(domain, &idx);
} }
static void write_ssdt_domain_io_producer_range_helper(const char *domain_name, static void write_ssdt_domain_io_producer_range_helper(const char *domain_name,