diff options
Diffstat (limited to 'src/usr/diag/prdf/plat')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C | 5 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | 8 |
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 |