From 3890040afa1dc93d58476d68df35cb44d49c57b2 Mon Sep 17 00:00:00 2001 From: Stephen Glancy Date: Thu, 21 Sep 2017 10:14:04 -0500 Subject: Updates error paths for PRD FIR checking FIR's could cause errors within hardware procedures. PRD has the capability to retrigger a procedure if it sees an error. We might be able to avoid IPL issues with this, so if a FIR has been hit during hardware enabled code (CCS or calibration), then log the error and let PRD find the "new" FIR that could have caused the hardware engine to have an issue. If there is some other problem, the retriggered HWP will find it. Change-Id: I81599d1d0c4b4c256b79820b4a7e2eafc09e206b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46571 Tested-by: FSP CI Jenkins Reviewed-by: JACOB L. HARVEY Reviewed-by: Louis Stermole Tested-by: Jenkins Server Tested-by: HWSV CI Reviewed-by: ANDRE A. MARIN Tested-by: Hostboot CI Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46584 Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Daniel M. Crowell --- src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C') diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C b/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C index b82951221..669048513 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/ccs/ccs.C @@ -37,6 +37,7 @@ #include #include +#include using fapi2::TARGET_TYPE_MCBIST; using fapi2::TARGET_TYPE_MCA; @@ -83,6 +84,7 @@ fapi2::ReturnCode fail_type( const fapi2::Target& i_target, const uint64_t& i_type, const fapi2::Target& i_mca ) { + fapi2::ReturnCode l_failing_rc(fapi2::FAPI2_RC_SUCCESS); // Including the MCA_TARGET here and below at CAL_TIMEOUT since these problems likely lie at the MCA level // So we disable the PORT and hopefully that's it // If the problem lies with the MCBIST, it'll just have to loop @@ -112,7 +114,10 @@ fapi2::ReturnCode fail_type( const fapi2::Target& i_target, fapi2::MSS_CCS_HUNG().set_MCBIST_TARGET(i_target), "%s CCS appears hung", mss::c_str(i_target)); fapi_try_exit: - return fapi2::current_err; + // Due to the PRD update, we need to check for FIR's + // If any FIR's have lit up, this CCS fail could have been caused by the FIR + // So, let PRD retrigger this step to see if we can resolve the issue + return mss::check::fir_or_pll_fail(i_target, fapi2::current_err); } /// -- cgit v1.2.1