diff options
author | Stephen Glancy <sglancy@us.ibm.com> | 2018-06-12 13:05:54 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2018-06-21 10:51:32 -0400 |
commit | f5c960805358f1ecc373db55e42fde4772ac5c6e (patch) | |
tree | f476f3d15eef33fbdcb0aa27eea9daa431eb0d3e /src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C | |
parent | 866f841512dfe044ceb69c15ad85462d8e16ade1 (diff) | |
download | talos-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.C | 32 |
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 |