summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb3
-rw-r--r--src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb3
-rw-r--r--src/soc/intel/meteorlake/chip.h2
-rw-r--r--src/soc/intel/meteorlake/fsp_params.c1
4 files changed, 9 insertions, 0 deletions
diff --git a/src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb b/src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb
index 6fc0dc029a..7d39ece8c0 100644
--- a/src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb
+++ b/src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb
@@ -36,6 +36,9 @@ chip soc/intel/meteorlake
# Disable C1 C-state auto-demotion
register "disable_c1_state_auto_demotion" = "1"
+ # Disable PKGC-state demotion
+ register "disable_package_c_state_demotion" = "1"
+
# Enable Energy Reporting
register "pch_pm_energy_report_enable" = "1"
diff --git a/src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb b/src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb
index ec57ee7f46..5894fe637a 100644
--- a/src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb
+++ b/src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb
@@ -36,6 +36,9 @@ chip soc/intel/meteorlake
# Disable C1 C-state auto-demotion
register "disable_c1_state_auto_demotion" = "1"
+ # Disable PKGC-state demotion
+ register "disable_package_c_state_demotion" = "1"
+
# Enable Energy Reporting
register "pch_pm_energy_report_enable" = "1"
diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h
index ec38e80f05..6210406fc9 100644
--- a/src/soc/intel/meteorlake/chip.h
+++ b/src/soc/intel/meteorlake/chip.h
@@ -419,6 +419,8 @@ struct soc_intel_meteorlake_config {
* Enable or Disable Package C-state Demotion.
* Default is set to 0.
* Set this to 1 in order to disable Package C-state demotion.
+ * NOTE: Un-Demotion from demoted Package C-state needs to be disabled
+ * when auto demotion is disabled.
*/
bool disable_package_c_state_demotion;
diff --git a/src/soc/intel/meteorlake/fsp_params.c b/src/soc/intel/meteorlake/fsp_params.c
index 5350783b00..5ec9cf423e 100644
--- a/src/soc/intel/meteorlake/fsp_params.c
+++ b/src/soc/intel/meteorlake/fsp_params.c
@@ -666,6 +666,7 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
s_cfg->C1StateUnDemotion = !config->disable_c1_state_auto_demotion;
s_cfg->C1StateAutoDemotion = !config->disable_c1_state_auto_demotion;
s_cfg->PkgCStateDemotion = !config->disable_package_c_state_demotion;
+ s_cfg->PkgCStateUnDemotion = !config->disable_package_c_state_demotion;
s_cfg->PmcV1p05PhyExtFetControlEn = 1;
/* Enable PCH to CPU energy report feature. */