summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSukumar Ghorai <sukumar.ghorai@intel.com>2023-07-31 03:24:44 -0700
committerFelix Held <felix-coreboot@felixheld.de>2023-08-04 14:08:51 +0000
commitbd2c2520949aa53ea1323f22be5a3d9d9e05179c (patch)
tree16ef6c2d7e06aa71279bb7b816d645cacadd694d /src
parent6b324d99192d543fb29e00bb40935893c85b24a8 (diff)
downloadcoreboot-bd2c2520949aa53ea1323f22be5a3d9d9e05179c.tar.gz
coreboot-bd2c2520949aa53ea1323f22be5a3d9d9e05179c.tar.bz2
coreboot-bd2c2520949aa53ea1323f22be5a3d9d9e05179c.zip
mb/google/{rex,ovis}: Disable C1-state auto demotion for rex & ovis
C1-state auto demotion feature allows hardware to determine C1-state as per platform policy. Since platform sets performance policy to balanced from hardware, auto demotion can be disabled without performance impact. Also, disabling this feature results soc to enter PC2 and lower state in camera preview case and save platform power. Note: C1 demotion heuristics used EPB parameter to balance between power and performance, i.e. low threshold when EPB is low in-order to get C1 demotion faster and vice-versa. ChromeOS operates at default EPB=0x7 (low EPB) in both AC/DC, so in DC mode it gets more C1 demotion hits than expected (similar to AC mode) and losing power respectively. BUG=b:286328295 TEST=Code compiles and correct value of c1-state auto demotion is passed to FSP. Also verified PC residency improvement ~10% in camera preview case. Change-Id: I548e0e5340dec537d05718dd2f4652e10fb36ac0 Signed-off-by: Sukumar Ghorai <sukumar.ghorai@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/76827 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com> Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com> Reviewed-by: Sridhar Siricilla <sridhar.siricilla@intel.com> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb3
-rw-r--r--src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb3
2 files changed, 6 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 75fef6d52103..6fc0dc029a8a 100644
--- a/src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb
+++ b/src/mainboard/google/rex/variants/baseboard/ovis/devicetree.cb
@@ -33,6 +33,9 @@ chip soc/intel/meteorlake
# S0ix enable
register "s0ix_enable" = "1"
+ # Disable C1 C-state auto-demotion
+ register "disable_c1_state_auto_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 57a52882613b..b21c01119072 100644
--- a/src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb
+++ b/src/mainboard/google/rex/variants/baseboard/rex/devicetree.cb
@@ -33,6 +33,9 @@ chip soc/intel/meteorlake
# S0ix enable
register "s0ix_enable" = "1"
+ # Disable C1 C-state auto-demotion
+ register "disable_c1_state_auto_demotion" = "1"
+
# Enable Energy Reporting
register "pch_pm_energy_report_enable" = "1"