summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/plat')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C5
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C8
2 files changed, 4 insertions, 9 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C b/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
index ad442f82d..ebe116431 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C
@@ -189,11 +189,8 @@ uint32_t clearEccFirs<TYPE_MCBIST>( ExtensibleChip * i_chip )
0xf83fffffffffffffull );
if ( SUCCESS != o_rc ) break;
- for ( uint32_t p = 0; p < MAX_PORT_PER_MCBIST; p++ )
+ for ( auto mcaChip : getConnected(i_chip, TYPE_MCA) )
{
- ExtensibleChip * mcaChip = getConnectedChild( i_chip, TYPE_MCA, p );
- if ( nullptr == mcaChip ) continue;
-
// Maintenance AUEs/IAUEs will be reported as system checkstops.
// Maintenance IMPEs will be reported as recoverable attentions at
// all times. Maintence IUEs will be masked during Memory
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
index fbd3526c4..6454ed7fe 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
@@ -384,9 +384,8 @@ uint32_t MemTdCtlr<TYPE_MCBIST>::maskEccAttns()
uint32_t o_rc = SUCCESS;
// Loop through all MCAs.
- for ( uint32_t ps = 0; ps < MAX_PORT_PER_MCBIST; ps++ )
+ for ( auto mcaChip : getConnected(iv_chip, TYPE_MCA) )
{
- ExtensibleChip * mcaChip = getConnectedChild( iv_chip, TYPE_MCA, ps );
SCAN_COMM_REGISTER_CLASS * mask =
mcaChip->getRegister( "MCAECCFIR_MASK_OR" );
@@ -421,9 +420,8 @@ uint32_t MemTdCtlr<TYPE_MCBIST>::unmaskEccAttns()
// thresholded so clear and unmask them as well.
// Loop through all MCAs.
- for ( uint32_t ps = 0; ps < MAX_PORT_PER_MCBIST; ps++ )
+ for ( auto mcaChip : getConnected(iv_chip, TYPE_MCA) )
{
- ExtensibleChip * mcaChip = getConnectedChild( iv_chip, TYPE_MCA, ps );
SCAN_COMM_REGISTER_CLASS * fir =
mcaChip->getRegister( "MCAECCFIR_AND" );
SCAN_COMM_REGISTER_CLASS * mask =
@@ -433,7 +431,7 @@ uint32_t MemTdCtlr<TYPE_MCBIST>::unmaskEccAttns()
// Don't clear the NCE and TCE attentions if specified to save the mask
// in the iv_saveEccMask array.
- if ( !iv_saveEccMask[ps] )
+ if ( !iv_saveEccMask[mcaChip->getPos()%MAX_PORT_PER_MCBIST] )
{
fir->ClearBit(8); mask->ClearBit(8); // Mainline read NCE
fir->ClearBit(9); mask->ClearBit(9); // Mainline read TCE
OpenPOWER on IntegriCloud