[coreboot-gerrit] Patch set updated for coreboot: cpu/amd/model_fxx: Fix invalid P-state power values
Timothy Pearson (tpearson@raptorengineeringinc.com)
gerrit at coreboot.org
Wed Oct 28 23:20:14 CET 2015
Timothy Pearson (tpearson at raptorengineeringinc.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/12233
-gerrit
commit 551fc155d62b6268a615a2ea8d169d71e6877238
Author: Timothy Pearson <tpearson at raptorengineeringinc.com>
Date: Wed Oct 28 17:13:28 2015 -0500
cpu/amd/model_fxx: Fix invalid P-state power values
Change-Id: Ifdb1d1f267af289d962effe1150c7bc0a39cb5d2
Signed-off-by: Timothy Pearson <tpearson at raptorengineeringinc.com>
---
src/cpu/amd/model_fxx/powernow_acpi.c | 46 ++++++++++++++++-------------------
1 file changed, 21 insertions(+), 25 deletions(-)
diff --git a/src/cpu/amd/model_fxx/powernow_acpi.c b/src/cpu/amd/model_fxx/powernow_acpi.c
index 1ce746d..53330f9 100644
--- a/src/cpu/amd/model_fxx/powernow_acpi.c
+++ b/src/cpu/amd/model_fxx/powernow_acpi.c
@@ -250,17 +250,17 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
Pstate_vid[1] = Pstate_vid[0] + 0x1;
Pstate_volt[1] = 1550 - Pstate_vid[1] * 25;
Pstate_power[1] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1] /
- (Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
}
if (((Pstate_vid[0] & 0x1) == 0) && ((Pstate_vid[0] - 0x1) < Min_vid)) { /* even value */
Pstate_vid[1] = Pstate_vid[0] + PstateStep_coef;
Pstate_volt[1] = 1550 - Pstate_vid[1] * 25;
Pstate_power[1] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1] /
- (Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
}
Pstate_num++;
}
@@ -274,17 +274,17 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
Pstate_vid[1] = Pstate_vid[0] + 0x1;
Pstate_volt[1] = 1550 - Pstate_vid[1] * 25;
Pstate_power[1] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1] /
- (Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
}
if (((Pstate_vid[0] & 0x1) == 0) && ((Pstate_vid[0] - 0x1) < Min_vid)) { /* even value */
Pstate_vid[1] = Pstate_vid[0] + PstateStep_coef;
Pstate_volt[1] = 1550 - Pstate_vid[1] * 25;
Pstate_power[1] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1] /
- (Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[1] * Pstate_volt[1] * Pstate_volt[1]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
}
Pstate_num++;
@@ -309,11 +309,9 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
Pstate_volt[Pstate_num] =
1550 - Pstate_vid[Pstate_num] * 25;
Pstate_power[Pstate_num] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[Pstate_num] * Pstate_volt[Pstate_num] *
- Pstate_volt[Pstate_num] / (Pstate_feq[0] *
- Pstate_volt[0] *
- Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[Pstate_num] * Pstate_volt[Pstate_num] * Pstate_volt[Pstate_num]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
}
Pstate_num++;
}
@@ -327,10 +325,9 @@ nointpstatesup:
Pstate_vid[Pstate_num] = Min_vid;
Pstate_volt[Pstate_num] = 1550 - Pstate_vid[Pstate_num] * 25;
Pstate_power[Pstate_num] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[Pstate_num] * Pstate_volt[Pstate_num] *
- Pstate_volt[Pstate_num] / (Pstate_feq[0] * Pstate_volt[0] *
- Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[Pstate_num] * Pstate_volt[Pstate_num] * Pstate_volt[Pstate_num]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
Pstate_num++;
} else {
Pstate_fid[Pstate_num] = Start_fid;
@@ -339,10 +336,9 @@ nointpstatesup:
Pstate_vid[Pstate_num] = Min_vid;
Pstate_volt[Pstate_num] = 1550 - Pstate_vid[Pstate_num] * 25;
Pstate_power[Pstate_num] =
- (unsigned long long)Pstate_power[0] *
- Pstate_feq[Pstate_num] * Pstate_volt[Pstate_num] *
- Pstate_volt[Pstate_num] / (Pstate_feq[0] * Pstate_volt[0] *
- Pstate_volt[0]);
+ ((unsigned long long)Pstate_power[0] *
+ Pstate_feq[Pstate_num] * Pstate_volt[Pstate_num] * Pstate_volt[Pstate_num]) /
+ ((unsigned long long)Pstate_feq[0] * Pstate_volt[0] * Pstate_volt[0]);
Pstate_num++;
}
More information about the coreboot-gerrit
mailing list