Subrata Banik has submitted this change. ( https://review.coreboot.org/c/coreboot/+/77611?usp=email )
Change subject: soc/intel/meteorlake: Fix black screen after booting to OS ......................................................................
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 subratabanik@google.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/77611 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Eran Mitrani mitrani@google.com Reviewed-by: Nick Vaccaro nvaccaro@google.com --- M src/soc/intel/meteorlake/romstage/fsp_params.c 1 file changed, 5 insertions(+), 4 deletions(-)
Approvals: Eran Mitrani: Looks good to me, approved build bot (Jenkins): Verified Nick Vaccaro: Looks good to me, approved
diff --git a/src/soc/intel/meteorlake/romstage/fsp_params.c b/src/soc/intel/meteorlake/romstage/fsp_params.c index bb5b6e7..36aa11e 100644 --- a/src/soc/intel/meteorlake/romstage/fsp_params.c +++ b/src/soc/intel/meteorlake/romstage/fsp_params.c @@ -229,11 +229,12 @@ { /* 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]; + } } } }