summaryrefslogtreecommitdiffstats
path: root/src/import
diff options
context:
space:
mode:
authorJacob Harvey <jlharvey@us.ibm.com>2016-09-07 16:52:00 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2016-09-16 10:15:56 -0400
commit86c8ad2b726672914e172a13c81f033f96a012ae (patch)
tree8720c603ecbe8b031f01d0295e1782edae2e3b3f /src/import
parent892b6efc65c24d8b227f10e4912825eb68eac1e9 (diff)
downloadtalos-hostboot-86c8ad2b726672914e172a13c81f033f96a012ae.tar.gz
talos-hostboot-86c8ad2b726672914e172a13c81f033f96a012ae.zip
Cleaned up memory_mrw_attributes.xml
Change-Id: I5b8128463bc09963602dab7c06e09f75f2ddfc7b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29351 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Brian R. Silver <bsilver@us.ibm.com> Reviewed-by: Michael D. Pardeik <pardeik@us.ibm.com> Reviewed-by: Matt K. Light <mklight@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29395
Diffstat (limited to 'src/import')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H81
-rwxr-xr-xsrc/import/chips/p9/procedures/xml/attribute_info/memory_mrw_attributes.xml73
-rw-r--r--src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml1
3 files changed, 135 insertions, 20 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H
index a2c311d65..c5aa5186c 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H
@@ -19223,7 +19223,9 @@ fapi_try_exit:
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
/// @note Machine Readable Workbook safe mode throttle value for numerator
-/// cfg_nm_n_per_port
+/// cfg_nm_n_per_port Set to below optimum value/ rate. On a per port (MCA) basis
+/// Consumer:
+/// thermal_init
///
inline fapi2::ReturnCode mrw_safemode_mem_throttled_n_commands_per_port(uint32_t& o_value)
{
@@ -19243,8 +19245,10 @@ fapi_try_exit:
/// @param[out] uint32_t& reference to store the value
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
-/// @note Machine Readable Workbook Thermal Memory Power
-/// Limit
+/// @note Machine Readable Workbook Thermal Memory Power Limit Used to calculate throttles
+/// to be at or under the power limit Per DIMM basis Consumers: eff_config_thermal
+/// and
+/// bulk_pwr_throttles
///
inline fapi2::ReturnCode mrw_thermal_memory_power_limit(uint32_t& o_value)
{
@@ -19265,7 +19269,8 @@ fapi_try_exit:
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
/// @note Machine Readable Workbook DIMM power curve percent uplift for this system at max
-/// utilization.
+/// utilization. Value should be 0 for
+/// ISDIMMs
///
inline fapi2::ReturnCode mrw_dimm_power_curve_percent_uplift(uint8_t& o_value)
{
@@ -19286,8 +19291,8 @@ fapi_try_exit:
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
/// @note Machine Readable Workbook DIMM power curve percent uplift for this system at
-/// idle
-/// utilization.
+/// idle utilization. Value should be 0 for
+/// ISDIMMs
///
inline fapi2::ReturnCode mrw_dimm_power_curve_percent_uplift_idle(uint8_t& o_value)
{
@@ -19330,8 +19335,9 @@ fapi_try_exit:
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
/// @note Machine Readable Workbook value for maximum dram data bus utilization in centi
-/// percent (c%). Used to determine memory throttle
-/// values.
+/// percent (c%). Used to determine memory throttle values. Max databus utilization
+/// on a per port basis Default to
+/// 90%
///
inline fapi2::ReturnCode mrw_max_dram_databus_util(uint32_t& o_value)
{
@@ -19414,13 +19420,58 @@ fapi_try_exit:
}
///
+/// @brief ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR3 getter
+/// @param[out] uint32_t& reference to store the value
+/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
+/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
+/// @note Machine Readable Workbook VMEM regulator power limit per CDIMM assuming a full
+/// configuration. Units in cW Used for Cumulus Consumed in
+/// mss_eff_config_thermal
+///
+inline fapi2::ReturnCode mrw_vmem_regulator_power_limit_per_dimm_ddr3(uint32_t& o_value)
+{
+
+ FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR3,
+ fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>(), o_value) );
+ return fapi2::current_err;
+
+fapi_try_exit:
+ FAPI_ERR("failed accessing ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR3: 0x%lx (system target)",
+ uint64_t(fapi2::current_err));
+ return fapi2::current_err;
+}
+
+///
+/// @brief ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR4 getter
+/// @param[out] uint32_t& reference to store the value
+/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
+/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
+/// @note Machine Readable Workbook VMEM regulator power limit per DIMM assuming a full
+/// configuration. Units in cW Consumed in
+/// mss_eff_config_thermal
+///
+inline fapi2::ReturnCode mrw_vmem_regulator_power_limit_per_dimm_ddr4(uint32_t& o_value)
+{
+
+ FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR4,
+ fapi2::Target<fapi2::TARGET_TYPE_SYSTEM>(), o_value) );
+ return fapi2::current_err;
+
+fapi_try_exit:
+ FAPI_ERR("failed accessing ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR4: 0x%lx (system target)",
+ uint64_t(fapi2::current_err));
+ return fapi2::current_err;
+}
+
+///
/// @brief ATTR_MSS_MRW_MAX_NUMBER_DIMMS_POSSIBLE_PER_VMEM_REGULATOR getter
/// @param[out] uint8_t& reference to store the value
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
/// @note Machine Readable Workbook value for the maximum possible number of dimms that
-/// can be installed under any of the VMEM
-/// regulators.
+/// can be installed under any of the VMEM regulators. Consumed in
+/// eff_config_thermal to calculate
+/// mem_watt_target
///
inline fapi2::ReturnCode mrw_max_number_dimms_possible_per_vmem_regulator(uint8_t& o_value)
{
@@ -19540,8 +19591,9 @@ fapi_try_exit:
/// @param[out] uint8_t& reference to store the value
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
-/// @note Fine refresh mode. Sets DDR4 MRS3. Should be defaulted to normal
-/// mode.
+/// @note Fine refresh mode. Sets DDR4 MRS3. ZZ uses normal mode. From JEDEC DDR4 Spec
+/// 1716.78C from 07-2016 Page 47 Table
+/// 4.9.1
///
inline fapi2::ReturnCode mrw_fine_refresh_mode(uint8_t& o_value)
{
@@ -19561,7 +19613,10 @@ fapi_try_exit:
/// @note Generated by gen_accessors.pl generateParameters (SYSTEM)
/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK
/// @note Temperature refresh range. Sets DDR4 MRS4. Should be defaulted to extended
-/// range.
+/// range. NORMAL for running at 85 degrees C or less, EXTENDED for 95 or less
+/// degrees C Used for calculating periodic refresh intervals JEDEC DDR4 spec
+/// 1716.78C from 07-2016 page 46
+/// 4.8.1
///
inline fapi2::ReturnCode mrw_temp_refresh_range(uint8_t& o_value)
{
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/memory_mrw_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/memory_mrw_attributes.xml
index b3680f6a5..da2a6f4d4 100755
--- a/src/import/chips/p9/procedures/xml/attribute_info/memory_mrw_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/memory_mrw_attributes.xml
@@ -29,7 +29,10 @@
<id>ATTR_MSS_MRW_SAFEMODE_MEM_THROTTLED_N_COMMANDS_PER_PORT</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
- Machine Readable Workbook safe mode throttle value for numerator cfg_nm_n_per_port
+ Machine Readable Workbook safe mode throttle value for numerator cfg_nm_n_per_port
+ Set to below optimum value/ rate.
+ On a per port (MCA) basis
+ Consumer: thermal_init
</description>
<valueType>uint32</valueType>
<platInit/>
@@ -41,9 +44,16 @@
<attribute>
<id>ATTR_MSS_MRW_THERMAL_MEMORY_POWER_LIMIT</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
- <description>Machine Readable Workbook Thermal Memory Power Limit</description>
+ <description>
+ Machine Readable Workbook Thermal Memory Power Limit
+ Used to calculate throttles to be at or under the power limit
+ Per DIMM basis
+ Consumers: eff_config_thermal and bulk_pwr_throttles
+ </description>
<valueType>uint32</valueType>
+ <mssUnits>cW</mssUnits>
<platInit/>
+ <default>0x000006A4</default>
<initToZero/>
<!-- little comment to tell us this might change during power/thermal implemetation -->
<mssAccessorName>mrw_thermal_memory_power_limit</mssAccessorName>
@@ -55,9 +65,11 @@
<description>
Machine Readable Workbook DIMM power curve percent uplift
for this system at max utilization.
- </description>
+ Value should be 0 for ISDIMMs
+ </description>
<valueType>uint8</valueType>
<platInit/>
+ <default>0x0</default>
<initToZero/>
<!-- little comment to tell us this might change during power/thermal implemetation -->
<mssAccessorName>mrw_dimm_power_curve_percent_uplift</mssAccessorName>
@@ -69,9 +81,11 @@
<description>
Machine Readable Workbook DIMM power curve percent uplift
for this system at idle utilization.
+ Value should be 0 for ISDIMMs
</description>
<valueType>uint8</valueType>
<platInit/>
+ <default>0x0</default>
<initToZero/>
<!-- little comment to tell us this might change during power/thermal implemetation -->
<mssAccessorName>mrw_dimm_power_curve_percent_uplift_idle</mssAccessorName>
@@ -87,6 +101,7 @@
</description>
<valueType>uint32</valueType>
<platInit/>
+ <default>0x00000200</default>
<initToZero/>
<!-- little comment to tell us we implemented - will remove before flight TODO RTC:159145 -->
<mssAccessorName>mrw_mem_m_dram_clocks</mssAccessorName>
@@ -98,9 +113,13 @@
<description>
Machine Readable Workbook value for maximum dram data bus utilization in centi percent (c%).
Used to determine memory throttle values.
+ Max databus utilization on a per port basis
+ Default to 90%
</description>
<valueType>uint32</valueType>
<platInit/>
+ <mssUnits>c%</mssUnits>
+ <default>0x00002328</default>
<initToZero/>
<!-- little comment to tell us we implemented - will remove before flight TODO RTC:159145 -->
<mssAccessorName>mrw_max_dram_databus_util</mssAccessorName>
@@ -131,6 +150,7 @@
<valueType>uint8</valueType>
<enum>OFF = 0x00, POWER_DOWN = 0x01, STR = 0x02, PD_AND_STR = 0x03</enum>
<platInit/>
+ <default>OFF</default>
<initToZero/>
<!-- little comment to tell us this might change during power/thermal implemetation -->
<mssAccessorName>mrw_power_control_requested</mssAccessorName>
@@ -147,16 +167,51 @@
<enum>FALSE = 0, TRUE = 1</enum>
<platInit/>
<initToZero/>
+ <!-- Ineffective for Nimbus -->
<!-- little comment to tell us this might change during power/thermal implemetation -->
<mssAccessorName>mrw_vmem_regulator_power_limit_per_dimm_adj_enable</mssAccessorName>
</attribute>
<attribute>
+ <id>ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR3</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook VMEM regulator power limit per CDIMM assuming a full configuration. Units in cW
+ Used for Cumulus
+ Consumed in mss_eff_config_thermal
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <mssUnits>cW</mssUnits>
+ <initToZero/>
+ <!-- Ineffective for Nimbus -->
+ <!-- little comment to tell us this might change during power/thermal implemetation -->
+ <mssAccessorName>mrw_vmem_regulator_power_limit_per_dimm_ddr3</mssAccessorName>
+ </attribute>
+
+ <attribute>
+ <id>ATTR_MRW_VMEM_REGULATOR_MEMORY_POWER_LIMIT_PER_DIMM_DDR4</id>
+ <targetType>TARGET_TYPE_SYSTEM</targetType>
+ <description>
+ Machine Readable Workbook VMEM regulator power limit per DIMM assuming a full configuration. Units in cW
+ Consumed in mss_eff_config_thermal
+ </description>
+ <valueType>uint32</valueType>
+ <platInit/>
+ <mssUnits>cW</mssUnits>
+ <default>0x000006A4</default>
+ <initToZero/>
+ <!-- little comment to tell us this might change during power/thermal implemetation -->
+ <mssAccessorName>mrw_vmem_regulator_power_limit_per_dimm_ddr4</mssAccessorName>
+ </attribute>
+
+ <attribute>
<id>ATTR_MSS_MRW_MAX_NUMBER_DIMMS_POSSIBLE_PER_VMEM_REGULATOR</id>
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>
Machine Readable Workbook value for the maximum possible number
of dimms that can be installed under any of the VMEM regulators.
+ Consumed in eff_config_thermal to calculate mem_watt_target
</description>
<valueType>uint8</valueType>
<platInit/>
@@ -231,7 +286,9 @@
<description>
Fine refresh mode.
Sets DDR4 MRS3.
- Should be defaulted to normal mode.
+ ZZ uses normal mode.
+ From JEDEC DDR4 Spec 1716.78C from 07-2016
+ Page 47 Table 4.9.1
</description>
<valueType>uint8</valueType>
<enum>
@@ -255,12 +312,16 @@
Temperature refresh range.
Sets DDR4 MRS4.
Should be defaulted to extended range.
+ NORMAL for running at 85 degrees C or less, EXTENDED for 95 or less degrees C
+ Used for calculating periodic refresh intervals
+ JEDEC DDR4 spec 1716.78C from 07-2016
+ page 46 4.8.1
</description>
<valueType>uint8</valueType>
<enum>NORMAL = 0, EXTEND = 1</enum>
<platInit/>
<initToZero/>
- <default>NORMAL</default>
+ <default>EXTEND</default>
<!-- little comment to tell us we implemented - will remove before flight TODO RTC:159145 -->
<mssAccessorName>mrw_temp_refresh_range</mssAccessorName>
</attribute>
@@ -283,7 +344,7 @@
<targetType>TARGET_TYPE_SYSTEM</targetType>
<description>Value of on or off. Determines if prefetching enabled or not.</description>
<valueType>uint8</valueType>
- <enum>ON = 0, OFF = 1</enum>
+ <enum>ON = 1, OFF = 0</enum>
<platInit/>
<initToZero/>
<default>ON</default>
diff --git a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml
index ea0ddb9ad..3f8e50c70 100644
--- a/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml
+++ b/src/import/hwpf/fapi2/xml/attribute_info/hb_temp_defaults.xml
@@ -56,7 +56,6 @@
<!-- =====================================================================
Start of temporary definitions
================================================================= -->
-
<!-- =====================================================================
End of temporary definitions
================================================================= -->
OpenPOWER on IntegriCloud