summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2016-07-18 13:29:22 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-07-29 10:00:56 -0400
commitf64530eb6391d8157371e4b25a72f14776430050 (patch)
treee290f050e8e738c9d8f9dcf046665cd5bfc6c645 /src/import/chips/p9/procedures/hwp/memory
parent4b5be2dc6b6f4110c6e8ebcea28b674351aa6f57 (diff)
downloadtalos-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.H292
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_eff_config.C12
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 ) );
}
OpenPOWER on IntegriCloud