summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C b/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C
index c15ea5220..7aa41f6d4 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/fir/memdiags_fir.C
@@ -94,14 +94,20 @@ fapi2::ReturnCode after_memdiags( const fapi2::Target<TARGET_TYPE_MCBIST>& i_tar
.checkstop<MCA_FIR_MAINLINE_IAUE>()
.recoverable_error<MCA_FIR_MAINLINE_IUE>();
+ l_cal_fir_reg.recoverable_error<MCA_MBACALFIRQ_PORT_FAIL>();
+
// If ATTR_CHIP_EC_FEATURE_HW414700 is enabled set checkstops
auto l_chip_target = mss::find_target<fapi2::TARGET_TYPE_PROC_CHIP>(i_target);
FAPI_TRY( FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_HW414700, l_chip_target, l_checkstop_flag) );
+ // If the system is running DD2 chips override some recoverable firs with checkstop
+ // Due to a known hardware defect with DD2 certain errors are not handled properly
+ // As a result, these firs are marked as checkstop for DD2 to avoid any mishandling
if (l_checkstop_flag)
{
l_ecc64_fir_reg.checkstop<MCA_FIR_MAINLINE_UE>()
.checkstop<MCA_FIR_MAINLINE_RCD>();
+ l_cal_fir_reg.checkstop<MCA_MBACALFIRQ_PORT_FAIL>();
}
// If MNFG FLAG Threshhold is enabled skip IUE unflagging
@@ -112,8 +118,6 @@ fapi2::ReturnCode after_memdiags( const fapi2::Target<TARGET_TYPE_MCBIST>& i_tar
l_ecc64_fir_reg.recoverable_error<MCA_FIR_MAINTENANCE_IUE>();
}
- l_cal_fir_reg.recoverable_error<MCA_MBACALFIRQ_PORT_FAIL>();
-
FAPI_TRY(l_ecc64_fir_reg.write(), "unable to write fir::reg %d", MCA_FIR);
FAPI_TRY(l_cal_fir_reg.write(), "unable to write fir::reg %d", MCA_MBACALFIRQ);
OpenPOWER on IntegriCloud