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>
This commit is contained in:
Sukumar Ghorai 2023-07-31 03:24:44 -07:00 committed by Felix Held
parent 6b324d9919
commit bd2c252094
2 changed files with 6 additions and 0 deletions

View File

@ -33,6 +33,9 @@ chip soc/intel/meteorlake
# S0ix enable # S0ix enable
register "s0ix_enable" = "1" register "s0ix_enable" = "1"
# Disable C1 C-state auto-demotion
register "disable_c1_state_auto_demotion" = "1"
# Enable Energy Reporting # Enable Energy Reporting
register "pch_pm_energy_report_enable" = "1" register "pch_pm_energy_report_enable" = "1"

View File

@ -33,6 +33,9 @@ chip soc/intel/meteorlake
# S0ix enable # S0ix enable
register "s0ix_enable" = "1" register "s0ix_enable" = "1"
# Disable C1 C-state auto-demotion
register "disable_c1_state_auto_demotion" = "1"
# Enable Energy Reporting # Enable Energy Reporting
register "pch_pm_energy_report_enable" = "1" register "pch_pm_energy_report_enable" = "1"