Attention is currently required from: Maulik V Vaghela, Paul Menzel, Sridhar Siricilla, Subrata Banik, Kane Chen, Patrick Rudolph. Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/61678 )
Change subject: soc/intel/alderlake: Disable Energy Efficient Turbo for ADL ......................................................................
Patch Set 1:
(1 comment)
File src/soc/intel/alderlake/fsp_params.c:
https://review.coreboot.org/c/coreboot/+/61678/comment/f0ec3560_eeaa580b PS1, Line 658: * Disable the energy efficient turbo mode */ : s_cfg->EnergyEfficientTurbo = 0;
With this feature, CPU doesn't hit turbo frequency when needed. […]
Sure, but power and performance need to be verified.
Also referring to the implementation again, this is just a bit in MSR_POWER_CTL, could we just move to a patch more like this?
``` diff --git a/src/soc/intel/alderlake/chip.h b/src/soc/intel/alderlake/chip.h index a5543d6364..1271f971fb 100644 --- a/src/soc/intel/alderlake/chip.h +++ b/src/soc/intel/alderlake/chip.h @@ -559,6 +559,9 @@ struct soc_intel_alderlake_config { * Default 0. Setting this to 1 enable CNVi DDR RFIM. */ bool CnviDdrRfim; + + /* Control whether "Energy-Efficient Turbo" is enabled or not (MSR_POWER_CTL) */ + bool energy_efficient_turbo; };
typedef struct soc_intel_alderlake_config config_t; diff --git a/src/soc/intel/alderlake/cpu.c b/src/soc/intel/alderlake/cpu.c index 426f6216b6..caac3482e9 100644 --- a/src/soc/intel/alderlake/cpu.c +++ b/src/soc/intel/alderlake/cpu.c @@ -67,10 +67,12 @@ static void configure_misc(void) msr.hi = 0; wrmsr(IA32_PACKAGE_THERM_INTERRUPT, msr);
- /* Enable PROCHOT */ + /* Enable PROCHOT and energy-efficient turbo */ msr = rdmsr(MSR_POWER_CTL); msr.lo |= (1 << 0); /* Enable Bi-directional PROCHOT as an input */ msr.lo |= (1 << 23); /* Lock it */ + if (!conf->energy_efficient_turbo) + msr.lo |= (1 << 19); /* Set the Disable Energy Efficient Turbo bit. */ wrmsr(MSR_POWER_CTL, msr); } ```