summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/mdia
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-06-20 11:40:49 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-06-22 10:21:56 -0400
commit5c7c9832bd41c86e9c5705947dad2d3604d5ebbb (patch)
treed6f1b21e234de6a715959be9d54b6243c5350c37 /src/usr/diag/mdia
parentd1924a3c11bf3ed92bacd89c4932ecbd57ebb391 (diff)
downloadtalos-hostboot-5c7c9832bd41c86e9c5705947dad2d3604d5ebbb.tar.gz
talos-hostboot-5c7c9832bd41c86e9c5705947dad2d3604d5ebbb.zip
PRD: MNFG thresholding for RCD parity error reconfig loops
Change-Id: Ie0282529d66cbe4b3169ad7ee601dbd2cb49f779 CQ: SW392001 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42136 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/usr/diag/mdia')
-rw-r--r--src/usr/diag/mdia/mdia.C20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/usr/diag/mdia/mdia.C b/src/usr/diag/mdia/mdia.C
index d136f6cee..c05e38a1e 100644
--- a/src/usr/diag/mdia/mdia.C
+++ b/src/usr/diag/mdia/mdia.C
@@ -117,20 +117,16 @@ errlHndl_t runStep(const TargetHandleList & i_targetList)
doStepCleanup(globals);
- if ( nullptr != top &&
- 0 != top->getAttr<ATTR_RCD_PARITY_RECONFIG_LOOP_COUNT>() )
+ // If this step completes without the need for a reconfig due to an RCD
+ // parity error, clear all RCD parity error counters.
+ ATTR_RECONFIGURE_LOOP_type attr = top->getAttr<ATTR_RECONFIGURE_LOOP>();
+ if ( 0 == (attr & RECONFIGURE_LOOP_RCD_PARITY_ERROR) )
{
- // Reset the RCD parity error reconfig loop counter if this step
- // completes without an RCD parity error. Note that PRD will only set
- // the RCD parity error flag if there is an RCD parity error and the
- // total count of reconfig loops is under threshold. At threshold, a
- // part will be deconfigured, forcing a reconfig, but the RCD parity
- // error flag will not be set to ensure this code is activated and the
- // count it reset.
- ATTR_RECONFIGURE_LOOP_type attr = top->getAttr<ATTR_RECONFIGURE_LOOP>();
- if ( 0 == (attr & RECONFIGURE_LOOP_RCD_PARITY_ERROR) )
+ TargetHandleList trgtList; getAllChiplets( trgtList, TYPE_MCA );
+ for ( auto & trgt : trgtList )
{
- top->setAttr<ATTR_RCD_PARITY_RECONFIG_LOOP_COUNT>(0);
+ if ( 0 != trgt->getAttr<ATTR_RCD_PARITY_RECONFIG_LOOP_COUNT>() )
+ trgt->setAttr<ATTR_RCD_PARITY_RECONFIG_LOOP_COUNT>(0);
}
}
OpenPOWER on IntegriCloud