diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2014-10-29 11:05:13 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-11-12 14:47:20 -0600 |
commit | e8028260a977f8231653fce810ddf1fcbf3f3c34 (patch) | |
tree | 04051badf69ec52c03896477a270fb30266326f8 /src/usr/hwpf/hwp/mc_config | |
parent | 85a60a8998a743e65660a8282bc758b3e3ed0056 (diff) | |
download | talos-hostboot-e8028260a977f8231653fce810ddf1fcbf3f3c34.tar.gz talos-hostboot-e8028260a977f8231653fce810ddf1fcbf3f3c34.zip |
SW281594: Update HWP mss_volt_vddr_offset to limit VDDR maximum voltage
Change-Id: Ic4015d9d4630b74179492e14ba5fee22cd258e85
CQ:SW281594
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13894
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Tested-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14235
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/mc_config')
-rw-r--r-- | src/usr/hwpf/hwp/mc_config/mss_volt/mss_volt_vddr_offset.C | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/usr/hwpf/hwp/mc_config/mss_volt/mss_volt_vddr_offset.C b/src/usr/hwpf/hwp/mc_config/mss_volt/mss_volt_vddr_offset.C index c07b4b9f3..5468f3953 100644 --- a/src/usr/hwpf/hwp/mc_config/mss_volt/mss_volt_vddr_offset.C +++ b/src/usr/hwpf/hwp/mc_config/mss_volt/mss_volt_vddr_offset.C @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: mss_volt_vddr_offset.C,v 1.19 2014/09/12 15:38:08 sglancy Exp $ +// $Id: mss_volt_vddr_offset.C,v 1.20 2014/10/06 15:56:56 sglancy Exp $ /* File mss_volt_vddr_offset.C created by Stephen Glancy on Tue 20 May 2014. */ //------------------------------------------------------------------------------ @@ -45,6 +45,7 @@ //------------------------------------------------------------------------------ // Version:| Author: | Date: | Comment: //---------|----------|----------|----------------------------------------------- +// 1.20 | sglancy | 10/06/14 | Added in checks for going over voltage limits // 1.19 | sglancy | 09/12/14 | Removed references to EFF attributes // 1.18 | sglancy | 09/11/14 | Fixed bugs and fixed typos // 1.17 | sglancy | 09/10/14 | Added additional checks for bad master power values @@ -100,6 +101,7 @@ fapi::ReturnCode mss_volt_vddr_offset(std::vector<fapi::Target> & i_targets) uint8_t enable, is_functional; uint8_t num_non_functional = 0; uint8_t percent_uplift,percent_uplift_idle; + uint32_t vddr_max_limit_mv; std::vector<fapi::Target> l_mbaChiplets; std::vector<fapi::Target> l_dimm_targets; @@ -208,6 +210,8 @@ fapi::ReturnCode mss_volt_vddr_offset(std::vector<fapi::Target> & i_targets) if(l_rc) return l_rc; l_rc = FAPI_ATTR_GET(ATTR_MSS_DDR3_VDDR_INTERCEPT,NULL,volt_intercept); if(l_rc) return l_rc; + l_rc = FAPI_ATTR_GET(ATTR_MRW_DDR3_VDDR_MAX_LIMIT,NULL,vddr_max_limit_mv); + if(l_rc) return l_rc; } //ddr4 else { @@ -215,6 +219,8 @@ fapi::ReturnCode mss_volt_vddr_offset(std::vector<fapi::Target> & i_targets) if(l_rc) return l_rc; l_rc = FAPI_ATTR_GET(ATTR_MSS_DDR4_VDDR_INTERCEPT,NULL,volt_intercept); if(l_rc) return l_rc; + l_rc = FAPI_ATTR_GET(ATTR_MRW_DDR4_VDDR_MAX_LIMIT,NULL,vddr_max_limit_mv); + if(l_rc) return l_rc; } //computes the active an inactive attribute values @@ -338,6 +344,12 @@ fapi::ReturnCode mss_volt_vddr_offset(std::vector<fapi::Target> & i_targets) //computes and converts the voltage offset into mV uint32_t param_vddr_voltage_mv = (500 + var_power_on_vddr*volt_slope/100) / 1000 + volt_intercept; FAPI_INF("param_vddr_voltage_mv: %d mV",param_vddr_voltage_mv); + //found that the VDDR voltage is over the maximum limit + if(param_vddr_voltage_mv > vddr_max_limit_mv) { + FAPI_INF("param_vddr_voltage_mv, %d mV, is over vddr_max_limit_mv of %d mV.",param_vddr_voltage_mv,vddr_max_limit_mv); + FAPI_INF("Setting param_vddr_voltage_mv to vddr_max_limit_mv"); + param_vddr_voltage_mv = vddr_max_limit_mv; + } //prints a debug statement FAPI_INF("ATTR_MSS_VDDR_OFFSET: %d mV",param_vddr_voltage_mv); |