diff options
author | Andre Marin <aamarin@us.ibm.com> | 2016-07-18 13:29:22 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-07-29 10:00:56 -0400 |
commit | f64530eb6391d8157371e4b25a72f14776430050 (patch) | |
tree | e290f050e8e738c9d8f9dcf046665cd5bfc6c645 /src/import/chips/p9/procedures/hwp/memory | |
parent | 4b5be2dc6b6f4110c6e8ebcea28b674351aa6f57 (diff) | |
download | talos-hostboot-f64530eb6391d8157371e4b25a72f14776430050.tar.gz talos-hostboot-f64530eb6391d8157371e4b25a72f14776430050.zip |
Fix p9_mss_utils_to_throttle, create throttles API, attribute cleanup
Change-Id: Ibdb563542adb9e4f05dd07d597a9687b1deaf3c8
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27183
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: JACOB L. HARVEY <jlharvey@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27185
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/mss_attribute_accessors.H | 292 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C | 12 |
2 files changed, 55 insertions, 249 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 0d20f0a7c..9fec9ecaa 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 @@ -6057,7 +6057,7 @@ fapi_try_exit: /// @note Generated by gen_accessors.pl generateParameters (D) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK /// @note This is the throttled M DRAM clocks setting for cfg_nm_m. creator: mss_eff_cnfg -/// consumer: mc_config firmware notes: +/// consumer: mss_eff_config_thermal firmware notes: /// none /// inline fapi2::ReturnCode mem_m_dram_clocks(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint32_t& o_value) @@ -6081,7 +6081,7 @@ fapi_try_exit: /// @note Generated by gen_accessors.pl generateParameters (D.1) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK /// @note This is the throttled M DRAM clocks setting for cfg_nm_m. creator: mss_eff_cnfg -/// consumer: mc_config firmware notes: +/// consumer: mss_eff_config_thermal firmware notes: /// none /// inline fapi2::ReturnCode mem_m_dram_clocks(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint32_t& o_value) @@ -6106,7 +6106,7 @@ fapi_try_exit: /// @note Generated by gen_accessors.pl generateParameters (E) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK /// @note This is the throttled M DRAM clocks setting for cfg_nm_m. creator: mss_eff_cnfg -/// consumer: mc_config firmware notes: +/// consumer: mss_eff_config_thermal firmware notes: /// none /// inline fapi2::ReturnCode mem_m_dram_clocks(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint32_t* o_array) @@ -10612,168 +10612,6 @@ fapi_try_exit: } /// -/// @brief ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> -/// @param[out] ref to the value uint8_t -/// @note Generated by gen_accessors.pl generateParameters (D) -/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note RAS weight to use for memory throttle control - set in thermal -/// procedures -/// -inline fapi2::ReturnCode throttle_control_ras_weight(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, - uint8_t& o_value) -{ - uint8_t l_value[2]; - - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT, i_target.getParent<fapi2::TARGET_TYPE_MCS>(), - l_value) ); - o_value = l_value[mss::index(i_target)]; - return fapi2::current_err; - -fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT: 0x%lx (target: %s)", - uint64_t(fapi2::current_err), mss::c_str(i_target)); - return fapi2::current_err; -} - -/// -/// @brief ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM> -/// @param[out] ref to the value uint8_t -/// @note Generated by gen_accessors.pl generateParameters (D.1) -/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note RAS weight to use for memory throttle control - set in thermal -/// procedures -/// -inline fapi2::ReturnCode throttle_control_ras_weight(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, - uint8_t& o_value) -{ - uint8_t l_value[2]; - auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>(); - - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT, l_mca.getParent<fapi2::TARGET_TYPE_MCS>(), - l_value) ); - o_value = l_value[mss::index(l_mca)]; - return fapi2::current_err; - -fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT: 0x%lx (target: %s)", - uint64_t(fapi2::current_err), mss::c_str(i_target)); - return fapi2::current_err; -} - -/// -/// @brief ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS> -/// @param[out] uint8_t* memory to store the value -/// @note Generated by gen_accessors.pl generateParameters (E) -/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note RAS weight to use for memory throttle control - set in thermal -/// procedures -/// -inline fapi2::ReturnCode throttle_control_ras_weight(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, - uint8_t* o_array) -{ - if (o_array == nullptr) - { - FAPI_ERR("nullptr passed to attribute accessor %s", __func__); - return fapi2::FAPI2_RC_INVALID_PARAMETER; - } - - uint8_t l_value[2]; - - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT, i_target, l_value) ); - memcpy(o_array, &l_value, 2); - return fapi2::current_err; - -fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT: 0x%lx (target: %s)", - uint64_t(fapi2::current_err), mss::c_str(i_target)); - return fapi2::current_err; -} - -/// -/// @brief ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> -/// @param[out] ref to the value uint8_t -/// @note Generated by gen_accessors.pl generateParameters (D) -/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note CAS weight to use for memory throttle control - set in thermal -/// procedures -/// -inline fapi2::ReturnCode throttle_control_cas_weight(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, - uint8_t& o_value) -{ - uint8_t l_value[2]; - - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT, i_target.getParent<fapi2::TARGET_TYPE_MCS>(), - l_value) ); - o_value = l_value[mss::index(i_target)]; - return fapi2::current_err; - -fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT: 0x%lx (target: %s)", - uint64_t(fapi2::current_err), mss::c_str(i_target)); - return fapi2::current_err; -} - -/// -/// @brief ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM> -/// @param[out] ref to the value uint8_t -/// @note Generated by gen_accessors.pl generateParameters (D.1) -/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note CAS weight to use for memory throttle control - set in thermal -/// procedures -/// -inline fapi2::ReturnCode throttle_control_cas_weight(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, - uint8_t& o_value) -{ - uint8_t l_value[2]; - auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>(); - - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT, l_mca.getParent<fapi2::TARGET_TYPE_MCS>(), - l_value) ); - o_value = l_value[mss::index(l_mca)]; - return fapi2::current_err; - -fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT: 0x%lx (target: %s)", - uint64_t(fapi2::current_err), mss::c_str(i_target)); - return fapi2::current_err; -} - -/// -/// @brief ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS> -/// @param[out] uint8_t* memory to store the value -/// @note Generated by gen_accessors.pl generateParameters (E) -/// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note CAS weight to use for memory throttle control - set in thermal -/// procedures -/// -inline fapi2::ReturnCode throttle_control_cas_weight(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, - uint8_t* o_array) -{ - if (o_array == nullptr) - { - FAPI_ERR("nullptr passed to attribute accessor %s", __func__); - return fapi2::FAPI2_RC_INVALID_PARAMETER; - } - - uint8_t l_value[2]; - - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT, i_target, l_value) ); - memcpy(o_array, &l_value, 2); - return fapi2::current_err; - -fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT: 0x%lx (target: %s)", - uint64_t(fapi2::current_err), mss::c_str(i_target)); - return fapi2::current_err; -} - -/// /// @brief ATTR_MSS_EFF_VPD_VERSION getter /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> /// @param[out] ref to the value uint32_t @@ -10942,22 +10780,19 @@ fapi_try_exit: /// /// @brief ATTR_MSS_DATABUS_UTIL getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM> +/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> /// @param[out] ref to the value uint8_t -/// @note Generated by gen_accessors.pl generateParameters (F) +/// @note Generated by gen_accessors.pl generateParameters (D) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK /// @note DRAM data bus utilization percent to use to determine -/// ATTR_MSS_THROTTLED_N_COMMANDS creator: f/w consumer: -/// mss_utils_to_throttle +/// cfg_nm_n_per_port /// -inline fapi2::ReturnCode databus_util(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value) +inline fapi2::ReturnCode databus_util(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t& o_value) { - uint8_t l_value[2][2]; - auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>(); - auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>(); + uint8_t l_value[2]; - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_DATABUS_UTIL, l_mcs, l_value) ); - o_value = l_value[mss::index(l_mca)][mss::index(i_target)]; + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_DATABUS_UTIL, i_target.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) ); + o_value = l_value[mss::index(i_target)]; return fapi2::current_err; fapi_try_exit: @@ -10968,27 +10803,20 @@ fapi_try_exit: /// /// @brief ATTR_MSS_DATABUS_UTIL getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> -/// @param[out] uint8_t* memory to store the value -/// @note Generated by gen_accessors.pl generateParameters (G) +/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM> +/// @param[out] ref to the value uint8_t +/// @note Generated by gen_accessors.pl generateParameters (D.1) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK /// @note DRAM data bus utilization percent to use to determine -/// ATTR_MSS_THROTTLED_N_COMMANDS creator: f/w consumer: -/// mss_utils_to_throttle +/// cfg_nm_n_per_port /// -inline fapi2::ReturnCode databus_util(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint8_t* o_array) +inline fapi2::ReturnCode databus_util(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint8_t& o_value) { - if (o_array == nullptr) - { - FAPI_ERR("nullptr passed to attribute accessor %s", __func__); - return fapi2::FAPI2_RC_INVALID_PARAMETER; - } - - uint8_t l_value[2][2]; - auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>(); + uint8_t l_value[2]; + auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>(); - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_DATABUS_UTIL, l_mcs, l_value) ); - memcpy(o_array, &(l_value[mss::index(i_target)][0]), 2); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_DATABUS_UTIL, l_mca.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) ); + o_value = l_value[mss::index(l_mca)]; return fapi2::current_err; fapi_try_exit: @@ -11001,11 +10829,10 @@ fapi_try_exit: /// @brief ATTR_MSS_DATABUS_UTIL getter /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS> /// @param[out] uint8_t* memory to store the value -/// @note Generated by gen_accessors.pl generateParameters (H) +/// @note Generated by gen_accessors.pl generateParameters (E) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK /// @note DRAM data bus utilization percent to use to determine -/// ATTR_MSS_THROTTLED_N_COMMANDS creator: f/w consumer: -/// mss_utils_to_throttle +/// cfg_nm_n_per_port /// inline fapi2::ReturnCode databus_util(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint8_t* o_array) { @@ -11015,10 +10842,10 @@ inline fapi2::ReturnCode databus_util(const fapi2::Target<fapi2::TARGET_TYPE_MCS return fapi2::FAPI2_RC_INVALID_PARAMETER; } - uint8_t l_value[2][2]; + uint8_t l_value[2]; FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_DATABUS_UTIL, i_target, l_value) ); - memcpy(o_array, &l_value, 4); + memcpy(o_array, &l_value, 2); return fapi2::current_err; fapi_try_exit: @@ -11028,73 +10855,62 @@ fapi_try_exit: } /// -/// @brief ATTR_MSS_THROTTLED_N_COMMANDS getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM> +/// @brief ATTR_MSS_OCC_THROTTLED_N_CMDS getter +/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> /// @param[out] ref to the value uint32_t -/// @note Generated by gen_accessors.pl generateParameters (F) +/// @note Generated by gen_accessors.pl generateParameters (D) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note Throttled N commands (address operations) that are allowed within a window of M -/// DRAM clocks. Nimbus workbook (Power and Thermal Controls). creator: -/// mss_utils_to_throttle +/// @note cfg_nm_n_per_port throttle N value that was calculated from +/// MSS_DATABUS_UTIL /// -inline fapi2::ReturnCode throttled_n_commands(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint32_t& o_value) +inline fapi2::ReturnCode occ_throttled_n_cmds(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint32_t& o_value) { - uint32_t l_value[2][2]; - auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>(); - auto l_mcs = l_mca.getParent<fapi2::TARGET_TYPE_MCS>(); + uint32_t l_value[2]; - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLED_N_COMMANDS, l_mcs, l_value) ); - o_value = l_value[mss::index(l_mca)][mss::index(i_target)]; + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_OCC_THROTTLED_N_CMDS, i_target.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) ); + o_value = l_value[mss::index(i_target)]; return fapi2::current_err; fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLED_N_COMMANDS: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_MSS_OCC_THROTTLED_N_CMDS: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); return fapi2::current_err; } /// -/// @brief ATTR_MSS_THROTTLED_N_COMMANDS getter -/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCA> -/// @param[out] uint32_t* memory to store the value -/// @note Generated by gen_accessors.pl generateParameters (G) +/// @brief ATTR_MSS_OCC_THROTTLED_N_CMDS getter +/// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_DIMM> +/// @param[out] ref to the value uint32_t +/// @note Generated by gen_accessors.pl generateParameters (D.1) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note Throttled N commands (address operations) that are allowed within a window of M -/// DRAM clocks. Nimbus workbook (Power and Thermal Controls). creator: -/// mss_utils_to_throttle +/// @note cfg_nm_n_per_port throttle N value that was calculated from +/// MSS_DATABUS_UTIL /// -inline fapi2::ReturnCode throttled_n_commands(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint32_t* o_array) +inline fapi2::ReturnCode occ_throttled_n_cmds(const fapi2::Target<fapi2::TARGET_TYPE_DIMM>& i_target, uint32_t& o_value) { - if (o_array == nullptr) - { - FAPI_ERR("nullptr passed to attribute accessor %s", __func__); - return fapi2::FAPI2_RC_INVALID_PARAMETER; - } - - uint32_t l_value[2][2]; - auto l_mcs = i_target.getParent<fapi2::TARGET_TYPE_MCS>(); + uint32_t l_value[2]; + auto l_mca = i_target.getParent<fapi2::TARGET_TYPE_MCA>(); - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLED_N_COMMANDS, l_mcs, l_value) ); - memcpy(o_array, &(l_value[mss::index(i_target)][0]), 8); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_OCC_THROTTLED_N_CMDS, l_mca.getParent<fapi2::TARGET_TYPE_MCS>(), l_value) ); + o_value = l_value[mss::index(l_mca)]; return fapi2::current_err; fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLED_N_COMMANDS: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_MSS_OCC_THROTTLED_N_CMDS: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); return fapi2::current_err; } /// -/// @brief ATTR_MSS_THROTTLED_N_COMMANDS getter +/// @brief ATTR_MSS_OCC_THROTTLED_N_CMDS getter /// @param[in] const ref to the fapi2::Target<fapi2::TARGET_TYPE_MCS> /// @param[out] uint32_t* memory to store the value -/// @note Generated by gen_accessors.pl generateParameters (H) +/// @note Generated by gen_accessors.pl generateParameters (E) /// @return fapi2::ReturnCode - FAPI2_RC_SUCCESS iff get is OK -/// @note Throttled N commands (address operations) that are allowed within a window of M -/// DRAM clocks. Nimbus workbook (Power and Thermal Controls). creator: -/// mss_utils_to_throttle +/// @note cfg_nm_n_per_port throttle N value that was calculated from +/// MSS_DATABUS_UTIL /// -inline fapi2::ReturnCode throttled_n_commands(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint32_t* o_array) +inline fapi2::ReturnCode occ_throttled_n_cmds(const fapi2::Target<fapi2::TARGET_TYPE_MCS>& i_target, uint32_t* o_array) { if (o_array == nullptr) { @@ -11102,14 +10918,14 @@ inline fapi2::ReturnCode throttled_n_commands(const fapi2::Target<fapi2::TARGET_ return fapi2::FAPI2_RC_INVALID_PARAMETER; } - uint32_t l_value[2][2]; + uint32_t l_value[2]; - FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_THROTTLED_N_COMMANDS, i_target, l_value) ); - memcpy(o_array, &l_value, 16); + FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_MSS_OCC_THROTTLED_N_CMDS, i_target, l_value) ); + memcpy(o_array, &l_value, 8); return fapi2::current_err; fapi_try_exit: - FAPI_ERR("failed accessing ATTR_MSS_THROTTLED_N_COMMANDS: 0x%lx (target: %s)", + FAPI_ERR("failed accessing ATTR_MSS_OCC_THROTTLED_N_CMDS: 0x%lx (target: %s)", uint64_t(fapi2::current_err), mss::c_str(i_target)); return fapi2::current_err; } diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C index d384ef179..ebe0dc459 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C @@ -197,17 +197,7 @@ fapi2::ReturnCode p9_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MCS> } { - uint8_t l_throttle_ras[mss::PORTS_PER_MCS] = {0x00, 0x00}; - FAPI_TRY( FAPI_ATTR_SET( fapi2::ATTR_MSS_THROTTLE_CONTROL_RAS_WEIGHT, i_target, l_throttle_ras ) ); - } - - { - uint8_t l_throttle_cas[mss::PORTS_PER_MCS] = {0x01, 0x01}; - FAPI_TRY( FAPI_ATTR_SET( fapi2::ATTR_MSS_THROTTLE_CONTROL_CAS_WEIGHT, i_target, l_throttle_cas ) ); - } - - { - uint8_t l_databus_util[mss::PORTS_PER_MCS][mss::MAX_DIMM_PER_PORT] = {}; + uint8_t l_databus_util[mss::PORTS_PER_MCS] = {0x5A, 0x5A}; FAPI_TRY( FAPI_ATTR_SET( fapi2::ATTR_MSS_DATABUS_UTIL, i_target, l_databus_util ) ); } |