summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKapil Porwal <kapilporwal@google.com>2023-01-04 22:03:02 +0530
committerMartin L Roth <gaumless@gmail.com>2023-01-08 01:24:18 +0000
commitae5bc43d3b2df7854de70756e54138c542b8a52e (patch)
treee49f23cfc80f85686d768b69bf3d3dad7fe30bb4 /src
parentae5ba37a5589c503e902ed769a81c91d0a525d83 (diff)
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 4be8d9e80deb ("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>
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/meteorlake/chip.h7
-rw-r--r--src/soc/intel/meteorlake/fsp_params.c1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h
index ad382e3cf1..dfd5c367e7 100644
--- a/src/soc/intel/meteorlake/chip.h
+++ b/src/soc/intel/meteorlake/chip.h
@@ -347,6 +347,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.
*/
diff --git a/src/soc/intel/meteorlake/fsp_params.c b/src/soc/intel/meteorlake/fsp_params.c
index acf376b9c2..e850eaa259 100644
--- a/src/soc/intel/meteorlake/fsp_params.c
+++ b/src/soc/intel/meteorlake/fsp_params.c
@@ -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;
}