diff options
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C index 3e93152b4..ea7250918 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C @@ -29,6 +29,7 @@ #include <prdfMemAddress.H> #include <prdfMemCaptureData.H> #include <prdfMemScrubUtils.H> +#include <prdfP9McaDataBundle.H> #include <prdfP9McbistExtraSig.H> #include <prdfParserEnums.H> @@ -162,7 +163,7 @@ uint32_t MemTdCtlr<T>::handleCmdComplete( STEP_CODE_DATA_STRUCT & io_sc ) // some way to change the template to use the MCA. It is also a local function // because this is only for MemTdCtlr internal use and it didn't make much sense // to create a public function. -template<TARGETING::TYPE T> +template<TARGETING::TYPE T, typename D> uint32_t __checkEcc( ExtensibleChip * i_chip, TdQueue & io_queue, const MemAddr & i_addr, bool & o_errorsFound, STEP_CODE_DATA_STRUCT & io_sc ); @@ -248,8 +249,11 @@ uint32_t __analyzeCmdComplete<TYPE_MCBIST>( ExtensibleChip * i_chip, for ( auto & mcaChip : portList ) { bool errorsFound; - uint32_t l_rc = __checkEcc<TYPE_MCA>( mcaChip, io_queue, i_addr, - errorsFound, io_sc ); + uint32_t l_rc = __checkEcc<TYPE_MCA, McaDataBundle *>( mcaChip, + io_queue, + i_addr, + errorsFound, + io_sc ); if ( SUCCESS != l_rc ) { PRDF_ERR( PRDF_FUNC "__checkEcc<TYPE_MCA>(0x%08x) failed", @@ -282,8 +286,11 @@ uint32_t __analyzeCmdComplete<TYPE_MBA>( ExtensibleChip * i_chip, // Update iv_stoppedRank. o_stoppedRank = TdRankListEntry( i_chip, i_addr.getRank() ); + /* TODO RTC 157888 // Check the MBA for ECC errors. return __checkEcc<TYPE_MBA>(i_chip, io_queue, i_addr, o_errorsFound, io_sc); + */ + return SUCCESS; } //------------------------------------------------------------------------------ |