diff options
Diffstat (limited to 'src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C')
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C | 110 |
1 files changed, 0 insertions, 110 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C index a2bc9ca83..b8a4d5ef0 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C @@ -76,116 +76,6 @@ CenMbaTdCtlr::FUNCS CenMbaTdCtlr::cv_cmdCompleteFuncs[] = // Private Functions //------------------------------------------------------------------------------ -int32_t CenMbaTdCtlr::analyzeDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc, - const CenAddr & i_stopAddr, - const CenAddr & i_endAddr ) -{ - #define PRDF_FUNC "[CenMbaTdCtlr::analyzeDsdPhase1] " - - int32_t o_rc = SUCCESS; - - do - { - if ( DSD_PHASE_1 != iv_tdState ) - { - PRDF_ERR( PRDF_FUNC "Invalid state machine configuration" ); - o_rc = FAIL; break; - } - - // Add the mark to the callout list. - CalloutUtil::calloutMark( iv_mbaTrgt, iv_rank, iv_mark, io_sc ); - - // Check for any ECC errors that occurred during the procedure. - uint16_t eccErrorMask = NO_ERROR; - o_rc = checkEccErrors( eccErrorMask, io_sc ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "checkEccErrors() failed" ); - break; - } - - if ( eccErrorMask & UE ) - { - o_rc = handleUe_Td( io_sc, i_stopAddr ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "handleUe_Td() failed" ); - break; - } - - // Abort the procedure. - iv_tdState = NO_OP; - break; - } - - if ( eccErrorMask & RETRY_CTE ) - { - o_rc = handleRceEte_Td( io_sc ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "handleRceEte_Td() failed" ); - break; - } - } - - if ( i_endAddr == i_stopAddr ) - { - // At this point, the procedure has not been aborted due to an error - // like a memory UE so consider the spare successful. - setTdSignature( io_sc, PRDFSIG_DsdDramSpared ); - - // Remove chip mark from hardware. - iv_mark.clearCM(); - - // There is small time window where hardware places a chip mark - // immediately after it is removed, but before the HWP procedure can - // query the FIR registers. In this case, we will simply allow the - // write to be 'blocked' and handle the new chip mark in a separate - // attention. - bool allowWriteBlocked = true; - bool blocked; // Currently ignored. - o_rc = mssSetMarkStore( iv_mbaTrgt, iv_rank, iv_mark, blocked, - allowWriteBlocked ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "mssSetMarkStore() failed" ); - break; - } - - // Always reset the state machine after DSD Phase 1 is complete. - iv_tdState = NO_OP; - } - else - { - // Restart the scrub on the next address. - o_rc = resumeScrub( io_sc, eccErrorMask ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "resumeScrub() failed" ); - break; - } - } - - } while(0); - - // If this TD procedure was completed or aborted, execute TD complete - // sequence. - if ( (iv_tdState == NO_OP) && (SUCCESS == o_rc) ) - { - o_rc = handleTdComplete( io_sc ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "handleTdComplete() failed" ); - } - } - - return o_rc; - - #undef PRDF_FUNC -} - -//------------------------------------------------------------------------------ - int32_t CenMbaTdCtlr::analyzeTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc, const CenAddr & i_stopAddr, const CenAddr & i_endAddr ) |