diff options
| author | Thi Tran <thi@us.ibm.com> | 2014-09-06 07:56:02 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-09-16 12:54:02 -0500 |
| commit | f60ed56caccfebc5f5baa4259fac5f2767571852 (patch) | |
| tree | 73b5e030dc5dd739b1800bdc33f0a033dbd82f0b | |
| parent | af6b57dcb79e522d6a4e140f7952f58b3419cee1 (diff) | |
| download | blackbird-hostboot-f60ed56caccfebc5f5baa4259fac5f2767571852.tar.gz blackbird-hostboot-f60ed56caccfebc5f5baa4259fac5f2767571852.zip | |
SW276810: Integrate HWPs to use new power curve attribute
CQ:SW276810
Change-Id: Iad64f8cf1bfdb0c0b83e050f659249dbd89da0de
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13185
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Tested-by: William H. Schwartz <whs@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Tested-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13189
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Tested-by: Jenkins Server
11 files changed, 86 insertions, 33 deletions
diff --git a/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_throttle_to_power.C b/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_throttle_to_power.C index 231ac3aea..f73143a40 100644 --- a/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_throttle_to_power.C +++ b/src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_throttle_to_power.C @@ -22,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: mss_throttle_to_power.C,v 1.14 2014/06/02 13:10:49 pardeik Exp $ +// $Id: mss_throttle_to_power.C,v 1.15 2014/08/28 21:56:28 pardeik Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/ // centaur/working/procedures/ipl/fapi/mss_throttle_to_power.C,v $ //------------------------------------------------------------------------------ @@ -49,6 +49,7 @@ //------------------------------------------------------------------------------ // Version:| Author: | Date: | Comment: //---------|----------|---------|----------------------------------------------- +// 1.15 | pardeik |27-AUG-14| use new power curve uplift attribute for idle // 1.14 | pardeik |21-MAY-14| Fixed power calculations // 1.13 | jdsloat |10-MAR-14| Edited comments // 1.12 | pardeik |06-JAN-14| added dimm power curve uplift from MRW @@ -220,7 +221,9 @@ extern "C" { float l_channel_power_array[MAX_NUM_PORTS]; uint32_t l_channel_power_array_integer[MAX_NUM_PORTS]; uint32_t l_channel_pair_power_integer; + float l_uplift; uint8_t l_power_curve_percent_uplift; + uint8_t l_power_curve_percent_uplift_idle; uint32_t l_max_dram_databus_util; uint8_t num_mba_with_dimms; uint8_t custom_dimm; @@ -228,6 +231,7 @@ extern "C" { std::vector<fapi::Target> target_mba_array; std::vector<fapi::Target> target_dimm_array; uint8_t mba_index; + uint8_t l_utilization_idle = 0; // get input attributes @@ -243,6 +247,12 @@ extern "C" { FAPI_ERR("Error getting attribute ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT"); return rc; } + rc = FAPI_ATTR_GET(ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE, + NULL, l_power_curve_percent_uplift_idle); + if (rc) { + FAPI_ERR("Error getting attribute ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE"); + return rc; + } rc = FAPI_ATTR_GET(ATTR_MSS_POWER_SLOPE, &i_target_mba, l_power_slope_array); if (rc) { @@ -414,18 +424,19 @@ extern "C" { } // Get dimm power in integer format (add on 1 since value will get truncated) // Include any system uplift here too + l_uplift = ( (l_power_curve_percent_uplift - l_power_curve_percent_uplift_idle) / (MAX_UTIL - l_utilization_idle) ) * l_utilization + l_power_curve_percent_uplift_idle; if (l_dimm_power_array[l_port][l_dimm] > 0) { l_dimm_power_array[l_port][l_dimm] = l_dimm_power_array[l_port][l_dimm] - * (1 + (float)l_power_curve_percent_uplift / 100); + * (1 + l_uplift / 100); l_dimm_power_array_integer[l_port][l_dimm] = (int)l_dimm_power_array[l_port][l_dimm] + 1; } // calculate channel power by adding up the power of each dimm l_channel_power_array[l_port] = l_channel_power_array[l_port] + l_dimm_power_array[l_port][l_dimm]; - FAPI_DBG("[P%d:D%d][CH Util %4.2f/%4.2f][Slope:Int %d:%d][UpliftPercent %d][Power %4.2f cW]", l_port, l_dimm, l_utilization, MAX_UTIL, l_power_slope_array[l_port][l_dimm], l_power_int_array[l_port][l_dimm], l_power_curve_percent_uplift, l_dimm_power_array[l_port][l_dimm]); + FAPI_DBG("[P%d:D%d][CH Util %4.2f/%4.2f][Slope:Int %d:%d][UpliftPercent %4.2f (min/max %d/%d)][Power %4.2f cW]", l_port, l_dimm, l_utilization, MAX_UTIL, l_power_slope_array[l_port][l_dimm], l_power_int_array[l_port][l_dimm], l_uplift, l_power_curve_percent_uplift_idle, l_power_curve_percent_uplift, l_dimm_power_array[l_port][l_dimm]); } FAPI_DBG("[P%d][Power %4.2f cW]", l_port, l_channel_power_array[l_port]); } diff --git a/src/usr/hwpf/hwp/memory_attributes.xml b/src/usr/hwpf/hwp/memory_attributes.xml index 3bce9dd7a..eb27a6928 100644 --- a/src/usr/hwpf/hwp/memory_attributes.xml +++ b/src/usr/hwpf/hwp/memory_attributes.xml @@ -23,7 +23,7 @@ <!-- --> <!-- IBM_PROLOG_END_TAG --> <attributes> -<!-- $Id: memory_attributes.xml,v 1.132 2014/08/26 19:05:44 jdsloat Exp $ --> +<!-- $Id: memory_attributes.xml,v 1.134 2014/09/08 21:27:37 thi Exp $ --> <!-- DO NOT EDIT THIS FILE DIRECTLY PLEASE UPDATE THE ODS FILE AND FOLLOW THE INSTRUCTION TAB --> <!-- PLEASE SEE MARK BELLOWS (BELLOWS.IBM.COM) OR OTHERS ON MEMORY TEAM FOR HELP --> <!-- *********************************************************************** --> @@ -2195,13 +2195,11 @@ bits6:7 will be consumed together to form COARSE_LVL. </description> <valueType>uint8</valueType> <enum>DISABLE = 1, ENABLE = 0</enum> <platInit/> - <writeable/> <odmVisable/> <odmChangeable/> <persistRuntime/> </attribute> - <attribute> <id>ATTR_MSS_MEM_IPL_COMPLETE</id> <targetType>TARGET_TYPE_PROC_CHIP</targetType> @@ -2462,7 +2460,17 @@ Will be set at an MBA level with one policy to be used</description> <attribute> <id>ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT</id> <targetType>TARGET_TYPE_SYSTEM</targetType> - <description>Machine Readable Workbook DIMM power curve percent uplift for this system</description> + <description>Machine Readable Workbook DIMM power curve percent uplift for this system at max utilization.</description> + <valueType>uint8</valueType> + <platInit/> + <odmVisable/> + <persistRuntime/> +</attribute> + +<attribute> + <id>ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE</id> + <targetType>TARGET_TYPE_SYSTEM</targetType> + <description>Machine Readable Workbook DIMM power curve percent uplift for this system at idle utilization.</description> <valueType>uint8</valueType> <platInit/> <odmVisable/> diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl index bc3816d97..00a7eb63f 100755 --- a/src/usr/targeting/common/genHwsvMrwXml.pl +++ b/src/usr/targeting/common/genHwsvMrwXml.pl @@ -192,6 +192,8 @@ push @systemAttr, "MEM_MIRROR_PLACEMENT_POLICY", $placement, "MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT", $reqPol->{'dimm_power_curve_percent_uplift'}, + "MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE", + $reqPol->{'dimm_power_curve_percent_uplift_idle'}, "MRW_MEM_THROTTLE_DENOMINATOR", $reqPol->{'mem_throttle_denominator'}, "MRW_MAX_DRAM_DATABUS_UTIL", diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 2cdd0bcc7..9f967f52b 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -8606,22 +8606,6 @@ bits6:7 will be consumed together to form COARSE_LVL. </description> </attribute> <attribute> - <id>MSS_DRAMINIT_RESET_DISABLE</id> - <description>A disable switch for resetting the phy delay values at the beginning of calling mss_draminit_training.</description> - <simpleType> - <uint8_t> - </uint8_t> - </simpleType> - <persistency>volatile-zeroed</persistency> - <readable/> - <writeable/> - <hwpfToHbAttrMap> - <id>ATTR_MSS_DRAMINIT_RESET_DISABLE</id> - <macro>DIRECT</macro> - </hwpfToHbAttrMap> -</attribute> - -<attribute> <id>MSS_MEM_IPL_COMPLETE</id> <description>A numerical number indicating if the memory procedures are complete. written by mss_setup_bars when the bars are now functional in the processor. </description> <simpleType> @@ -13067,6 +13051,22 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript </attribute> <attribute> + <id>MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE</id> + <description>Machine Readable Workbook DIMM power curve percent uplift for this system at idle utilization.</description> + <simpleType> + <uint8_t> + <default>0x0</default> + </uint8_t> + </simpleType> + <persistency>non-volatile</persistency> + <readable/> + <hwpfToHbAttrMap> + <id>ATTR_MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE</id> + <macro>DIRECT</macro> + </hwpfToHbAttrMap> +</attribute> + +<attribute> <id>MRW_MEM_THROTTLE_DENOMINATOR</id> <description>Machine Readable Workbook throttle value for denominator cfg_nm_m</description> <simpleType> @@ -14286,10 +14286,24 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript <readable/> <writeable/> </attribute> +<attribute> + <id>MSS_DRAMINIT_RESET_DISABLE</id> + <description>A disable switch for resetting the phy delay values at the beginning of calling mss_draminit_training.</description> + <simpleType> + <uint8_t> + </uint8_t> + </simpleType> + <persistency>non-volatile</persistency> + <readable/> + <hwpfToHbAttrMap> + <id>ATTR_MSS_DRAMINIT_RESET_DISABLE</id> + <macro>DIRECT</macro> + </hwpfToHbAttrMap> +</attribute> <!-- TODO RTC: 113491 ISDIMM DQ data decompression --> <attribute> - <id>ATTR_VPD_ISDIMMTOC4DQ</id> + <id>VPD_ISDIMMTOC4DQ</id> <description> ISDIMM DQ mapping that comes from QX keyword on the CDIMM VPD. </description> @@ -14308,7 +14322,7 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript <!-- TODO RTC: 113491 ISDIMM DQ data decompression --> <attribute> - <id>ATTR_VPD_ISDIMMTOC4DQS</id> + <id>VPD_ISDIMMTOC4DQS</id> <description> ISDIMM DQQ mapping that comes from QS keyword on the CDIMM VPD. </description> @@ -14342,3 +14356,4 @@ firmware notes: Platforms should initialize this attribute to AUTO (0)</descript </attribute> </attributes> + diff --git a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml index 1291a2ff2..badbf94ae 100644 --- a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml @@ -5,7 +5,9 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2011,2014 --> +<!-- Contributors Listed Below - COPYRIGHT 2012,2014 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> diff --git a/src/usr/targeting/common/xmltohb/simics_NAPLES.system.xml b/src/usr/targeting/common/xmltohb/simics_NAPLES.system.xml index 7a0bd1853..7c5da001c 100644 --- a/src/usr/targeting/common/xmltohb/simics_NAPLES.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_NAPLES.system.xml @@ -1,11 +1,13 @@ <!-- IBM_PROLOG_BEGIN_TAG --> <!-- This is an automatically generated prolog. --> <!-- --> -<!-- $Source: src/usr/targeting/common/xmltohb/simics_MURANO.system.xml $ --> +<!-- $Source: src/usr/targeting/common/xmltohb/simics_NAPLES.system.xml $ --> <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2011,2014 --> +<!-- Contributors Listed Below - COPYRIGHT 2014 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> diff --git a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml index dffc8fddd..e48b8c180 100644 --- a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml @@ -5,7 +5,9 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2011,2014 --> +<!-- Contributors Listed Below - COPYRIGHT 2012,2014 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 37c06150b..412cde158 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -233,6 +233,7 @@ <attribute><id>EFFECTIVE_EC</id></attribute> <attribute><id>MIN_FREQ_MHZ</id></attribute> <attribute><id>MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT</id></attribute> + <attribute><id>MRW_DIMM_POWER_CURVE_PERCENT_UPLIFT_IDLE</id></attribute> <attribute><id>MRW_MEM_THROTTLE_DENOMINATOR</id></attribute> <attribute><id>MRW_MAX_DRAM_DATABUS_UTIL</id></attribute> <attribute><id>RECONFIGURE_LOOP</id></attribute> @@ -276,6 +277,8 @@ <attribute><id>MSS_VDDR_OVERIDE_SPD</id></attribute> <attribute><id>PM_PFET_WORKAROUND_RUN_FLAG</id></attribute> <attribute><id>PM_SLEEP_ENABLE</id></attribute> + <attribute><id>MSS_DRAMINIT_RESET_DISABLE</id></attribute> + <attribute><id>ISDIMM_POWER_CURVE_ALGORITHM_VERSION</id></attribute> </targetType> <targetType> @@ -1365,6 +1368,8 @@ <field><id>reserved</id><value>0</value></field> </default> </attribute> + <attribute><id>VPD_ISDIMMTOC4DQ</id></attribute> + <attribute><id>VPD_ISDIMMTOC4DQS</id></attribute> </targetType> <!-- Centaur L4 --> diff --git a/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml b/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml index b93dc5a72..51a1bec8d 100644 --- a/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml @@ -5,7 +5,9 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2011,2014 --> +<!-- Contributors Listed Below - COPYRIGHT 2013,2014 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> diff --git a/src/usr/targeting/common/xmltohb/vbu_NAPLES.system.xml b/src/usr/targeting/common/xmltohb/vbu_NAPLES.system.xml index 32b341868..bf10d5860 100644 --- a/src/usr/targeting/common/xmltohb/vbu_NAPLES.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_NAPLES.system.xml @@ -1,11 +1,13 @@ <!-- IBM_PROLOG_BEGIN_TAG --> <!-- This is an automatically generated prolog. --> <!-- --> -<!-- $Source: src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml $ --> +<!-- $Source: src/usr/targeting/common/xmltohb/vbu_NAPLES.system.xml $ --> <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2011,2014 --> +<!-- Contributors Listed Below - COPYRIGHT 2014 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> diff --git a/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml b/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml index 775816e77..9d1f507c2 100644 --- a/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml +++ b/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml @@ -5,7 +5,9 @@ <!-- --> <!-- OpenPOWER HostBoot Project --> <!-- --> -<!-- COPYRIGHT International Business Machines Corp. 2013,2014 --> +<!-- Contributors Listed Below - COPYRIGHT 2013,2014 --> +<!-- [+] International Business Machines Corp. --> +<!-- --> <!-- --> <!-- Licensed under the Apache License, Version 2.0 (the "License"); --> <!-- you may not use this file except in compliance with the License. --> |

