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:
		| @@ -7,6 +7,7 @@ config SOC_AMD_COMMON_BLOCK_DATA_FABRIC | ||||
| config SOC_AMD_COMMON_BLOCK_DATA_FABRIC_DOMAIN | ||||
| 	bool | ||||
| 	depends on SOC_AMD_COMMON_BLOCK_DATA_FABRIC | ||||
| 	select SOC_AMD_COMMON_BLOCK_ROOT_COMPLEX | ||||
| 	help | ||||
| 	  Select this option to add functionality to the build to tell the | ||||
| 	  resource allocator about the MMIO regions configured in the data | ||||
|   | ||||
| @@ -3,6 +3,7 @@ | ||||
| #include <acpi/acpigen.h> | ||||
| #include <amdblocks/cpu.h> | ||||
| #include <amdblocks/data_fabric.h> | ||||
| #include <amdblocks/root_complex.h> | ||||
| #include <arch/ioapic.h> | ||||
| #include <arch/vga.h> | ||||
| #include <console/console.h> | ||||
| @@ -159,6 +160,8 @@ void amd_pci_domain_read_resources(struct device *domain) | ||||
| 	add_io_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, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user