diff options
author | Jacob Harvey <jlharvey@us.ibm.com> | 2017-09-19 14:14:56 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2017-09-21 17:40:32 -0400 |
commit | 06029fd46fa0cfb7d21a7810b7bec6a77fa77243 (patch) | |
tree | 743176a01c79ee6dab7bb214b0d8401a5b7afa8f /src/import/chips/p9 | |
parent | 229ad66260fe34db94acaae5128d61f05951f218 (diff) | |
download | talos-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>
Diffstat (limited to 'src/import/chips/p9')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training_adv.C | 10 |
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; |