soc/intel/meteorlake: Add support to configure package c-state demotion

This patch adds the support to enable/disable package c-state demotion
feature from the devicetree based on mainboard requirement.

Port of commit 4be8d9e80d ("soc/intel/adl: Add support to configure
package c-state demotion")

BUG=none
TEST=Boot to the OS on Google/Rex.

Snippet from FSP log:
[SPEW ]   PkgCState Demotion : 0x1

Signed-off-by: Kapil Porwal <kapilporwal@google.com>
Change-Id: I0a4b0b181349ce41035524482add4336cf83a68b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71654
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
Kapil Porwal 2023-01-04 22:03:02 +05:30 committed by Martin L Roth
parent ae5ba37a55
commit ae5bc43d3b
2 changed files with 8 additions and 0 deletions

View File

@ -346,6 +346,13 @@ struct soc_intel_meteorlake_config {
*/
uint8_t lan_clk;
/*
* Enable or Disable Package C-state Demotion.
* Default is set to 0.
* Set this to 1 in order to disable Package C-state demotion.
*/
bool disable_package_c_state_demotion;
/*
* Enable or Disable Skipping MBP HOB.
* Default is set to 0 and set to 1 to skip the MBP HOB.

View File

@ -642,6 +642,7 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
/* Enable the energy efficient turbo mode */
s_cfg->EnergyEfficientTurbo = 1;
s_cfg->PmcLpmS0ixSubStateEnableMask = get_supported_lpm_mask();
s_cfg->PkgCStateDemotion = !config->disable_package_c_state_demotion;
}