summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/pegasus
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-05-17 21:57:07 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-05-23 15:11:28 -0400
commit4b7ee363259204d07076d93a89d49abb19d4f166 (patch)
tree842ef3fbe78fe6e83c4e2bcf5f91c6b4d505c392 /src/usr/diag/prdf/common/plat/pegasus
parente940af9a779a680dd817b65f5bbc356ad91f4c59 (diff)
downloadtalos-hostboot-4b7ee363259204d07076d93a89d49abb19d4f166.tar.gz
talos-hostboot-4b7ee363259204d07076d93a89d49abb19d4f166.zip
PRD: Update MemTdCtlr::initialize() for Centaur
Change-Id: I8d80af3f401af0728fa41585c33b8ff900cfae39 RTC: 192638 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59060 Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59230 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plat/pegasus')
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C47
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C131
2 files changed, 0 insertions, 178 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C
index 0a30244e0..aa27c6797 100644
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.C
@@ -43,53 +43,6 @@ using namespace PlatServices;
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlrCommon::initialize()
-{
- #define PRDF_FUNC "[CenMbaTdCtlrCommon::initialize] "
-
- int32_t o_rc = SUCCESS;
-
- do
- {
- // Set iv_mbaTrgt
- iv_mbaTrgt = iv_mbaChip->GetChipHandle();
-
- // Validate iv_mbaChip.
- if ( TYPE_MBA != getTargetType(iv_mbaTrgt) )
- {
- PRDF_ERR( PRDF_FUNC "iv_mbaChip is not TYPE_MBA" );
- o_rc = FAIL; break;
- }
-
- // Set iv_membChip.
- CenMbaDataBundle * mbadb = getMbaDataBundle( iv_mbaChip );
- iv_membChip = mbadb->getMembChip();
- if ( NULL == iv_membChip )
- {
- PRDF_ERR( PRDF_FUNC "getMembChip() failed" );
- o_rc = FAIL; break;
- }
-
- // Set iv_mbaPos.
- iv_mbaPos = getTargetPosition( iv_mbaTrgt );
- if ( MAX_MBA_PER_MEMBUF <= iv_mbaPos )
- {
- PRDF_ERR( PRDF_FUNC "iv_mbaPos=%d is invalid", iv_mbaPos );
- o_rc = FAIL; break;
- }
-
- // Set iv_x4Dimm.
- iv_x4Dimm = isDramWidthX4(iv_mbaTrgt);
-
- } while (0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
bool CenMbaTdCtlrCommon::isInTdMode()
{
return ( (NO_OP != iv_tdState) && (MAX_TD_STATE > iv_tdState) );
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
index 6e69f8ac5..a5d3382eb 100755
--- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
+++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_rt.C
@@ -337,137 +337,6 @@ int32_t CenMbaTdCtlr::handleTdEvent( STEP_CODE_DATA_STRUCT & io_sc,
// Private Functions
//------------------------------------------------------------------------------
-int32_t CenMbaTdCtlr::initialize()
-{
- #define PRDF_FUNC "[CenMbaTdCtlr::initialize] "
-
- int32_t o_rc = SUCCESS;
-
- do
- {
- if ( iv_initialized ) break; // nothing to do
-
- // Initialize common instance variables
- o_rc = CenMbaTdCtlrCommon::initialize();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "CenMbaTdCtlrCommon::initialize() failed" );
- break;
- }
-
- // Initialize the list of master ranks.
- o_rc = iv_masterRanks.initialize( iv_mbaTrgt );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "TdRankList::initialize() failed" );
- break;
- }
-
- // Unmask the fetch attentions just in case there were masked during a
- // TD procedure prior to a reset/reload.
- o_rc = unmaskFetchAttns();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "unmaskFetchAttns() failed" );
- break;
- }
-
- //----------------------------------------------------------------------
- // Add any unverified chip marks to the TD queue
- //----------------------------------------------------------------------
-
- // Will want to clear the MPE attention for any unverified chip marks.
- // This is so we don't get redundant attentions for chip marks that are
- // already in the queue. This is reset/reload safe because initialize()
- // will be called again and we can redetect the unverified chip marks.
-
- const char * reg_str = (0 == iv_mbaPos) ? "MBSECCFIR_0_AND"
- : "MBSECCFIR_1_AND";
- SCAN_COMM_REGISTER_CLASS * firand = iv_membChip->getRegister( reg_str );
- firand->setAllBits();
-
- // Search all configured ranks for unverfied chip marks.
- TdRankList::List rankList = iv_masterRanks.getList();
- for ( TdRankList::ListItr it = rankList.begin();
- it != rankList.end(); it++ )
- {
- CenMark markData;
- CenRank rank ( it->rank );
-
- // Get mark store from hardware.
- o_rc = mssGetMarkStore( iv_mbaTrgt, rank, markData );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "mssGetMarkStore() failed." );
- o_rc = FAIL; break;
- }
-
- // Move on to the next rank if there is no chip mark in hardware.
- if ( !markData.getCM().isValid() ) continue;
-
- // Check if chip mark also present in VPD.
- CenDqBitmap bitmap;
- o_rc = getBadDqBitmap( iv_mbaTrgt, rank, bitmap );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getBadDqBitmap() failed" );
- break;
- }
-
- bool vpdCM;
- o_rc = bitmap.isChipMark( markData.getCM(), vpdCM );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "isChipMark() failed" );
- break;
- }
-
- if ( !vpdCM )
- {
- PRDF_INF( PRDF_FUNC "Adding CM to queue: huid=0x%08x rank=%d",
- iv_mbaChip->GetId(), rank.getMaster() );
-
- // Chip mark is not present in VPD. Add it to queue.
- o_rc = addTdQueueEntryVCM( rank );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "addTdQueueEntryVCM() failed" );
- break;
- }
-
- // Clear MPE bits for this rank.
- firand->ClearBit( 0 + rank.getMaster() ); // fetch
- firand->ClearBit( 20 + rank.getMaster() ); // scrub
- }
- }
- if ( SUCCESS != o_rc ) break;
-
- if ( !iv_queue.empty() )
- {
- // Unverified chip marks found so clear the FIR bits.
- o_rc = firand->Write();
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "Write() failed on %s", reg_str );
- break;
- }
- }
-
- //----------------------------------------------------------------------
- // At this point, the TD controller is initialized.
- //----------------------------------------------------------------------
-
- iv_initialized = true;
-
- } while (0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
int32_t CenMbaTdCtlr::analyzeVcmPhase1( STEP_CODE_DATA_STRUCT & io_sc,
const CenAddr & i_stopAddr,
const CenAddr & i_endAddr )
OpenPOWER on IntegriCloud