From 4d12533d1f07b4698450528ee86d81e1138aaa55 Mon Sep 17 00:00:00 2001 From: Caleb Palmer Date: Tue, 3 Oct 2017 16:49:51 -0500 Subject: [PATCH] PRD: Reenable restoreDramRepairs Change-Id: I2b5a7516ceb2a04d607544fac0683ac83292f076 RTC: 178682 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/47106 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW Reviewed-by: Zane C. Shelley --- src/usr/diag/mdia/mdiasm.C | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/usr/diag/mdia/mdiasm.C b/src/usr/diag/mdia/mdiasm.C index 4d6c451aee0..a946c2bda5a 100644 --- a/src/usr/diag/mdia/mdiasm.C +++ b/src/usr/diag/mdia/mdiasm.C @@ -47,6 +47,7 @@ #include #include #include +#include using namespace TARGETING; using namespace ERRORLOG; @@ -897,12 +898,32 @@ bool StateMachine::executeWorkItem(WorkFlowProperties * i_wfp) // do the appropriate thing based on the phase for this target case RESTORE_DRAM_REPAIRS: + { + TargetHandle_t target = getTarget( *i_wfp); + TYPE trgtType = target->getAttr(); - //TODO RTC 136126 - //rc = PRDF::restoreDramRepairs(getTarget(*i_wfp)); + // MBA target + if ( TYPE_MBA == trgtType ) + { + rc = PRDF::restoreDramRepairs( target ); + } + // MCBIST target + else + { + // Get the connected MCAs. + TargetHandleList mcaList; + getChildAffinityTargets( mcaList, target, CLASS_UNIT, + TYPE_MCA ); + for ( auto & mca : mcaList ) + { + MDIA_SLOW( "sm: restoreDramRepairs(0x%08x)", + get_huid(mca) ); + rc = PRDF::restoreDramRepairs( mca ); + } + } break; - + } case START_PATTERN_0: case START_PATTERN_1: case START_PATTERN_2: