summaryrefslogtreecommitdiffstats
path: root/src/import/chips
diff options
context:
space:
mode:
authorStephen Glancy <sglancy@us.ibm.com>2019-02-01 10:47:08 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2019-02-13 10:10:07 -0600
commitbccafb637f1788384bf9edead24f7713f23ca47c (patch)
tree7fc62b24b13219f261386ac8f4f350f6cc751132 /src/import/chips
parentc7b63e7f7d1d5f04731f3433da8b3f997813e49d (diff)
downloadtalos-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')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/mss_lrdimm_training.C8
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),
OpenPOWER on IntegriCloud