src: Fix MSR_PKG_CST_CONFIG_CONTROL register name
Change-Id: I492224b6900b9658d54c8cf486ef5d64b299687f Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/28871 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lijian Zhao <lijian.zhao@intel.com>
This commit is contained in:
		
				
					committed by
					
						 Martin Roth
						Martin Roth
					
				
			
			
				
	
			
			
			
						parent
						
							19c0ae540e
						
					
				
				
					commit
					4e6b7907de
				
			| @@ -45,7 +45,7 @@ static void msr_set_bit(unsigned int reg, unsigned int bit) | ||||
| void intel_model_206ax_finalize_smm(void) | ||||
| { | ||||
| 	/* Lock C-State MSR */ | ||||
| 	msr_set_bit(MSR_PMG_CST_CONFIG_CONTROL, 15); | ||||
| 	msr_set_bit(MSR_PKG_CST_CONFIG_CONTROL, 15); | ||||
|  | ||||
| 	/* Lock AES-NI only if supported */ | ||||
| 	if (cpuid_ecx(1) & (1 << 25)) | ||||
|   | ||||
| @@ -43,7 +43,7 @@ | ||||
| #define MSR_PIC_MSG_CONTROL		0x2e | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define  PLATFORM_INFO_SET_TDP		(1 << 29) | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PMG_IO_CAPTURE_BASE		0xe4 | ||||
|  | ||||
| #define MSR_MISC_PWR_MGMT		0x1aa | ||||
|   | ||||
| @@ -45,7 +45,7 @@ | ||||
| #define MSR_PIC_MSG_CONTROL		0x2e | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define  PLATFORM_INFO_SET_TDP		(1 << 29) | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PMG_IO_CAPTURE_BASE		0xe4 | ||||
|  | ||||
| #define MSR_MISC_PWR_MGMT		0x1aa | ||||
|   | ||||
| @@ -48,7 +48,7 @@ void intel_cpu_haswell_finalize_smm(void) | ||||
| { | ||||
| #if 0 | ||||
| 	/* Lock C-State MSR */ | ||||
| 	msr_set_bit(MSR_PMG_CST_CONFIG_CONTROL, 15); | ||||
| 	msr_set_bit(MSR_PKG_CST_CONFIG_CONTROL, 15); | ||||
|  | ||||
| 	/* Lock AES-NI only if supported */ | ||||
| 	if (cpuid_ecx(1) & (1 << 25)) | ||||
|   | ||||
| @@ -58,7 +58,7 @@ | ||||
| #define MSR_PIC_MSG_CONTROL		0x2e | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define  PLATFORM_INFO_SET_TDP		(1 << 29) | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PMG_IO_CAPTURE_BASE		0xe4 | ||||
|  | ||||
| #define MSR_MISC_PWR_MGMT		0x1aa | ||||
|   | ||||
| @@ -486,7 +486,7 @@ static void configure_c_states(void) | ||||
| { | ||||
| 	msr_t msr; | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo |= (1 << 30);	// Package c-state Undemotion Enable | ||||
| 	msr.lo |= (1 << 29);	// Package c-state Demotion Enable | ||||
| 	msr.lo |= (1 << 28);	// C1 Auto Undemotion Enable | ||||
| @@ -495,7 +495,7 @@ static void configure_c_states(void) | ||||
| 	msr.lo |= (1 << 25);	// C3 Auto Demotion Enable | ||||
| 	msr.lo &= ~(1 << 10);	// Disable IO MWAIT redirection | ||||
| 	/* The deepest package c-state defaults to factory-configured value. */ | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_IO_CAPTURE_BASE); | ||||
| 	msr.lo &= ~0xffff; | ||||
|   | ||||
| @@ -63,7 +63,7 @@ static void configure_c_states(const int quad) | ||||
|  | ||||
| 	const int cst_range = (c6 ? 6 : (c5 ? 5 : 4)) - 2; /* zero means lvl2 */ | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo &= ~(1 << 9); // Issue a  single stop grant cycle upon stpclk | ||||
| 	msr.lo |=  (1 << 8); | ||||
| 	if (quad) | ||||
| @@ -79,7 +79,7 @@ static void configure_c_states(const int quad) | ||||
| 	msr.lo |= (1 << 10); /* Enable IO MWAIT redirection. */ | ||||
| 	if (c6) | ||||
| 		msr.lo |= (1 << 25); | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	/* Set Processor MWAIT IO BASE */ | ||||
| 	msr.hi = 0; | ||||
| @@ -129,10 +129,10 @@ static void configure_p_states(const char stepping, const char cores) | ||||
| 		wrmsr(IA32_PERF_CTL, msr); | ||||
| 	} | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo &= ~(1 << 11); /* Enable hw coordination. */ | ||||
| 	msr.lo |= (1 << 15); /* Lock config until next reset. */ | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
| } | ||||
|  | ||||
| #define MSR_EMTTM_CR_TABLE(x)	(0xa8 + (x)) | ||||
|   | ||||
| @@ -32,14 +32,14 @@ static void configure_c_states(void) | ||||
| { | ||||
| 	msr_t msr; | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo |= (1 << 15); // Lock configuration | ||||
| 	msr.lo |= (1 << 10); // redirect IO-based CState transition requests to | ||||
| 			     // MWAIT | ||||
| 	msr.lo &= ~(1 << 9); // Issue a single stop grant cycle upon stpclk | ||||
| 	msr.lo &= ~7; msr.lo |= HIGHEST_CLEVEL; // support at most C3 | ||||
| 	// TODO Do we want Deep C4 and  Dynamic L2 shrinking? | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	/* Set Processor MWAIT IO BASE (P_BLK) */ | ||||
| 	msr.hi = 0; | ||||
|   | ||||
| @@ -46,7 +46,7 @@ static void msr_set_bit(unsigned int reg, unsigned int bit) | ||||
| void intel_model_2065x_finalize_smm(void) | ||||
| { | ||||
| 	/* Lock C-State MSR */ | ||||
| 	msr_set_bit(MSR_PMG_CST_CONFIG_CONTROL, 15); | ||||
| 	msr_set_bit(MSR_PKG_CST_CONFIG_CONTROL, 15); | ||||
|  | ||||
| 	/* Lock AES-NI only if supported */ | ||||
| 	if (cpuid_ecx(1) & (1 << 25)) | ||||
|   | ||||
| @@ -46,7 +46,7 @@ static void msr_set_bit(unsigned int reg, unsigned int bit) | ||||
| void intel_model_206ax_finalize_smm(void) | ||||
| { | ||||
| 	/* Lock C-State MSR */ | ||||
| 	msr_set_bit(MSR_PMG_CST_CONFIG_CONTROL, 15); | ||||
| 	msr_set_bit(MSR_PKG_CST_CONFIG_CONTROL, 15); | ||||
|  | ||||
| 	/* Lock AES-NI only if supported */ | ||||
| 	if (cpuid_ecx(1) & (1 << 25)) | ||||
|   | ||||
| @@ -252,14 +252,14 @@ static void configure_c_states(void) | ||||
| { | ||||
| 	msr_t msr; | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo |= (1 << 28);	// C1 Auto Undemotion Enable | ||||
| 	msr.lo |= (1 << 27);	// C3 Auto Undemotion Enable | ||||
| 	msr.lo |= (1 << 26);	// C1 Auto Demotion Enable | ||||
| 	msr.lo |= (1 << 25);	// C3 Auto Demotion Enable | ||||
| 	msr.lo &= ~(1 << 10);	// Disable IO MWAIT redirection | ||||
| 	msr.lo |= 7;		// No package C-state limit | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_IO_CAPTURE_ADDR); | ||||
| 	msr.lo &= ~0x7ffff; | ||||
|   | ||||
| @@ -33,7 +33,7 @@ static void configure_c_states(void) | ||||
| { | ||||
| 	msr_t msr; | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo |= (1 << 15); // config lock until next reset | ||||
| 	msr.lo |= (1 << 10); // Enable I/O MWAIT redirection for C-States | ||||
| 	msr.lo &= ~(1 << 9); // Issue a single stop grant cycle upon stpclk | ||||
| @@ -43,7 +43,7 @@ static void configure_c_states(void) | ||||
| 	msr.lo &= ~7; | ||||
| 	msr.lo |= HIGHEST_CLEVEL; // support at most C3 | ||||
|  | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	/* Set Processor MWAIT IO BASE (P_BLK) */ | ||||
| 	msr.hi = 0; | ||||
|   | ||||
| @@ -33,7 +33,7 @@ static void configure_c_states(void) | ||||
| { | ||||
| 	msr_t msr; | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo |= (1 << 15); // config lock until next reset | ||||
| 	msr.lo |= (1 << 14); // Deeper Sleep | ||||
| 	msr.lo |= (1 << 10); // Enable I/O MWAIT redirection for C-States | ||||
| @@ -44,7 +44,7 @@ static void configure_c_states(void) | ||||
| 	msr.lo &= ~7; | ||||
| 	msr.lo |= HIGHEST_CLEVEL; // support at most C3 | ||||
|  | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	/* Set Processor MWAIT IO BASE (P_BLK) */ | ||||
| 	msr.hi = 0; | ||||
|   | ||||
| @@ -43,7 +43,7 @@ | ||||
| #define MSR_EBC_FREQUENCY_ID	0x2c | ||||
| #define MSR_FSB_FREQ		0xcd | ||||
| #define MSR_FSB_CLOCK_VCC	0xce | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PMG_IO_BASE_ADDR	0xe3 | ||||
| #define MSR_PMG_IO_CAPTURE_ADDR	0xe4 | ||||
| #define MSR_EXTENDED_CONFIG	0xee | ||||
|   | ||||
| @@ -47,7 +47,7 @@ | ||||
| static const struct reg_script core_msr_script[] = { | ||||
| #if !IS_ENABLED(CONFIG_SOC_INTEL_GLK) | ||||
| 	/* Enable C-state and IO/MWAIT redirect */ | ||||
| 	REG_MSR_WRITE(MSR_PMG_CST_CONFIG_CONTROL, | ||||
| 	REG_MSR_WRITE(MSR_PKG_CST_CONFIG_CONTROL, | ||||
| 		(PKG_C_STATE_LIMIT_C2_MASK | CORE_C_STATE_LIMIT_C10_MASK | ||||
| 		| IO_MWAIT_REDIRECT_MASK | CST_CFG_LOCK_MASK)), | ||||
| 	/* Power Management I/O base address for I/O trapping to C-states */ | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
| /* Core level MSRs */ | ||||
| const struct reg_script core_msr_script[] = { | ||||
| 	/* Dynamic L2 shrink enable and threshold, clear SINGLE_PCTL bit 11 */ | ||||
| 	REG_MSR_RMW(MSR_PMG_CST_CONFIG_CONTROL, ~0x3f080f, 0xe0008), | ||||
| 	REG_MSR_RMW(MSR_PKG_CST_CONFIG_CONTROL, ~0x3f080f, 0xe0008), | ||||
| 	REG_MSR_RMW(MSR_POWER_MISC, | ||||
| 		    ~(ENABLE_ULFM_AUTOCM_MASK | ENABLE_INDP_AUTOCM_MASK), 0), | ||||
| 	/* Disable C1E */ | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
| #define MSR_IA32_PLATFORM_ID		0x17 | ||||
| #define MSR_BSEL_CR_OVERCLOCK_CONTROL	0xcd | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define	SINGLE_PCTL			(1 << 11) | ||||
| #define MSR_POWER_MISC			0x120 | ||||
| #define	ENABLE_ULFM_AUTOCM_MASK		(1 << 2) | ||||
|   | ||||
| @@ -36,7 +36,7 @@ | ||||
| /* Core level MSRs */ | ||||
| static const struct reg_script core_msr_script[] = { | ||||
| 	/* Dynamic L2 shrink enable and threshold, clear SINGLE_PCTL bit 11 */ | ||||
| 	REG_MSR_RMW(MSR_PMG_CST_CONFIG_CONTROL, ~0x3f080f, 0xe0008), | ||||
| 	REG_MSR_RMW(MSR_PKG_CST_CONFIG_CONTROL, ~0x3f080f, 0xe0008), | ||||
| 	REG_MSR_RMW(MSR_POWER_MISC, | ||||
| 		    ~(ENABLE_ULFM_AUTOCM_MASK | ENABLE_INDP_AUTOCM_MASK), 0), | ||||
| 	/* Disable C1E */ | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
| #define MSR_IA32_BIOS_SIGN_ID		0x8B | ||||
| #define MSR_BSEL_CR_OVERCLOCK_CONTROL	0xcd | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define		SINGLE_PCTL			(1 << 11) | ||||
| #define MSR_POWER_MISC			0x120 | ||||
| #define		ENABLE_ULFM_AUTOCM_MASK		(1 << 2) | ||||
|   | ||||
| @@ -394,7 +394,7 @@ static void configure_c_states(void) | ||||
| { | ||||
| 	msr_t msr; | ||||
|  | ||||
| 	msr = rdmsr(MSR_PMG_CST_CONFIG_CONTROL); | ||||
| 	msr = rdmsr(MSR_PKG_CST_CONFIG_CONTROL); | ||||
| 	msr.lo |= (1 << 31);	// Timed MWAIT Enable | ||||
| 	msr.lo |= (1 << 30);	// Package c-state Undemotion Enable | ||||
| 	msr.lo |= (1 << 29);	// Package c-state Demotion Enable | ||||
| @@ -404,7 +404,7 @@ static void configure_c_states(void) | ||||
| 	msr.lo |= (1 << 25);	// C3 Auto Demotion Enable | ||||
| 	msr.lo &= ~(1 << 10);	// Disable IO MWAIT redirection | ||||
| 	/* The deepest package c-state defaults to factory-configured value. */ | ||||
| 	wrmsr(MSR_PMG_CST_CONFIG_CONTROL, msr); | ||||
| 	wrmsr(MSR_PKG_CST_CONFIG_CONTROL, msr); | ||||
|  | ||||
| 	msr = rdmsr(MSR_MISC_PWR_MGMT); | ||||
| 	msr.lo &= ~(1 << 0);	// Enable P-state HW_ALL coordination | ||||
|   | ||||
| @@ -23,7 +23,7 @@ | ||||
| #define  CPUID_SMX			(1 << 6) | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define  PLATFORM_INFO_SET_TDP		(1 << 29) | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PMG_IO_CAPTURE_BASE		0xe4 | ||||
| #define MSR_FEATURE_CONFIG		0x13c | ||||
| #define SMM_MCA_CAP_MSR			0x17d | ||||
|   | ||||
| @@ -25,14 +25,14 @@ | ||||
| #define  SGX_GLOBAL_ENABLE	(1 << 18) | ||||
| #define  PLATFORM_INFO_SET_TDP	(1 << 29) | ||||
| #define MSR_PLATFORM_INFO	0xce | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| /* Set MSR_PMG_CST_CONFIG_CONTROL[3:0] for Package C-State limit */ | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| /* Set MSR_PKG_CST_CONFIG_CONTROL[3:0] for Package C-State limit */ | ||||
| #define   PKG_C_STATE_LIMIT_C2_MASK	0x2 | ||||
| /* Set MSR_PMG_CST_CONFIG_CONTROL[7:4] for Core C-State limit*/ | ||||
| /* Set MSR_PKG_CST_CONFIG_CONTROL[7:4] for Core C-State limit*/ | ||||
| #define   CORE_C_STATE_LIMIT_C10_MASK	0x70 | ||||
| /* Set MSR_PMG_CST_CONFIG_CONTROL[10] to IO redirect to MWAIT */ | ||||
| /* Set MSR_PKG_CST_CONFIG_CONTROL[10] to IO redirect to MWAIT */ | ||||
| #define   IO_MWAIT_REDIRECT_MASK	0x400 | ||||
| /* Set MSR_PMG_CST_CONFIG_CONTROL[15] to lock CST_CFG [0-15] bits */ | ||||
| /* Set MSR_PKG_CST_CONFIG_CONTROL[15] to lock CST_CFG [0-15] bits */ | ||||
| #define   CST_CFG_LOCK_MASK	0x8000 | ||||
| #define MSR_BIOS_UPGD_TRIG	0x7a | ||||
| #define  SGX_ACTIVATE_BIT	(1) | ||||
|   | ||||
| @@ -26,7 +26,7 @@ | ||||
| #define CPUID_SMX (1 << 6) | ||||
| #define MSR_PLATFORM_INFO 0xce | ||||
| #define PLATFORM_INFO_SET_TDP (1 << 29) | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL 0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL 0xe2 | ||||
| #define MSR_PMG_IO_CAPTURE_BASE 0xe4 | ||||
| #define MSR_FEATURE_CONFIG 0x13c | ||||
| #define SMM_MCA_CAP_MSR 0x17d | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
| /* Core level MSRs */ | ||||
| static const struct reg_script core_msr_script[] = { | ||||
| 	/* Dynamic L2 shrink enable and threshold */ | ||||
| 	REG_MSR_RMW(MSR_PMG_CST_CONFIG_CONTROL, ~0x3f000f, 0xe0008), | ||||
| 	REG_MSR_RMW(MSR_PKG_CST_CONFIG_CONTROL, ~0x3f000f, 0xe0008), | ||||
| 	/* Disable C1E */ | ||||
| 	REG_MSR_RMW(MSR_POWER_CTL, ~0x2, 0), | ||||
| 	REG_MSR_OR(MSR_POWER_MISC, 0x44), | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
| #define MSR_IA32_PLATFORM_ID		0x17 | ||||
| #define MSR_BSEL_CR_OVERCLOCK_CONTROL	0xcd | ||||
| #define MSR_PLATFORM_INFO		0xce | ||||
| #define MSR_PMG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_PKG_CST_CONFIG_CONTROL	0xe2 | ||||
| #define MSR_POWER_MISC			0x120 | ||||
| #define MSR_IA32_PERF_CTL		0x199 | ||||
| #define MSR_IA32_MISC_ENABLES		0x1a0 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user