summaryrefslogtreecommitdiffstats
path: root/src/soc
diff options
context:
space:
mode:
authorKapil Porwal <kapilporwal@google.com>2023-01-04 21:49:36 +0530
committerMartin L Roth <gaumless@gmail.com>2023-01-08 01:22:56 +0000
commitae5ba37a5589c503e902ed769a81c91d0a525d83 (patch)
tree04e063247a0b780a97ac333878b769130918e37e /src/soc
parentbf3f94dbb2832e43805c7533d6b5f8714b7398ef (diff)
downloadcoreboot-ae5ba37a5589c503e902ed769a81c91d0a525d83.tar.gz
coreboot-ae5ba37a5589c503e902ed769a81c91d0a525d83.tar.bz2
coreboot-ae5ba37a5589c503e902ed769a81c91d0a525d83.zip
soc/intel/meteorlake: Set max Pkg C-states to Auto
This patch configures max Pkg C-state to Auto which limits the max C-state to deep C-state. Port of commit af42906efa72 ("soc/intel/alderlake: Set max Pkg C-states to Auto") BUG=none TEST=Boot to the OS on Google/Rex. Snippet from FSP log: [SPEW ] PkgCStateLimit : 0xFF Signed-off-by: Kapil Porwal <kapilporwal@google.com> Change-Id: Ic403ab83a594b04920d5cf600432939687a2598b Reviewed-on: https://review.coreboot.org/c/coreboot/+/71653 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/intel/meteorlake/chip.h19
-rw-r--r--src/soc/intel/meteorlake/fsp_params.c1
2 files changed, 20 insertions, 0 deletions
diff --git a/src/soc/intel/meteorlake/chip.h b/src/soc/intel/meteorlake/chip.h
index 19b34a205dde..ad382e3cf181 100644
--- a/src/soc/intel/meteorlake/chip.h
+++ b/src/soc/intel/meteorlake/chip.h
@@ -43,6 +43,25 @@ enum ddi_port_flags {
DDI_ENABLE_HPD = 1 << 1,
};
+/*
+ * The Max Pkg Cstate
+ * Values 0 - C0/C1, 1 - C2, 2 - C3, 3 - C6, 4 - C7, 5 - C7S, 6 - C8, 7 - C9, 8 - C10,
+ * 254 - CPU Default , 255 - Auto.
+ */
+enum pkgcstate_limit {
+ LIMIT_C0_C1 = 0,
+ LIMIT_C2 = 1,
+ LIMIT_C3 = 2,
+ LIMIT_C6 = 3,
+ LIMIT_C7 = 4,
+ LIMIT_C7S = 5,
+ LIMIT_C8 = 6,
+ LIMIT_C9 = 7,
+ LIMIT_C10 = 8,
+ LIMIT_CPUDEFAULT = 254,
+ LIMIT_AUTO = 255,
+};
+
/* Bit values for use in LpmStateEnableMask. */
enum lpm_state_mask {
LPM_S0i2_0 = BIT(0),
diff --git a/src/soc/intel/meteorlake/fsp_params.c b/src/soc/intel/meteorlake/fsp_params.c
index 0cf221bd8482..acf376b9c20e 100644
--- a/src/soc/intel/meteorlake/fsp_params.c
+++ b/src/soc/intel/meteorlake/fsp_params.c
@@ -638,6 +638,7 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
s_cfg->Hwp = 1;
s_cfg->Cx = 1;
s_cfg->PsOnEnable = 1;
+ s_cfg->PkgCStateLimit = LIMIT_AUTO;
/* Enable the energy efficient turbo mode */
s_cfg->EnergyEfficientTurbo = 1;
s_cfg->PmcLpmS0ixSubStateEnableMask = get_supported_lpm_mask();