diff options
author | Stephen Glancy <sglancy@us.ibm.com> | 2019-02-01 10:47:08 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2019-02-13 10:10:07 -0600 |
commit | bccafb637f1788384bf9edead24f7713f23ca47c (patch) | |
tree | 7fc62b24b13219f261386ac8f4f350f6cc751132 /src/import/chips/p9/procedures/hwp | |
parent | c7b63e7f7d1d5f04731f3433da8b3f997813e49d (diff) | |
download | talos-hostboot-bccafb637f1788384bf9edead24f7713f23ca47c.tar.gz talos-hostboot-bccafb637f1788384bf9edead24f7713f23ca47c.zip |
Fixes LRDIMM NTTM mode read timing for HW bug
Change-Id: I52535f4830fbcff7682eba2d7ab61c680f31e17d
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71199
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71220
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_lrdimm_training.C | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_lrdimm_training.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_lrdimm_training.C index ff834d9ae..c3d4a08d1 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_lrdimm_training.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_lrdimm_training.C @@ -250,12 +250,18 @@ fapi_try_exit: /// fapi2::ReturnCode execute_nttm_mode_read(const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target) { + using TT = ccsTraits<fapi2::TARGET_TYPE_MCBIST>; + + // A hardware bug requires us to increase our delay significanlty for NTTM mode reads + constexpr uint64_t SAFE_NTTM_READ_DELAY = 0x40; mss::ccs::program<fapi2::TARGET_TYPE_MCBIST> l_program; const auto& l_mcbist = mss::find_target<fapi2::TARGET_TYPE_MCBIST>(i_target); // Note: CKE are enabled by default in the NTTM mode read command, so we should be good to go // set the NTTM read mode - l_program.iv_instructions.push_back(mss::ccs::nttm_read_command<fapi2::TARGET_TYPE_MCBIST>()); + auto l_nttm_read = mss::ccs::nttm_read_command<fapi2::TARGET_TYPE_MCBIST>(); + l_nttm_read.arr1.template insertFromRight<TT::ARR1_IDLES, TT::ARR1_IDLES_LEN>(SAFE_NTTM_READ_DELAY); + l_program.iv_instructions.push_back(l_nttm_read); // turn on NTTM mode FAPI_TRY( mss::ccs::configure_nttm(l_mcbist, mss::states::ON), |