From 8ba9410c69dbdb9e37bd7c8de2a523f7cfa7a76a Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Fri, 31 Dec 2021 00:15:18 +0100 Subject: [PATCH] soc/intel/cannonlake: Hook up FSP hyper-threading setting to option API Select `HAVE_HYPERTHREADING` and hook up the hyper-threading setting from the FSP to the option API so that related mainboards don't have to do that. Unless otherwise configured (e.g. the CMOS setting or overriden by the mainboard code), the value from the Kconfig setting `FSP_HYPERTHREADING` is used. Also, remove related code from the following mainboards, since it is obsolete now. * siemens/chili * starlabs/laptop/cml Change-Id: I173b87da5ce76549672c50ba30204cd77be8b82f Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/60544 Tested-by: build bot (Jenkins) Reviewed-by: Sean Rhodes Reviewed-by: Nico Huber --- src/mainboard/siemens/chili/romstage.c | 2 -- src/mainboard/starlabs/labtop/variants/cml/romstage.c | 4 ---- src/soc/intel/cannonlake/Kconfig | 1 + src/soc/intel/cannonlake/romstage/fsp_params.c | 3 +++ 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/mainboard/siemens/chili/romstage.c b/src/mainboard/siemens/chili/romstage.c index ddcc2cc87c..6f36a7f9e3 100644 --- a/src/mainboard/siemens/chili/romstage.c +++ b/src/mainboard/siemens/chili/romstage.c @@ -26,8 +26,6 @@ void mainboard_memory_init_params(FSPM_UPD *memupd) const uint8_t vtd = get_uint_option("vtd", 1); memupd->FspmTestConfig.VtdDisable = !vtd; - const uint8_t ht = get_uint_option("hyper_threading", memupd->FspmConfig.HyperThreading); - memupd->FspmConfig.HyperThreading = ht; variant_romstage_params(memupd); diff --git a/src/mainboard/starlabs/labtop/variants/cml/romstage.c b/src/mainboard/starlabs/labtop/variants/cml/romstage.c index 189b7f378c..75a19e576b 100644 --- a/src/mainboard/starlabs/labtop/variants/cml/romstage.c +++ b/src/mainboard/starlabs/labtop/variants/cml/romstage.c @@ -73,10 +73,6 @@ void mainboard_memory_init_params(FSPM_UPD *memupd) const uint8_t vtd = get_uint_option("vtd", 1); memupd->FspmTestConfig.VtdDisable = !vtd; - const uint8_t ht = - get_uint_option("hyper_threading", memupd->FspmConfig.HyperThreading); - memupd->FspmConfig.HyperThreading = ht; - fill_spd_data(&memcfg); cannonlake_memcfg_init(&memupd->FspmConfig, &memcfg); } diff --git a/src/soc/intel/cannonlake/Kconfig b/src/soc/intel/cannonlake/Kconfig index 7c317e90c6..cad2e752b8 100644 --- a/src/soc/intel/cannonlake/Kconfig +++ b/src/soc/intel/cannonlake/Kconfig @@ -66,6 +66,7 @@ config CPU_SPECIFIC_OPTIONS select GENERIC_GPIO_LIB select HAVE_FSP_GOP select HAVE_FSP_LOGO_SUPPORT + select HAVE_HYPERTHREADING select HAVE_SMI_HANDLER select IDT_IN_EVERY_STAGE select INTEL_CAR_NEM_ENHANCED diff --git a/src/soc/intel/cannonlake/romstage/fsp_params.c b/src/soc/intel/cannonlake/romstage/fsp_params.c index 0b63bd52f9..842c8fb7d0 100644 --- a/src/soc/intel/cannonlake/romstage/fsp_params.c +++ b/src/soc/intel/cannonlake/romstage/fsp_params.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -26,6 +27,8 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version) unsigned int i; uint32_t mask = 0; + m_cfg->HyperThreading = get_uint_option("hyper_threading", CONFIG(FSP_HYPERTHREADING)); + /* * Probe for no IGD and disable InternalGfx and panel power to prevent a * crash in FSP-M.