summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWerner Zeh <werner.zeh@siemens.com>2022-11-03 13:11:30 +0100
committerFelix Held <felix-coreboot@felixheld.de>2022-11-05 03:01:54 +0000
commit44bf309309dc7d750b7640780ce7e106a53a7824 (patch)
treebeabde5814bdfd84bac3505ecac0bb5ea90c4d42 /src
parentae129fc6d6fa714d5a2149f99316900148670249 (diff)
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. This was found by the scanbuild. In addition, fix an unnecessary line break to increase code readability. Change-Id: Ibdededdfd56287fb9b9223e78033a3cd6425e1a2 Signed-off-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/69185 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marc Jones <marc@marcjonesconsulting.com> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/common/block/power_limit/power_limit.c6
1 files changed, 3 insertions, 3 deletions
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 dce174b38a..d7c9077cb1 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 @@ static const u8 power_limit_time_msr_to_sec[] = {
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 @@ void set_power_limits(u8 power_limit_1_time,
}
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;