From 96f7bd13180f284ae0dd700f3bd73a6b61139846 Mon Sep 17 00:00:00 2001 From: Subrata Banik Date: Sat, 2 Sep 2023 00:53:54 +0530 Subject: [PATCH] soc/intel/meteorlake: Fix black screen after booting to OS This patch ensures that the VR configuration for IA, SA, and GFX is properly initialized, assigning zero values to VR causes a black screen (no display) issue. Problem Statement: Override CEP (Current Excursion Protection) value with zero aka set to disable results into black screen issue (no display). Solution: Keep CEP default enabled and don't override w/ zero value. w/o this patch: [SPEW ] CPU_POWER_MGMT_VR_CONFIG : CepEnable[0] : 0x0 [SPEW ] CPU_POWER_MGMT_VR_CONFIG : CepEnable[1] : 0x0 [SPEW ] CPU_POWER_MGMT_VR_CONFIG : CepEnable[2] : 0x0 w/ this patch: [SPEW ] CPU_POWER_MGMT_VR_CONFIG : CepEnable[0] : 0x1 [SPEW ] CPU_POWER_MGMT_VR_CONFIG : CepEnable[1] : 0x1 [SPEW ] CPU_POWER_MGMT_VR_CONFIG : CepEnable[2] : 0x1 Change-Id: I8908e8b6c995390b559212d456db6ddf984448a3 Signed-off-by: Subrata Banik Reviewed-on: https://review.coreboot.org/c/coreboot/+/77611 Tested-by: build bot (Jenkins) Reviewed-by: Eran Mitrani Reviewed-by: Nick Vaccaro --- src/soc/intel/meteorlake/romstage/fsp_params.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/soc/intel/meteorlake/romstage/fsp_params.c b/src/soc/intel/meteorlake/romstage/fsp_params.c index bb5b6e7d97..36aa11e623 100644 --- a/src/soc/intel/meteorlake/romstage/fsp_params.c +++ b/src/soc/intel/meteorlake/romstage/fsp_params.c @@ -229,11 +229,12 @@ static void fill_fspm_vr_config_params(FSP_M_CONFIG *m_cfg, { /* FastVmode Settings for VR domains */ for (size_t domain = 0; domain < NUM_VR_DOMAINS; domain++) { - m_cfg->CepEnable[domain] = config->cep_enable[domain]; - if (m_cfg->CepEnable[domain]) { - m_cfg->EnableFastVmode[domain] = config->enable_fast_vmode[domain]; - if (m_cfg->EnableFastVmode[domain]) + if (config->cep_enable[domain]) { + m_cfg->CepEnable[domain] = config->cep_enable[domain]; + if (config->enable_fast_vmode[domain]) { + m_cfg->EnableFastVmode[domain] = config->enable_fast_vmode[domain]; m_cfg->IccLimit[domain] = config->fast_vmode_i_trip[domain]; + } } } }