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 af42906efa ("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>
			
			
This commit is contained in:
		
				
					committed by
					
						
						Martin L Roth
					
				
			
			
				
	
			
			
			
						parent
						
							bf3f94dbb2
						
					
				
				
					commit
					ae5ba37a55
				
			@@ -43,6 +43,25 @@ enum ddi_port_flags {
 | 
				
			|||||||
	DDI_ENABLE_HPD = 1 << 1,
 | 
						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. */
 | 
					/* Bit values for use in LpmStateEnableMask. */
 | 
				
			||||||
enum lpm_state_mask {
 | 
					enum lpm_state_mask {
 | 
				
			||||||
	LPM_S0i2_0 = BIT(0),
 | 
						LPM_S0i2_0 = BIT(0),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -638,6 +638,7 @@ static void fill_fsps_misc_power_params(FSP_S_CONFIG *s_cfg,
 | 
				
			|||||||
	s_cfg->Hwp = 1;
 | 
						s_cfg->Hwp = 1;
 | 
				
			||||||
	s_cfg->Cx = 1;
 | 
						s_cfg->Cx = 1;
 | 
				
			||||||
	s_cfg->PsOnEnable = 1;
 | 
						s_cfg->PsOnEnable = 1;
 | 
				
			||||||
 | 
						s_cfg->PkgCStateLimit = LIMIT_AUTO;
 | 
				
			||||||
	/* Enable the energy efficient turbo mode */
 | 
						/* Enable the energy efficient turbo mode */
 | 
				
			||||||
	s_cfg->EnergyEfficientTurbo = 1;
 | 
						s_cfg->EnergyEfficientTurbo = 1;
 | 
				
			||||||
	s_cfg->PmcLpmS0ixSubStateEnableMask = get_supported_lpm_mask();
 | 
						s_cfg->PmcLpmS0ixSubStateEnableMask = get_supported_lpm_mask();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user