summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Harvey <jlharvey@us.ibm.com>2017-09-19 14:14:56 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-09-21 17:40:32 -0400
commit06029fd46fa0cfb7d21a7810b7bec6a77fa77243 (patch)
tree743176a01c79ee6dab7bb214b0d8401a5b7afa8f
parent229ad66260fe34db94acaae5128d61f05951f218 (diff)
downloadtalos-hostboot-06029fd46fa0cfb7d21a7810b7bec6a77fa77243.tar.gz
talos-hostboot-06029fd46fa0cfb7d21a7810b7bec6a77fa77243.zip
Change training advance check
Change the check to check for fails that exceed ECC This will handle the DDR_PHY fir popping on every training Change-Id: Ifff4c542c620846954acbc0d9d909053233fb2e7 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46447 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Dev-Ready: JACOB L. HARVEY <jlharvey@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46479 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> 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: William G. Hoffa <wghoffa@us.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C
index ae3cd643c..98df4c3c0 100644
--- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C
+++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C
@@ -134,12 +134,15 @@ extern "C"
{
bool l_cal_fail = false;
+ // l_fails is used to see if we need to rerun training.
+ // The other vector, l_fails, will be used to store errors across all of the ports
std::vector<fapi2::ReturnCode> l_temp_fails;
+
FAPI_TRY( mss::setup_and_execute_cal(p, rp, l_cal_steps_enabled, l_cal_abort_on_error) );
FAPI_TRY( mss::find_and_log_cal_errors(p, rp, l_cal_abort_on_error, l_cal_fail, l_temp_fails) );
// If we got a fail, let's ignore the previous fails and run backup pattern
- if (l_cal_fail)
+ if (l_temp_fails.size() != 0)
{
l_cal_fail = false;
@@ -163,8 +166,9 @@ extern "C"
FAPI_TRY( mss::setup_and_execute_cal(p, rp, l_cal_steps_enabled, l_cal_abort_on_error) );
FAPI_TRY( mss::find_and_log_cal_errors(p, rp, l_cal_abort_on_error, l_cal_fail, l_fails) );
- // If l_cal_fail == true here, error out
- if (l_cal_fail)
+ // Fail out for now.
+ // TK should restore values here
+ if (l_fails.size() != 0)
{
fapi2::Target<fapi2::TARGET_TYPE_DIMM> l_dimm;
OpenPOWER on IntegriCloud