[coreboot-gerrit] New patch to review for coreboot: 71ea297 amd/amdfam10: Fix invalid transition latency in PowerNow! _PSS objects
Timothy Pearson (tpearson@raptorengineeringinc.com)
gerrit at coreboot.org
Fri Feb 6 23:12:00 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/8376
-gerrit
commit 71ea29718d15452ad42b97d36ca9f26782abc657
Author: Timothy Pearson <tpearson at raptorengineeringinc.com>
Date: Fri Feb 6 16:07:53 2015 -0600
amd/amdfam10: Fix invalid transition latency in PowerNow! _PSS objects
Coverity caught a mistake that led to an invalid 0 latency in
the automatically generated PowerNow! ACPI _PSS objects.
Fixed remaining Coverity warnings.
Change-Id: I03cecab694708136dc555ca2af7ee9a0bf9be5af
Signed-off-by: Timothy Pearson <tpearson at raptorengineeringinc.com>
---
src/cpu/amd/model_10xxx/powernow_acpi.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/cpu/amd/model_10xxx/powernow_acpi.c b/src/cpu/amd/model_10xxx/powernow_acpi.c
index e4e0289..f12d483 100644
--- a/src/cpu/amd/model_10xxx/powernow_acpi.c
+++ b/src/cpu/amd/model_10xxx/powernow_acpi.c
@@ -76,11 +76,11 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
u32 *v;
struct cpuid_result cpuid1;
- u16 Pstate_feq[10];
- u32 Pstate_power[10];
- u32 Pstate_latency[10];
- u32 Pstate_control[10];
- u32 Pstate_status[10];
+ u16 Pstate_feq[10] = {0};
+ u32 Pstate_power[10] = {0};
+ u32 Pstate_latency[10] = {0};
+ u32 Pstate_control[10] = {0};
+ u32 Pstate_status[10] = {0};
u8 Pstate_num;
u8 cmp_cap;
u8 index;
@@ -204,6 +204,9 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
case 0x3:
expanded_cpuidv = 1000;
break;
+ default:
+ /* Should never reach this statement, but avoid a crash if we do */
+ expanded_cpuidv = 1;
}
core_power = (core_voltage * cpuidd) / (expanded_cpuidv * 10);
@@ -212,7 +215,7 @@ static void pstates_algorithm(u32 pcontrol_blk, u8 plen, u8 onlyBSP)
power_step_up = (dtemp & 0xf000000) >> 24;
power_step_down = (dtemp & 0xf00000) >> 20;
dtemp = pci_read_config32(dev_find_slot(0, PCI_DEVFN(0x18, 3)), 0xA0);
- pll_lock_time = (pll_lock_time & 0x3800) >> 11;
+ pll_lock_time = (dtemp & 0x3800) >> 11;
if (all_enabled_cores_have_same_cpufid)
core_latency = ((12 * power_step_down) + power_step_up) / 1000;
else
More information about the coreboot-gerrit
mailing list