From 2c707160a92ebb36577b886db6dc9a5ac8770163 Mon Sep 17 00:00:00 2001 From: Marc Jones Date: Sat, 31 Oct 2020 15:29:14 -0600 Subject: soc/intel/xeon_sp/acpi: Fix uncore dsdt for multiple cpus Fix the asl to use CONFIG_MAX_CPUS to create entries for multiple cpu uncores. Don't add the RTxx resource entries multiple times. The function is called for each CPUs. Change-Id: Ia4eb9716ae4bd72fb4eb98649105be629623cbef Signed-off-by: Marc Jones Reviewed-on: https://review.coreboot.org/c/coreboot/+/47060 Reviewed-by: Jay Talbott Reviewed-by: Stefan Reinauer Tested-by: build bot (Jenkins) --- src/soc/intel/xeon_sp/skx/soc_acpi.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/soc/intel/xeon_sp/skx/soc_acpi.c') diff --git a/src/soc/intel/xeon_sp/skx/soc_acpi.c b/src/soc/intel/xeon_sp/skx/soc_acpi.c index df2550c54a..b3926193da 100644 --- a/src/soc/intel/xeon_sp/skx/soc_acpi.c +++ b/src/soc/intel/xeon_sp/skx/soc_acpi.c @@ -104,6 +104,10 @@ void uncore_inject_dsdt(const struct device *device) const IIO_UDS *hob = fsp_find_extension_hob_by_guid(uds_guid, &hob_size); assert(hob != NULL && hob_size != 0); + /* Only add RTxx entries once. */ + if (device->bus->secondary != 0) + return; + acpigen_write_scope("\\_SB"); for (int socket = 0; socket < hob->PlatformData.numofIIO; ++socket) { IIO_RESOURCE_INSTANCE iio_resource = -- cgit v1.2.3