summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C12
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 );
OpenPOWER on IntegriCloud