diff options
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C index ba1eadd83..986edc20c 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C @@ -109,6 +109,8 @@ uint32_t MemTdCtlr<T>::handleCmdComplete( STEP_CODE_DATA_STRUCT & io_sc ) } // Inform MDIA the command has completed and PRD is starting analysis. + // If MDIA started the command, the reset message will do the cleanup + // for the super fast command. o_rc = mdiaSendEventMsg( iv_chip->getTrgt(), MDIA::RESET_TIMER ); if ( SUCCESS != o_rc ) { @@ -116,6 +118,16 @@ uint32_t MemTdCtlr<T>::handleCmdComplete( STEP_CODE_DATA_STRUCT & io_sc ) break; } + // If PRD started a super fast command, this will do the cleanup for the + // super fast command. + o_rc = cleanupSfRead<T>( iv_chip ); + if ( SUCCESS != o_rc ) + { + PRDF_ERR( PRDF_FUNC "cleanupSfRead(0x%08x) failed", + iv_chip->getHuid() ); + break; + } + #endif collectStateCaptureData( io_sc, TD_CTLR_DATA::START ); |