Nick Vaccaro has submitted this change. ( https://review.coreboot.org/c/coreboot/+/72942 )
Change subject: soc/intel/alderlake: Disable package C-state demotion for Raptor Lake ......................................................................
soc/intel/alderlake: Disable package C-state demotion for Raptor Lake
While executing S0ix tests on Raptor Lake boards, we observed CPU fails to enter suspend state, causing failure.
As a workaround, disable package C-state demotion, till this issue is fixed in ucode.
BUG=268296760 BRANCH=firmware-brya-14505.B TEST=Boot and verified that S0ix issue is resolved.
Signed-off-by: Anil Kumar anil.kumar.k@intel.com Change-Id: Ie50e1024f4118d82d2ad762b54fa722c43990d12 Reviewed-on: https://review.coreboot.org/c/coreboot/+/72942 Reviewed-by: Eric Lai eric_lai@quanta.corp-partner.google.com Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Subrata Banik subratabanik@google.com Reviewed-by: Nick Vaccaro nvaccaro@google.com --- M src/soc/intel/alderlake/fsp_params.c 1 file changed, 31 insertions(+), 1 deletion(-)
Approvals: build bot (Jenkins): Verified Nick Vaccaro: Looks good to me, approved Subrata Banik: Looks good to me, approved Eric Lai: Looks good to me, approved
diff --git a/src/soc/intel/alderlake/fsp_params.c b/src/soc/intel/alderlake/fsp_params.c index 4117c22..42475c4 100644 --- a/src/soc/intel/alderlake/fsp_params.c +++ b/src/soc/intel/alderlake/fsp_params.c @@ -937,6 +937,7 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg, const struct soc_intel_alderlake_config *config) { + u32 cpu_id = cpu_get_cpuid(); /* Skip setting D0I3 bit for all HECI devices */ s_cfg->DisableD0I3SettingForHeci = 1; /* @@ -1005,7 +1006,11 @@
s_cfg->VrPowerDeliveryDesign = config->vr_power_delivery_design;
- s_cfg->PkgCStateDemotion = !config->disable_package_c_state_demotion; + /* FIXME: Disable package C state demotion on Raptorlake as a W/A for S0ix issues */ + if ((cpu_id == CPUID_RAPTORLAKE_P_J0) || (cpu_id == CPUID_RAPTORLAKE_P_Q0)) + s_cfg->PkgCStateDemotion = 0; + else + s_cfg->PkgCStateDemotion = !config->disable_package_c_state_demotion; }
static void fill_fsps_irq_params(FSP_S_CONFIG *s_cfg,