summaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2021-12-09 12:16:39 +0100
committerFelix Held <felix-coreboot@felixheld.de>2021-12-10 14:30:12 +0000
commit92226dc6c3a769c0ba107b002ae05aee907b14e2 (patch)
treeae175d332002d47605f526571690fe4e00577c44 /src/soc/intel/skylake
parentdbd2362caaa36af41efb22a04bdefcc4b52639b7 (diff)
soc/intel/{skylake/cannonlake}: Fix bug in vr_config
The `cpu_get_power_max()` function returns the TDP in milliwatts, but the vr_config code interprets the value in watts. Divide the value by 1000 to fix this. This also fixes an integer overflow when `cpu_get_power_max()` returns a value greater than 65535 (UINT16_MAX). Change-Id: Ibe9e0db6762eee5cc363f8b371c8538eb92f6308 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/60001 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Singer <felixsinger@posteo.net>
Diffstat (limited to 'src/soc/intel/skylake')
-rw-r--r--src/soc/intel/skylake/vr_config.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/soc/intel/skylake/vr_config.c b/src/soc/intel/skylake/vr_config.c
index d72fa1fdc9..b807f54be3 100644
--- a/src/soc/intel/skylake/vr_config.c
+++ b/src/soc/intel/skylake/vr_config.c
@@ -62,7 +62,7 @@ static const struct vr_config default_configs[NUM_VR_DOMAINS] = {
static uint16_t get_sku_icc_max(int domain)
{
- const uint16_t tdp = cpu_get_power_max();
+ const uint16_t tdp = cpu_get_power_max() / 1000;
static uint16_t mch_id = 0, igd_id = 0;
if (!mch_id) {