summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
diff options
context:
space:
mode:
authorStephen Glancy <sglancy@us.ibm.com>2018-06-12 13:05:54 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2018-06-21 10:51:32 -0400
commitf5c960805358f1ecc373db55e42fde4772ac5c6e (patch)
treef476f3d15eef33fbdcb0aa27eea9daa431eb0d3e /src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
parent866f841512dfe044ceb69c15ad85462d8e16ade1 (diff)
downloadtalos-hostboot-f5c960805358f1ecc373db55e42fde4772ac5c6e.tar.gz
talos-hostboot-f5c960805358f1ecc373db55e42fde4772ac5c6e.zip
Updates the training advanced algorithm
CQ:SW433145 RTC:194245 RTC:194985 Change-Id: I3022653dd2ab93f28b97a813c3277ae57846edee Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60698 Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60894 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
index ff2ffda69..f8d7cfc7c 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
@@ -5078,6 +5078,38 @@ fapi_try_exit:
}
///
+/// @brief Determines and sets the ATTR_MSS_CUSTOM_TRAINING_ADV_BACKUP_PATTERNS2 settings
+/// @return fapi2::FAPI2_RC_SUCCESS if okay
+/// @note overwrite the attribute to default values if it's set to 0
+///
+fapi2::ReturnCode eff_dimm::training_adv_backup_pattern2()
+{
+ uint32_t l_special_patterns [PORTS_PER_MCS] = {};
+ FAPI_TRY( custom_training_adv_backup_patterns2( iv_mcs, &(l_special_patterns[0])) );
+
+ // Let's set the backup pattern as well
+ if ( l_special_patterns[mss::index(iv_mca)] == 0)
+ {
+ fapi2::buffer<uint32_t> l_temp;
+
+ l_temp.insertFromRight<PATTERN0_START, PATTERN0_LEN>
+ (fapi2::ENUM_ATTR_MSS_CUSTOM_TRAINING_ADV_BACKUP_PATTERNS2_DEFAULT_PATTERN0);
+
+ l_temp.insertFromRight<PATTERN1_START, PATTERN1_LEN>
+ (fapi2::ENUM_ATTR_MSS_CUSTOM_TRAINING_ADV_BACKUP_PATTERNS2_DEFAULT_PATTERN1);
+
+ l_special_patterns[mss::index(iv_mca)] = l_temp;
+
+ FAPI_INF("%s setting training_adv_backup_pattern2 as 0x%08x", mss::c_str(iv_mca), l_temp);
+
+ FAPI_TRY( FAPI_ATTR_SET(fapi2::ATTR_MSS_CUSTOM_TRAINING_ADV_BACKUP_PATTERNS2, iv_mcs, l_special_patterns) );
+ }
+
+fapi_try_exit:
+ return fapi2::current_err;
+}
+
+///
/// @brief Determines and sets the ATTR_MSS_CUSTOM_TRAINING_ADV_WR_PATTERN settings
/// @return fapi2::FAPI2_RC_SUCCESS if okay
/// @note overwrite the attribute to default values if it's set to 0
OpenPOWER on IntegriCloud