summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/xeon_sp/cpx/acpi.c3
-rw-r--r--src/soc/intel/xeon_sp/cpx/soc_acpi.c6
-rw-r--r--src/soc/intel/xeon_sp/include/soc/acpi.h2
-rw-r--r--src/soc/intel/xeon_sp/skx/acpi.c3
-rw-r--r--src/soc/intel/xeon_sp/skx/soc_acpi.c6
-rw-r--r--src/soc/intel/xeon_sp/uncore.c4
6 files changed, 7 insertions, 17 deletions
diff --git a/src/soc/intel/xeon_sp/cpx/acpi.c b/src/soc/intel/xeon_sp/cpx/acpi.c
index 658c951648..5a908dabbf 100644
--- a/src/soc/intel/xeon_sp/cpx/acpi.c
+++ b/src/soc/intel/xeon_sp/cpx/acpi.c
@@ -214,9 +214,6 @@ void southbridge_inject_dsdt(const struct device *device)
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 cf84334449..19d196d351 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 @@ void soc_fill_fadt(acpi_fadt_t *fadt)
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 b46914dbde..75859e8353 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 motherboard_fill_fadt(acpi_fadt_t *fadt);
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 c446a51f8c..f0b7df9c38 100644
--- a/src/soc/intel/xeon_sp/skx/acpi.c
+++ b/src/soc/intel/xeon_sp/skx/acpi.c
@@ -247,9 +247,6 @@ void southbridge_inject_dsdt(const struct device *device)
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 afbcf840bd..56ed0ce17b 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 @@ uint32_t soc_read_sci_irq_select(void)
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 a549acb0f6..332b9a44a3 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 @@ static struct device_operations mmapvtd_ops = {
.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[] = {