Werner Zeh has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/69185 )
Change subject: soc/intel/block/power_limit: Avoid MSR read if it is not needed ......................................................................
soc/intel/block/power_limit: Avoid MSR read if it is not needed
In function 'set_power_limits' there is a path to bail out early if the Kconfig switch SOC_INTEL_DISABLE_POWER_LIMITS is selected. In this case reading the MSR PLATFORM_INFO is useless and can be avoided. So read it right before the value is needed.
In addition, fix an unnecessary line break to increase code readability.
Found-by: scanbuild
Change-Id: Ibdededdfd56287fb9b9223e78033a3cd6425e1a2 Signed-off-by: Werner Zeh werner.zeh@siemens.com --- M src/soc/intel/common/block/power_limit/power_limit.c 1 file changed, 22 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/85/69185/1
diff --git a/src/soc/intel/common/block/power_limit/power_limit.c b/src/soc/intel/common/block/power_limit/power_limit.c index dce174b..d7c9077 100644 --- a/src/soc/intel/common/block/power_limit/power_limit.c +++ b/src/soc/intel/common/block/power_limit/power_limit.c @@ -72,7 +72,7 @@ void set_power_limits(u8 power_limit_1_time, struct soc_power_limits_config *conf) { - msr_t msr = rdmsr(MSR_PLATFORM_INFO); + msr_t msr; msr_t limit; unsigned int power_unit; unsigned int tdp, min_power, max_power, max_time, tdp_pl2, tdp_pl1; @@ -96,9 +96,9 @@ }
if (power_limit_1_time >= ARRAY_SIZE(power_limit_time_sec_to_msr)) - power_limit_1_time = - ARRAY_SIZE(power_limit_time_sec_to_msr) - 1; + power_limit_1_time = ARRAY_SIZE(power_limit_time_sec_to_msr) - 1;
+ msr = rdmsr(MSR_PLATFORM_INFO); if (!(msr.lo & PLATFORM_INFO_SET_TDP)) return;