summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThi Tran <thi@us.ibm.com>2014-09-06 07:56:02 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-09-16 12:54:02 -0500
commitf60ed56caccfebc5f5baa4259fac5f2767571852 (patch)
tree73b5e030dc5dd739b1800bdc33f0a033dbd82f0b
parentaf6b57dcb79e522d6a4e140f7952f58b3419cee1 (diff)
downloadblackbird-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
-rw-r--r--src/usr/hwpf/hwp/mc_config/mss_eff_config/mss_throttle_to_power.C17
-rw-r--r--src/usr/hwpf/hwp/memory_attributes.xml16
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl2
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml51
-rw-r--r--src/usr/targeting/common/xmltohb/simics_MURANO.system.xml4
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NAPLES.system.xml6
-rw-r--r--src/usr/targeting/common/xmltohb/simics_VENICE.system.xml4
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml5
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml4
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_NAPLES.system.xml6
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml4
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. -->
OpenPOWER on IntegriCloud