From 86c8ad2b726672914e172a13c81f033f96a012ae Mon Sep 17 00:00:00 2001 From: Jacob Harvey Date: Wed, 7 Sep 2016 16:52:00 -0500 Subject: Cleaned up memory_mrw_attributes.xml Change-Id: I5b8128463bc09963602dab7c06e09f75f2ddfc7b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29351 Tested-by: Jenkins Server Reviewed-by: STEPHEN GLANCY Tested-by: Hostboot CI Reviewed-by: Christian R. Geddes Reviewed-by: Louis Stermole Reviewed-by: Brian R. Silver Reviewed-by: Michael D. Pardeik Reviewed-by: Matt K. Light Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29395 --- .../hwp/memory/lib/mss_attribute_accessors.H | 81 ++++++++++++++++++---- 1 file changed, 68 insertions(+), 13 deletions(-) (limited to 'src/import/chips/p9/procedures/hwp/memory') 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) { @@ -19413,14 +19419,59 @@ fapi_try_exit: return fapi2::current_err; } +/// +/// @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(), 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(), 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) { -- cgit v1.2.1