summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/plat')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C12
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C4
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C4
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices.C17
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices.H2
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices_ipl.C8
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices_ipl.H4
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices_rt.C2
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
OpenPOWER on IntegriCloud