diff options
Diffstat (limited to 'src/usr/diag/prdf/plat')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C | 12 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C | 4 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C | 4 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices.C | 17 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices.H | 2 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_ipl.C | 8 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_ipl.H | 4 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_rt.C | 2 |
8 files changed, 33 insertions, 20 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C index 6ace54515..638dc3d54 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C @@ -77,6 +77,10 @@ uint32_t MemTdCtlr<T>::handleTdEvent( STEP_CODE_DATA_STRUCT & io_sc, break; } + // Since we had to manually stop the maintenance command, refresh all + // relevant registers that may have changed since the initial capture. + // TODO: RTC 166837 + // Move onto the next step in the state machine. o_rc = nextStep( io_sc ); if ( SUCCESS != o_rc ) @@ -107,7 +111,7 @@ uint32_t MemTdCtlr<T>::initialize() if ( iv_initialized ) break; // nothing to do // Add any unverified chip marks to the TD queue - // TODO: RTC 136126 + // TODO: RTC 171866 // At this point, the TD controller is initialized. iv_initialized = true; @@ -139,6 +143,8 @@ uint32_t MemTdCtlr<T>::defaultStep( STEP_CODE_DATA_STRUCT & io_sc ) nextRank.getRank().getSlave() ); // Restart background scrubbing on the next rank. + // TODO: RTC 171875 Need mechanism to resume on next address (via HWP) + // if no targeted diagnostics have been run. o_rc = startBgScrub<T>( nextRank.getChip(), nextRank.getRank() ); if ( SUCCESS != o_rc ) { @@ -168,7 +174,7 @@ uint32_t MemTdCtlr<TYPE_MCBIST>::checkEcc( bool & o_errorsFound, o_errorsFound = false; - /* TODO: RTC 136126 + /* TODO: RTC 171915 MemRank rank = iv_stoppedRank.getRank(); do @@ -220,7 +226,7 @@ uint32_t MemTdCtlr<TYPE_MBA>::checkEcc( bool & o_errorsFound, o_errorsFound = false; - /* TODO: RTC 136126 + /* TODO: RTC 171915 MemRank rank = iv_stoppedRank.getRank(); o_rc = __checkEcc<TYPE_MBA>( iv_chip, rank, iv_queue, io_sc, diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C index 50e0c3d00..13f054dca 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -35,7 +35,7 @@ namespace PRDF //------------------------------------------------------------------------------ -// TODO: RTC 136126 Actual implementation of this procedure will be done later. +// TODO: RTC 171914 Actual implementation of this procedure will be done later. template<> uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done ) diff --git a/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C index 7f8717a3c..6952f40f5 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -35,7 +35,7 @@ namespace PRDF //------------------------------------------------------------------------------ -// TODO: RTC 136126 Actual implementation of this procedure will be done later. +// TODO: RTC 171913 Actual implementation of this procedure will be done later. template<> uint32_t VcmEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc, bool & o_done ) diff --git a/src/usr/diag/prdf/plat/prdfPlatServices.C b/src/usr/diag/prdf/plat/prdfPlatServices.C index 08c1fba46..59600c116 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices.C @@ -310,7 +310,12 @@ uint32_t startBgScrub<TYPE_MCA>( ExtensibleChip * i_mcaChip, fapi2::Target<fapi2::TARGET_TYPE_MCBIST> fapiTrgt ( mcbChip->getTrgt() ); // Get the stop conditions. + // NOTE: If HBRT_PRD is not configured, we want to use the defaults so that + // background scrubbing never stops. mss::mcbist::stop_conditions stopCond; + + #ifdef CONFIG_HBRT_PRD + stopCond.set_thresh_nce_int(1) .set_thresh_nce_soft(1) .set_thresh_nce_hard(1) @@ -321,6 +326,8 @@ uint32_t startBgScrub<TYPE_MCA>( ExtensibleChip * i_mcaChip, // In MNFG mode, stop on RCE_ETE to get an accurate callout for IUEs. if ( mfgMode() ) stopCond.set_thresh_rce(1); + #endif + // Get the scrub speed. mss::mcbist::speed scrubSpeed = enableFastBgScrub() ? mss::mcbist::LUDICROUS : mss::mcbist::BG_SCRUB; @@ -535,7 +542,7 @@ uint32_t startBgScrub<TYPE_MBA>( ExtensibleChip * i_mbaChip, } // Start the background scrub command. - PRDF_ERR( PRDF_FUNC "function not implemented yet" ); // TODO RTC 136126 + PRDF_ERR( PRDF_FUNC "function not implemented yet" ); // TODO RTC 157888 } while (0); @@ -550,7 +557,7 @@ template<> uint32_t startVcmPhase1<TYPE_MBA>( ExtensibleChip * i_mbaChip, const MemRank & i_rank ) { - PRDF_ERR( "function not implemented yet" ); // TODO RTC 136126 + PRDF_ERR( "function not implemented yet" ); // TODO RTC 157888 return SUCCESS; } @@ -560,7 +567,7 @@ template<> uint32_t startVcmPhase2<TYPE_MBA>( ExtensibleChip * i_mbaChip, const MemRank & i_rank ) { - PRDF_ERR( "function not implemented yet" ); // TODO RTC 136126 + PRDF_ERR( "function not implemented yet" ); // TODO RTC 157888 return SUCCESS; } @@ -570,7 +577,7 @@ template<> uint32_t startTpsPhase1<TYPE_MBA>( ExtensibleChip * i_mbaChip, const MemRank & i_rank ) { - PRDF_ERR( "function not implemented yet" ); // TODO RTC 136126 + PRDF_ERR( "function not implemented yet" ); // TODO RTC 157888 return SUCCESS; } @@ -580,7 +587,7 @@ template<> uint32_t startTpsPhase2<TYPE_MBA>( ExtensibleChip * i_mbaChip, const MemRank & i_rank ) { - PRDF_ERR( "function not implemented yet" ); // TODO RTC 136126 + PRDF_ERR( "function not implemented yet" ); // TODO RTC 157888 return SUCCESS; } diff --git a/src/usr/diag/prdf/plat/prdfPlatServices.H b/src/usr/diag/prdf/plat/prdfPlatServices.H index 53509ec8e..bea0a3c6c 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices.H +++ b/src/usr/diag/prdf/plat/prdfPlatServices.H @@ -35,7 +35,7 @@ */ #include <lib/mcbist/memdiags.H> ///< MCBIST command interfaces -//#include <utility_procedures/mss_maint_cmds.H> TODO: RTC 136126 +//#include <utility_procedures/mss_maint_cmds.H> TODO: RTC 157888 // This must be included after all Hostboot specific includes. This will take // care of cases where a file must be included in the common code, but the diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C index 3703de03a..8f5fdb34e 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C @@ -37,7 +37,7 @@ #include <prdfErrlUtil.H> #include <prdfTrace.H> -//#include <prdfCenDqBitmap.H> TODO RTC 136126 +//#include <prdfCenDqBitmap.H> TODO RTC 164707 #include <prdfMemScrubUtils.H> #include <diag/mdia/mdia.H> @@ -137,7 +137,7 @@ bool rcdParityErrorReconfigLoop() //------------------------------------------------------------------------------ -/* TODO RTC 136126 +/* TODO RTC 164707 int32_t mssRestoreDramRepairs( TargetHandle_t i_mbaTarget, uint8_t & o_repairedRankMask, uint8_t & o_badDimmMask ) @@ -165,7 +165,7 @@ int32_t mssRestoreDramRepairs( TargetHandle_t i_mbaTarget, //------------------------------------------------------------------------------ -/* TODO RTC 136126 +/* TODO RTC 157888 int32_t mssIplUeIsolation( TargetHandle_t i_mba, const CenRank & i_rank, CenDqBitmap & o_bitmap ) { @@ -306,7 +306,7 @@ uint32_t startSfRead<TYPE_MBA>( ExtensibleChip * i_mbaChip, } // Start the background scrub command. - PRDF_ERR( PRDF_FUNC "function not implemented yet" ); // TODO RTC 136126 + PRDF_ERR( PRDF_FUNC "function not implemented yet" ); // TODO RTC 157888 } while (0); diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H index 075f47133..5151f11b3 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H +++ b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H @@ -77,7 +77,7 @@ bool rcdParityErrorReconfigLoop(); * @param o_badDimm An encoded bitmask of bad DIMMs. * @return Non-SUCCESS in internal function fails, SUCCESS otherwise. */ -/* TODO RTC 136126 +/* TODO RTC 164707 int32_t mssRestoreDramRepairs( TARGETING::TargetHandle_t i_mbaTarget, uint8_t & o_repairedRankMask, uint8_t & o_badDimmMask ); @@ -91,7 +91,7 @@ int32_t mssRestoreDramRepairs( TARGETING::TargetHandle_t i_mbaTarget, * @param o_bitmap DQ bitmap container. * @return Non-SUCCESS in internal function fails, SUCCESS otherwise. */ -/* TODO RTC 136126 +/* TODO RTC 157888 int32_t mssIplUeIsolation( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank, CenDqBitmap & o_bitmap ); diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C index 241344e0a..687fc0b86 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C @@ -211,7 +211,7 @@ uint32_t stopBgScrub<TYPE_MBA>( ExtensibleChip * i_chip ) uint32_t rc = SUCCESS; PRDF_ERR( PRDF_FUNC "function not implemented yet" ); -/* TODO RTC 136126 +/* TODO RTC 157888 // It is safe to create a dummy command object because runtime commands do // not store anything for cleanupCmd() and the stopCmd() function is generic // for all command types. Also, since we are only stopping the command, all |