From 6a42eb9134ceb667d45e3d23118d08eabed41d5f Mon Sep 17 00:00:00 2001 From: alokagar Date: Tue, 22 Jul 2025 10:37:58 +0530 Subject: [PATCH] soc/intel/pantherlake: Disable memory training progress bar Introduce the disable_progress_bar setting in configuration to allow disabling the memory training progress bar during firmware initialization. BUG=b:418675387 TEST=After setting disable_progress_bar, memory training progress bar is disabled. Change-Id: I35e8191df27c0eda634724580514e980bd620136 Signed-off-by: Alok Agarwal Reviewed-on: https://review.coreboot.org/c/coreboot/+/88529 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik --- src/soc/intel/pantherlake/chip.h | 3 +++ src/soc/intel/pantherlake/romstage/ux.c | 5 +++++ src/soc/intel/pantherlake/romstage/ux.h | 1 + 3 files changed, 9 insertions(+) diff --git a/src/soc/intel/pantherlake/chip.h b/src/soc/intel/pantherlake/chip.h index e060a28bb3..b424cb1ebc 100644 --- a/src/soc/intel/pantherlake/chip.h +++ b/src/soc/intel/pantherlake/chip.h @@ -653,6 +653,9 @@ struct soc_intel_pantherlake_config { * for wake will be exposed in ACPI */ bool thc_wake_on_touch[NUM_THC]; + + /* Disable the progress bar during MRC training operations. */ + bool disable_progress_bar; }; typedef struct soc_intel_pantherlake_config config_t; diff --git a/src/soc/intel/pantherlake/romstage/ux.c b/src/soc/intel/pantherlake/romstage/ux.c index e9d94fd315..5f511a2827 100644 --- a/src/soc/intel/pantherlake/romstage/ux.c +++ b/src/soc/intel/pantherlake/romstage/ux.c @@ -5,12 +5,15 @@ #include #include #include +#include +#include #include "ux.h" static bool ux_inform_user_of_operation(const char *name, enum ux_locale_msg id, FSPM_UPD *mupd) { + const struct soc_intel_pantherlake_config *config = config_of_soc(); timestamp_add_now(TS_ESOL_START); if (!CONFIG(CHROMEOS_ENABLE_ESOL)) { @@ -45,6 +48,8 @@ static bool ux_inform_user_of_operation(const char *name, enum ux_locale_msg id, } m_cfg->VgaInitControl = VGA_INIT_CONTROL_ENABLE; + if (config->disable_progress_bar) + m_cfg->VgaInitControl |= VGA_INIT_DISABLE_ANIMATION; m_cfg->VbtPtr = (efi_uintn_t)vbt; m_cfg->VbtSize = vbt_size; m_cfg->LidStatus = CONFIG(VBOOT_LID_SWITCH) ? get_lid_switch() : CONFIG(RUN_FSP_GOP); diff --git a/src/soc/intel/pantherlake/romstage/ux.h b/src/soc/intel/pantherlake/romstage/ux.h index 28858d5843..85a641dec8 100644 --- a/src/soc/intel/pantherlake/romstage/ux.h +++ b/src/soc/intel/pantherlake/romstage/ux.h @@ -10,5 +10,6 @@ bool ux_inform_user_of_poweroff_operation(const char *name, FSPM_UPD *mupd); /* VGA initialization configuration */ #define VGA_INIT_CONTROL_ENABLE BIT(0) +#define VGA_INIT_DISABLE_ANIMATION BIT(4) #endif /* _SOC_INTEL_PANTHERLAKE_ROMSTAGE_UX_H_ */