summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/phy
diff options
context:
space:
mode:
authorJacob Harvey <jlharvey@us.ibm.com>2017-08-31 17:54:14 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-09-07 14:41:06 -0400
commitf18a5784ca82e3e44572fa55ac36673736d9eb66 (patch)
treed987fb5a85eae0919f98874905a3bea8916c624c /src/import/chips/p9/procedures/hwp/memory/lib/phy
parent241d612d4398d7cf38274e812f84f0b4b9d9b4cb (diff)
downloadtalos-hostboot-f18a5784ca82e3e44572fa55ac36673736d9eb66.tar.gz
talos-hostboot-f18a5784ca82e3e44572fa55ac36673736d9eb66.zip
Add FIR checking to training error checking
Change-Id: I7de696f3724a3a3b10650790d481ecb1130d6d7c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45580 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> Reviewed-by: STEPHEN GLANCY <sglancy@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/45583 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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/phy')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
index 4aa6a48bd..ca275de9c 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/phy/ddr_phy.C
@@ -46,6 +46,7 @@
#include <lib/phy/adr32s.H>
#include <lib/phy/adr.H>
#include <lib/phy/seq.H>
+#include <lib/fir/check.H>
#include <lib/workarounds/dp16_workarounds.H>
#include <lib/workarounds/wr_vref_workarounds.H>
#include <lib/dimm/ddr4/latch_wr_vref.H>
@@ -540,7 +541,11 @@ fapi2::ReturnCode process_initial_cal_errors( const fapi2::Target<TARGET_TYPE_DI
if ((l_rank_pairs == 0) || (l_errors == 0))
{
- FAPI_INF("Initial cal - no errors reported %s", mss::c_str(l_mca));
+ // If we got here, we check the phy firs to see if the engine had a problem
+ // If there's no FIRs lit up, we return SUCCESS
+ // If there's a FIR, we return a general error that will trigger a BAD_DQ check by the calling function
+ FAPI_TRY( mss::check::during_draminit_training(i_target) );
+ FAPI_INF("Initial cal success %s", mss::c_str(l_mca));
return fapi2::FAPI2_RC_SUCCESS;
}
@@ -683,6 +688,10 @@ fapi2::ReturnCode process_initial_cal_errors( const fapi2::Target<TARGET_TYPE_DI
);
fapi_try_exit:
+ FAPI_INF("Initial cal - %s %s",
+ (fapi2::current_err == fapi2::FAPI2_RC_SUCCESS ? "success" : "errors reported"),
+ mss::c_str(l_mca));
+
return fapi2::current_err;
}
@@ -750,8 +759,9 @@ fapi2::ReturnCode find_and_log_cal_errors(const fapi2::Target<fapi2::TARGET_TYPE
}
}
- FAPI_ERR("Seeing calibration errors for p9_mss_draminit_training %s: Keep running? %s",
+ FAPI_ERR("Seeing calibration errors for p9_mss_draminit_training %s rp %d: Keep running? %s",
mss::c_str(l_dimm),
+ i_rp,
(l_rc == fapi2::FAPI2_RC_SUCCESS) ? "Yes" : "no");
// Let's update the attribute with the failing DQ bits since we had a training error
OpenPOWER on IntegriCloud