summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/mcbist
diff options
context:
space:
mode:
authorStephen Glancy <sglancy@us.ibm.com>2019-07-22 10:16:46 -0400
committerChristian R Geddes <crgeddes@us.ibm.com>2019-07-24 10:45:02 -0500
commitde35db8a7994cf356e76bedefe27e5190f63b77a (patch)
treeb43892263c8eff4420632610464794ecae1cd506 /src/import/chips/p9/procedures/hwp/memory/lib/mcbist
parentf2281d448689ac930b61159365a8481808bef3a1 (diff)
downloadtalos-hostboot-de35db8a7994cf356e76bedefe27e5190f63b77a.tar.gz
talos-hostboot-de35db8a7994cf356e76bedefe27e5190f63b77a.zip
Fixes MCBIST ecc/spare data pattern bug
MCBIST wasn't setting up the ecc/spare DRAM's data pattern registers. This commit fixes that bug by taking the first byte of data and putting it into the ecc/spare data registers Change-Id: I5cdda1de8d123ff5f3bb991a2182c5027abb4f29 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80769 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Mark Pizzutillo <mark.pizzutillo@ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80790 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-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/mcbist')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H
index 80c5eab20..02f3a2ba5 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H
@@ -126,6 +126,28 @@ fapi2::ReturnCode setup_broadcast_port_select(const fapi2::Target<T>& i_target,
template< mss::mc_type MC = DEFAULT_MC_TYPE, fapi2::TargetType T >
fapi2::ReturnCode enable_broadcast_mode(const fapi2::Target<T>& i_target, mcbist::program<>& io_program);
+///
+/// @brief Load MCBIST ECC (and?) spare data pattern given a pattern - explorer specialization
+/// @param[in] i_target the target to effect
+/// @param[in] i_pattern an mcbist::patterns
+/// @param[in] i_invert whether to invert the pattern or not
+/// @note this overload disappears when we have real patterns.
+/// @return FAPI2_RC_SUCCSS iff ok
+///
+template< >
+inline fapi2::ReturnCode load_eccspare_pattern<mss::mc_type::NIMBUS>(
+ const fapi2::Target<fapi2::TARGET_TYPE_MCBIST>& i_target,
+ const pattern& i_pattern,
+ const bool i_invert )
+{
+ // First up assemble the pattern
+ const auto l_pattern = generate_eccspare_pattern(i_pattern, i_invert);
+
+ FAPI_TRY(fapi2::putScom(i_target, MCBIST_MCBFDQ, l_pattern));
+
+fapi_try_exit:
+ return fapi2::current_err;
+}
} // namespace MCBIST
} // namespace mss
OpenPOWER on IntegriCloud