summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineering.com>2018-04-24 21:13:30 -0500
committerRaptor Engineering Development Team <support@raptorengineering.com>2020-02-19 20:15:51 +0000
commitd86c20f59ea1d977b0eb2ed7e2acf911ac037356 (patch)
tree7d83f4a493ae5477a43bbf95de8f125f2917a102 /src/import/chips/p9/procedures
parentcaaf22c3e140c1b0b201a14473a6863939030864 (diff)
downloadtalos-hostboot-d86c20f59ea1d977b0eb2ed7e2acf911ac037356.tar.gz
talos-hostboot-d86c20f59ea1d977b0eb2ed7e2acf911ac037356.zip
Cap voltage offset when biased This fixes spurious (invalid) voltage requests when the bias frequency exceeds the maximum WoF frequency
Signed-off-by: Timothy Pearson <tpearson@raptorengineering.com>
Diffstat (limited to 'src/import/chips/p9/procedures')
-rw-r--r--src/import/chips/p9/procedures/hwp/pm/p9_pstate_parameter_block.C8
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 7889f7045..413c340b0 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
@@ -1793,11 +1793,15 @@ uint32_t PlatPmPPB::ps2v_mv(const Pstate i_pstate)
FAPI_INF ("l_SlopeValue %x",l_SlopeValue);
- uint32_t x = (l_SlopeValue * (-i_pstate + iv_operating_points[VPD_PT_SET_BIASED_SYSP][region_start].pstate));
+ int32_t x_candidate = (l_SlopeValue * (-i_pstate + iv_operating_points[VPD_PT_SET_BIASED_SYSP][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 + iv_operating_points[VPD_PT_SET_BIASED_SYSP][region_start].pstate)) >> VID_SLOPE_FP_SHIFT_12)
+ ((x >> VID_SLOPE_FP_SHIFT_12)
+ (iv_operating_points[VPD_PT_SET_BIASED_SYSP][region_start].vdd_mv));
// Round up
OpenPOWER on IntegriCloud