diff options
author | Timothy Pearson <tpearson@raptorengineering.com> | 2018-04-24 21:13:30 -0500 |
---|---|---|
committer | Raptor Engineering Development Team <support@raptorengineering.com> | 2018-04-30 03:59:04 -0500 |
commit | e36ec63e58344f854317e79d060f2ab9108103c2 (patch) | |
tree | 5417b6dcde8357ee8243ee1ec3aed886810342e1 | |
parent | e5b2b878653494ba4c94c8db2e6bb4c1e3302f3e (diff) | |
download | talos-hostboot-04-30-2018.tar.gz talos-hostboot-04-30-2018.zip |
Cap voltage offset when biased04-30-2018
This fixes spurious (invalid) voltage requests when the bias frequency exceeds the maximum WoF frequency
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C b/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C index 02b7cb39d..f44649336 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C @@ -4866,11 +4866,15 @@ uint32_t ps2v_mv(const Pstate i_pstate, FAPI_INF ("l_SlopeValue %x",l_SlopeValue); - uint32_t x = (l_SlopeValue * (-i_pstate + i_operating_points[region_start].pstate)); + int32_t x_candidate = (l_SlopeValue * (-i_pstate + i_operating_points[region_start].pstate)); + uint32_t x = 0; uint32_t y = x >> VID_SLOPE_FP_SHIFT_12; + if (x_candidate > 0) + x = x_candidate; + uint32_t l_vdd = - (((l_SlopeValue * (-i_pstate + i_operating_points[region_start].pstate)) >> VID_SLOPE_FP_SHIFT_12) + ((x >> VID_SLOPE_FP_SHIFT_12) + revle32(i_operating_points[region_start].vdd_mv)); // Round up |