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>
This commit is contained in:
Anil Kumar 2023-02-09 16:55:57 -08:00 committed by Nick Vaccaro
parent ab0a19c9e6
commit e822fb3587
1 changed files with 6 additions and 1 deletions

View File

@ -937,6 +937,7 @@ static void fill_fsps_cpu_pcie_params(FSP_S_CONFIG *s_cfg,
static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg, static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
const struct soc_intel_alderlake_config *config) const struct soc_intel_alderlake_config *config)
{ {
u32 cpu_id = cpu_get_cpuid();
/* Skip setting D0I3 bit for all HECI devices */ /* Skip setting D0I3 bit for all HECI devices */
s_cfg->DisableD0I3SettingForHeci = 1; s_cfg->DisableD0I3SettingForHeci = 1;
/* /*
@ -1005,6 +1006,10 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
s_cfg->VrPowerDeliveryDesign = config->vr_power_delivery_design; s_cfg->VrPowerDeliveryDesign = config->vr_power_delivery_design;
/* 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; s_cfg->PkgCStateDemotion = !config->disable_package_c_state_demotion;
} }