Marc Jones has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/46596 )
Change subject: soc/intel/xeon_sp: Move uncore_inject_dsdt() call ......................................................................
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 --- M src/soc/intel/xeon_sp/cpx/acpi.c M src/soc/intel/xeon_sp/cpx/soc_acpi.c M src/soc/intel/xeon_sp/include/soc/acpi.h M src/soc/intel/xeon_sp/skx/acpi.c M src/soc/intel/xeon_sp/skx/soc_acpi.c M src/soc/intel/xeon_sp/uncore.c 6 files changed, 7 insertions(+), 17 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/96/46596/1
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[] = {
Stefan Reinauer has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/46596 )
Change subject: soc/intel/xeon_sp: Move uncore_inject_dsdt() call ......................................................................
Patch Set 1: Code-Review+2
Nice.
Marc Jones has submitted this change. ( https://review.coreboot.org/c/coreboot/+/46596 )
Change subject: soc/intel/xeon_sp: Move uncore_inject_dsdt() call ......................................................................
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 --- M src/soc/intel/xeon_sp/cpx/acpi.c M src/soc/intel/xeon_sp/cpx/soc_acpi.c M src/soc/intel/xeon_sp/include/soc/acpi.h M src/soc/intel/xeon_sp/skx/acpi.c M src/soc/intel/xeon_sp/skx/soc_acpi.c M src/soc/intel/xeon_sp/uncore.c 6 files changed, 7 insertions(+), 17 deletions(-)
Approvals: build bot (Jenkins): Verified Stefan Reinauer: Looks good to me, approved
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[] = {