soc/intel/xeon_sp: Move uncore_inject_dsdt() call
Prepare for common ACPI code. Move uncore_inject_dsdt() to the
uncore device acpi_inject_dsdt call.
Change-Id: Ida106238690eb1af17759ba6dbe4cb94344e3a94
Signed-off-by: Marc Jones <marcjones@sysproconsulting.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/46596
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/src/soc/intel/xeon_sp/cpx/acpi.c b/src/soc/intel/xeon_sp/cpx/acpi.c
index 658c951..5a908da 100644
--- a/src/soc/intel/xeon_sp/cpx/acpi.c
+++ b/src/soc/intel/xeon_sp/cpx/acpi.c
@@ -214,9 +214,6 @@
acpigen_write_name_dword("NVSA", (uint32_t)gnvs);
acpigen_pop_len();
}
-
- /* Add IIOStack ACPI Resource Templates */
- uncore_inject_dsdt();
}
int calculate_power(int tdp, int p1_ratio, int ratio)
diff --git a/src/soc/intel/xeon_sp/cpx/soc_acpi.c b/src/soc/intel/xeon_sp/cpx/soc_acpi.c
index cf84334..19d196d 100644
--- a/src/soc/intel/xeon_sp/cpx/soc_acpi.c
+++ b/src/soc/intel/xeon_sp/cpx/soc_acpi.c
@@ -57,11 +57,7 @@
ACPI_FADT_S4_RTC_WAKE);
}
-/*
- * Currently called in southbridge_inject_dsdt(). Change to soc_southbridge_inject_dsdt()
- * with a call from the common/function or find another way to call this at the correct place
- */
-void uncore_inject_dsdt(void)
+void uncore_inject_dsdt(const struct device *device)
{
struct iiostack_resource stack_info = {0};
diff --git a/src/soc/intel/xeon_sp/include/soc/acpi.h b/src/soc/intel/xeon_sp/include/soc/acpi.h
index b46914d..75859e83 100644
--- a/src/soc/intel/xeon_sp/include/soc/acpi.h
+++ b/src/soc/intel/xeon_sp/include/soc/acpi.h
@@ -24,7 +24,7 @@
void cpx_generate_p_state_entries(int core, int cores_per_package);
int calculate_power(int tdp, int p1_ratio, int ratio);
-void uncore_inject_dsdt(void);
+void uncore_inject_dsdt(const struct device *device);
unsigned long xeonsp_acpi_create_madt_lapics(unsigned long current);
#endif /* _SOC_ACPI_H_ */
diff --git a/src/soc/intel/xeon_sp/skx/acpi.c b/src/soc/intel/xeon_sp/skx/acpi.c
index c446a51..f0b7df9 100644
--- a/src/soc/intel/xeon_sp/skx/acpi.c
+++ b/src/soc/intel/xeon_sp/skx/acpi.c
@@ -247,9 +247,6 @@
acpigen_write_name_dword("NVSA", (uint32_t)gnvs);
acpigen_pop_len();
}
-
- // Add IIOStack ACPI Resource Templates
- uncore_inject_dsdt();
}
diff --git a/src/soc/intel/xeon_sp/skx/soc_acpi.c b/src/soc/intel/xeon_sp/skx/soc_acpi.c
index afbcf84..56ed0ce 100644
--- a/src/soc/intel/xeon_sp/skx/soc_acpi.c
+++ b/src/soc/intel/xeon_sp/skx/soc_acpi.c
@@ -55,11 +55,7 @@
return pci_read_config32(dev, PMC_ACPI_CNT);
}
-/*
- * Currently called in southbridge_inject_dsdt(). Change to soc_southbridge_inject_dsdt()
- * with a call from the common/function or find another way to call this at the correct place
- */
-void uncore_inject_dsdt(void)
+void uncore_inject_dsdt(const struct device *device)
{
size_t hob_size;
const uint8_t uds_guid[16] = FSP_HOB_IIO_UNIVERSAL_DATA_GUID;
diff --git a/src/soc/intel/xeon_sp/uncore.c b/src/soc/intel/xeon_sp/uncore.c
index a549acb..332b9a4 100644
--- a/src/soc/intel/xeon_sp/uncore.c
+++ b/src/soc/intel/xeon_sp/uncore.c
@@ -5,6 +5,7 @@
#include <cpu/x86/lapic_def.h>
#include <device/pci.h>
#include <device/pci_ids.h>
+#include <soc/acpi.h>
#include <soc/iomap.h>
#include <soc/pci_devs.h>
#include <soc/ramstage.h>
@@ -274,6 +275,9 @@
.enable_resources = pci_dev_enable_resources,
.init = mmapvtd_init,
.ops_pci = &soc_pci_ops,
+#if CONFIG(HAVE_ACPI_TABLES)
+ .acpi_inject_dsdt = uncore_inject_dsdt,
+#endif
};
static const unsigned short mmapvtd_ids[] = {