summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2013-09-30 17:31:46 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-10-09 21:32:09 -0500
commita4e6f46e545a6a8071975a827af1a442454963dd (patch)
tree90d36796c0b3b6771dcfac010d22fd82bd12b82f /src/usr
parent4b2ff3f87f78756922a1a9c1bfa49d823b51d64d (diff)
downloadtalos-hostboot-a4e6f46e545a6a8071975a827af1a442454963dd.tar.gz
talos-hostboot-a4e6f46e545a6a8071975a827af1a442454963dd.zip
PRD: Simplified signature updates during DRAM repairs
Change-Id: I55e1799da9371b2cdd58d99457ede24c025c5c97 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6413 Tested-by: Jenkins Server Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/6586
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaExtraSig.H2
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H18
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C40
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.H12
4 files changed, 38 insertions, 34 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaExtraSig.H b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaExtraSig.H
index 91ff82c90..6a8ff2673 100644
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaExtraSig.H
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaExtraSig.H
@@ -36,6 +36,8 @@ PRDR_ERROR_SIGNATURE(StartDsdPhase2, 0xffff0003, "", "Starting DSD phase 2");
PRDR_ERROR_SIGNATURE(StartTpsPhase1, 0xffff0004, "", "Starting TPS phase 1");
PRDR_ERROR_SIGNATURE(StartTpsPhase2, 0xffff0005, "", "Starting TPS phase 2");
PRDR_ERROR_SIGNATURE(EndTpsPhase2, 0xffff0006, "", "TPS Phase 2 completed");
+PRDR_ERROR_SIGNATURE(StartRankScrub, 0xffff0007, "", "Starting rank scrub");
+PRDR_ERROR_SIGNATURE(EndRankScrub, 0xffff0008, "", "Rank scrub completed");
PRDR_ERROR_SIGNATURE(MaintUE, 0xffff0010, "", "Maintenance UE");
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H
index 069747612..6e5644e00 100644
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H
@@ -211,39 +211,45 @@ class CenMbaTdCtlrCommon
/**
* @brief Starts VCM Phase 1.
+ * @param io_sc The step code data struct.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
- virtual int32_t startVcmPhase1() = 0;
+ virtual int32_t startVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc ) = 0;
/**
* @brief Starts VCM Phase 2.
+ * @param io_sc The step code data struct.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
- virtual int32_t startVcmPhase2() = 0;
+ virtual int32_t startVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc ) = 0;
/**
* @brief Starts DSD Phase 1.
+ * @param io_sc The step code data struct.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
- virtual int32_t startDsdPhase1() = 0;
+ virtual int32_t startDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc ) = 0;
/**
* @brief Starts DSD Phase 2.
+ * @param io_sc The step code data struct.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
- virtual int32_t startDsdPhase2() = 0;
+ virtual int32_t startDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc ) = 0;
/**
* @brief Starts Tps Phase 1.
+ * @param io_sc The step code data struct.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
- virtual int32_t startTpsPhase1() = 0;
+ virtual int32_t startTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc ) = 0;
/**
* @brief Starts Tps Phase 2.
+ * @param io_sc The step code data struct.
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
*/
- virtual int32_t startTpsPhase2() = 0;
+ virtual int32_t startTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc ) = 0;
/**
* @return TRUE if currently running a targeted diagnositics procedure,
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C
index 3c78c6c01..598c44dc1 100644
--- a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C
+++ b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C
@@ -314,8 +314,7 @@ int32_t CenMbaTdCtlr::analyzeCmdComplete( STEP_CODE_DATA_STRUCT & io_sc )
// So we will only check for Hard CE threshold.
// Start TPS Phase 1
- io_sc.service_data->SetErrorSig( PRDFSIG_StartTpsPhase1 );
- o_rc = startTpsPhase1();
+ o_rc = startTpsPhase1( io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC"startTpsPhase1() failed" );
@@ -374,12 +373,10 @@ int32_t CenMbaTdCtlr::analyzeVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc )
}
else
{
- io_sc.service_data->SetErrorSig( PRDFSIG_StartVcmPhase2 );
-
CalloutUtil::calloutMark( mba, iv_rank, iv_mark, io_sc );
// Start VCM Phase 2
- o_rc = startVcmPhase2();
+ o_rc = startVcmPhase2( io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC"startVcmPhase2() failed" );
@@ -517,12 +514,10 @@ int32_t CenMbaTdCtlr::analyzeDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc )
}
else
{
- io_sc.service_data->SetErrorSig( PRDFSIG_StartDsdPhase2 );
-
CalloutUtil::calloutMark( mba, iv_rank, iv_mark, io_sc );
// Start DSD Phase 2
- o_rc = startDsdPhase2();
+ o_rc = startDsdPhase2( io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC"startDsdPhase2() failed" );
@@ -670,8 +665,7 @@ int32_t CenMbaTdCtlr::analyzeTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc )
else
{
// Start TPS Phase 2
- io_sc.service_data->SetErrorSig( PRDFSIG_StartTpsPhase2 );
- o_rc = startTpsPhase2();
+ o_rc = startTpsPhase2( io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC"startTpsPhase2() failed" );
@@ -754,12 +748,13 @@ int32_t CenMbaTdCtlr::analyzeTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc )
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::startVcmPhase1()
+int32_t CenMbaTdCtlr::startVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::startVcmPhase1] "
int32_t o_rc = SUCCESS;
+ io_sc.service_data->SetErrorSig( PRDFSIG_StartVcmPhase1 );
iv_tdState = VCM_PHASE_1;
TargetHandle_t mba = iv_mbaChip->GetChipHandle();
@@ -801,12 +796,13 @@ int32_t CenMbaTdCtlr::startVcmPhase1()
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::startVcmPhase2()
+int32_t CenMbaTdCtlr::startVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::startVcmPhase2] "
int32_t o_rc = SUCCESS;
+ io_sc.service_data->SetErrorSig( PRDFSIG_StartVcmPhase2 );
iv_tdState = VCM_PHASE_2;
TargetHandle_t mba = iv_mbaChip->GetChipHandle();
@@ -848,12 +844,13 @@ int32_t CenMbaTdCtlr::startVcmPhase2()
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::startDsdPhase1()
+int32_t CenMbaTdCtlr::startDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::startDsdPhase1] "
int32_t o_rc = SUCCESS;
+ io_sc.service_data->SetErrorSig( PRDFSIG_StartDsdPhase1 );
iv_tdState = DSD_PHASE_1;
TargetHandle_t mba = iv_mbaChip->GetChipHandle();
@@ -903,12 +900,13 @@ int32_t CenMbaTdCtlr::startDsdPhase1()
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::startDsdPhase2()
+int32_t CenMbaTdCtlr::startDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::startDsdPhase2] "
int32_t o_rc = SUCCESS;
+ io_sc.service_data->SetErrorSig( PRDFSIG_StartDsdPhase2 );
iv_tdState = DSD_PHASE_2;
TargetHandle_t mba = iv_mbaChip->GetChipHandle();
@@ -950,12 +948,13 @@ int32_t CenMbaTdCtlr::startDsdPhase2()
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::startTpsPhase1()
+int32_t CenMbaTdCtlr::startTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::startTpsPhase1] "
int32_t o_rc = SUCCESS;
+ io_sc.service_data->SetErrorSig( PRDFSIG_StartTpsPhase1 );
iv_tdState = TPS_PHASE_1;
TargetHandle_t mba = iv_mbaChip->GetChipHandle();
@@ -1006,12 +1005,13 @@ int32_t CenMbaTdCtlr::startTpsPhase1()
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::startTpsPhase2()
+int32_t CenMbaTdCtlr::startTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[CenMbaTdCtlr::startTpsPhase2] "
int32_t o_rc = SUCCESS;
+ io_sc.service_data->SetErrorSig( PRDFSIG_StartTpsPhase2 );
iv_tdState = TPS_PHASE_2;
TargetHandle_t mba = iv_mbaChip->GetChipHandle();
@@ -1267,12 +1267,10 @@ int32_t CenMbaTdCtlr::handleMPE( STEP_CODE_DATA_STRUCT & io_sc )
o_rc = FAIL; break;
}
- io_sc.service_data->SetErrorSig( PRDFSIG_StartVcmPhase1 );
-
CalloutUtil::calloutMark( mba, iv_rank, iv_mark, io_sc );
// Start VCM procedure
- o_rc = startVcmPhase1();
+ o_rc = startVcmPhase1( io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC"startVcmPhase1() failed" );
@@ -1440,9 +1438,7 @@ int32_t CenMbaTdCtlr::handleMCE_VCM2( STEP_CODE_DATA_STRUCT & io_sc )
// Start DSD Phase 1, if possible.
if ( startDsdProcedure )
{
- io_sc.service_data->SetErrorSig( PRDFSIG_StartDsdPhase1 );
-
- o_rc = startDsdPhase1();
+ o_rc = startDsdPhase1( io_sc );
if ( SUCCESS != o_rc )
{
PRDF_ERR( PRDF_FUNC"startDsdPhase1() failed" );
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.H b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.H
index 5b89663ad..b1118e009 100644
--- a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.H
+++ b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.H
@@ -77,12 +77,12 @@ class CenMbaTdCtlr : public CenMbaTdCtlrCommon
int32_t analyzeTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc );
int32_t analyzeTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc );
- int32_t startVcmPhase1();
- int32_t startVcmPhase2();
- int32_t startDsdPhase1();
- int32_t startDsdPhase2();
- int32_t startTpsPhase1();
- int32_t startTpsPhase2();
+ int32_t startVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc );
+ int32_t startVcmPhase2( STEP_CODE_DATA_STRUCT & io_sc );
+ int32_t startDsdPhase1( STEP_CODE_DATA_STRUCT & io_sc );
+ int32_t startDsdPhase2( STEP_CODE_DATA_STRUCT & io_sc );
+ int32_t startTpsPhase1( STEP_CODE_DATA_STRUCT & io_sc );
+ int32_t startTpsPhase2( STEP_CODE_DATA_STRUCT & io_sc );
private: // functions
OpenPOWER on IntegriCloud