From b1090a522be13bedf9a47af0543cf6baa314a282 Mon Sep 17 00:00:00 2001 From: Caleb Palmer Date: Wed, 7 Aug 2019 13:38:08 -0500 Subject: PRD: Axone more MEM_PORT cleanup and misc updates Change-Id: I486f5b93d742f8c448c148da641c64152c050a68 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81926 Tested-by: Jenkins Server Reviewed-by: Benjamen G Tyner Reviewed-by: Zane C Shelley Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81987 Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW --- .../diag/prdf/common/plat/mem/prdfMemEccAnalysis.C | 1 - src/usr/diag/prdf/common/plat/mem/prdfMemMark.C | 13 +--- src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.C | 6 +- src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.H | 4 +- .../diag/prdf/common/plat/mem/prdfMemThresholds.C | 6 -- .../prdf/common/plat/prdfPlatServices_common.C | 10 +-- src/usr/diag/prdf/common/plat/prdfTargetServices.C | 31 +------- src/usr/diag/prdf/common/plat/prdfTargetServices.H | 8 +- src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C | 33 -------- src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C | 89 +--------------------- src/usr/diag/prdf/plat/mem/prdfMemTdRankList.H | 2 +- src/usr/diag/prdf/plat/prdfPlatServices.C | 4 +- src/usr/diag/prdf/plat/prdfPlatServices_ipl.H | 4 +- src/usr/diag/prdf/plat/prdfPlatServices_rt.C | 4 + src/usr/diag/prdf/plat/prdfPlatServices_rt.H | 4 +- src/usr/diag/prdf/prdfMain_ipl.C | 6 ++ 16 files changed, 38 insertions(+), 187 deletions(-) (limited to 'src/usr/diag/prdf') diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C index e097114bb..e58e50e5c 100644 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemEccAnalysis.C @@ -149,7 +149,6 @@ uint32_t handleMemUe( ExtensibleChip * i_chip, uint32_t o_rc = SUCCESS; - PRDF_ERR( PRDF_FUNC "Function not supported yet" ); do { // First check to see if this is a side-effect UE. diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemMark.C b/src/usr/diag/prdf/common/plat/mem/prdfMemMark.C index 529d15181..e43d844c4 100644 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemMark.C +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemMark.C @@ -1468,17 +1468,8 @@ uint32_t chipMarkCleanup( ExtensibleChip * i_chip, const MemRank & i_rank, // Set the chip mark in the DRAM Repairs VPD. if ( !areDramRepairsDisabled() ) { - if ( TYPE_OCMB_CHIP == i_chip->getType() ) - { - TargetHandle_t memPort = getConnectedChild( i_chip->getTrgt(), - TYPE_MEM_PORT, chipMark.getSymbol().getPortSlct() ); - o_rc = setDramInVpd( memPort, i_rank, chipMark.getSymbol() ); - } - else - { - o_rc = setDramInVpd( i_chip->getTrgt(), i_rank, - chipMark.getSymbol() ); - } + o_rc = setDramInVpd( i_chip->getTrgt(), i_rank, + chipMark.getSymbol() ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "setDramInVpd(0x%08x,0x%02x) failed", diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.C b/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.C index fc4fa3a92..d58d6a177 100755 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.C +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.C @@ -205,7 +205,7 @@ uint8_t MemSymbol::getDramRelCenDqs() const const uint8_t X8_DRAM_SPARE = 9; bool isX4 = true; - if ( TYPE_MEM_PORT == getTargetType(iv_trgt) ) + if ( TYPE_OCMB_CHIP == getTargetType(iv_trgt) ) { TargetHandle_t dimm = getConnectedDimm(iv_trgt, iv_rank, getPortSlct()); isX4 = isDramWidthX4( dimm ); @@ -246,7 +246,7 @@ uint8_t MemSymbol::getDramPins() const { TYPE trgtType = getTargetType( iv_trgt ); bool isX4 = true; - if ( TYPE_MEM_PORT == getTargetType(iv_trgt) ) + if ( TYPE_OCMB_CHIP == trgtType ) { TargetHandle_t dimm = getConnectedDimm(iv_trgt, iv_rank, getPortSlct()); isX4 = isDramWidthX4( dimm ); @@ -285,7 +285,7 @@ uint8_t MemSymbol::getDramSymbol() const uint8_t dramSymbol = SYMBOLS_PER_RANK; TYPE trgtType = getTargetType( iv_trgt ); bool isX4 = true; - if ( TYPE_MEM_PORT == getTargetType(iv_trgt) ) + if ( TYPE_OCMB_CHIP == trgtType ) { TargetHandle_t dimm = getConnectedDimm(iv_trgt, iv_rank, getPortSlct()); isX4 = isDramWidthX4( dimm ); diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.H b/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.H index 80b101ab1..00b0c7cfd 100755 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.H +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.H @@ -79,7 +79,7 @@ class MemSymbol /** * @brief Creates a MemSymbol from a symbol. - * @param i_trgt MBA, MCA, or MEM_PORT target. + * @param i_trgt MBA, MCA, or OCMB_CHIP target. * @param i_rank The rank this symbol is on. * @param i_symbol The input symbol. * @param i_pins See enum DqMask. @@ -218,7 +218,7 @@ class MemSymbol /** * @brief Reads the memory NCE/TCE vector trap register from hardware. - * @param i_chip MCA, MBA, or MEM_PORT. + * @param i_chip MCA, MBA, or OCMB_CHIP. * @param i_rank The rank this symbol is on. * @param o_sym1 The first symbol. Should always be valid for both NCE/TCE. * @param o_sym2 The second symbol. Only valid for TCEs. diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemThresholds.C b/src/usr/diag/prdf/common/plat/mem/prdfMemThresholds.C index 6ad8a724a..f9c73b739 100755 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemThresholds.C +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemThresholds.C @@ -237,14 +237,8 @@ uint32_t getScrubCeThreshold( ExtensibleChip * i_chip, const MemRank & i_rank ) // need these templates to avoid linker errors template -uint32_t getScrubCeThreshold( ExtensibleChip * i_chip, - const MemRank & i_rank ); -template uint32_t getScrubCeThreshold( ExtensibleChip * i_chip, const MemRank & i_rank ); -template -uint32_t getScrubCeThreshold( ExtensibleChip * i_chip, - const MemRank & i_rank ); } // end namespace PRDF diff --git a/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C b/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C index d7bd5b46b..9a2f1961a 100644 --- a/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C +++ b/src/usr/diag/prdf/common/plat/prdfPlatServices_common.C @@ -971,7 +971,7 @@ int32_t mssGetSteerMux( TargetHandle_t i_ocmb, uint8_t port0Spare, port1Spare, eccSpare; - fapi2::Target fapiPort(i_memPort); + fapi2::Target fapiPort(i_ocmb); FAPI_INVOKE_HWP( errl, mss_check_steering, fapiPort, i_rank.getMaster(), port0Spare, port1Spare, eccSpare ); @@ -979,15 +979,15 @@ int32_t mssGetSteerMux( TargetHandle_t i_ocmb, { PRDF_ERR( "[PlatServices::mssGetSteerMux] mss_check_steering() " "failed. HUID: 0x%08x rank: %d", - getHuid(i_memPort), i_rank.getMaster() ); + getHuid(i_ocmb), i_rank.getMaster() ); PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); o_rc = FAIL; } else { - o_port0Spare = MemSymbol::fromSymbol( i_memPort, i_rank, port0Spare ); - o_port1Spare = MemSymbol::fromSymbol( i_memPort, i_rank, port1Spare ); - o_eccSpare = MemSymbol::fromSymbol( i_memPort, i_rank, eccSpare ); + o_port0Spare = MemSymbol::fromSymbol( i_ocmb, i_rank, port0Spare ); + o_port1Spare = MemSymbol::fromSymbol( i_ocmb, i_rank, port1Spare ); + o_eccSpare = MemSymbol::fromSymbol( i_ocmb, i_rank, eccSpare ); } #endif */ diff --git a/src/usr/diag/prdf/common/plat/prdfTargetServices.C b/src/usr/diag/prdf/common/plat/prdfTargetServices.C index ad73ba49a..e881865ce 100755 --- a/src/usr/diag/prdf/common/plat/prdfTargetServices.C +++ b/src/usr/diag/prdf/common/plat/prdfTargetServices.C @@ -1682,14 +1682,6 @@ void getMasterRanks( TargetHandle_t i_trgt, __getMasterRanks( i_trgt, o_ranks, 0, i_ds ); } -template<> -void getMasterRanks( TargetHandle_t i_trgt, - std::vector & o_ranks, - uint8_t i_ds ) -{ - __getMasterRanks( i_trgt, o_ranks, 0, i_ds ); -} - template<> void getMasterRanks( TargetHandle_t i_trgt, std::vector & o_ranks, @@ -1767,11 +1759,7 @@ void getSlaveRanks( TargetHandle_t i_trgt, std::vector & o_ranks, uint8_t i_ds ) { - // TODO RTC 210072 - Explorer only has one port, however, multiple ports - // will be supported in the future. Updates will need to be made here so we - // can get the relevant port. - TargetHandle_t memPort = getConnectedChild( i_trgt, TYPE_MEM_PORT, 0 ); - __getSlaveRanks( memPort, o_ranks, i_ds ); + __getSlaveRanks( i_trgt, o_ranks, i_ds ); } //------------------------------------------------------------------------------ @@ -1867,13 +1855,6 @@ uint8_t getNumMasterRanksPerDimm( TargetHandle_t i_trgt, return __getNumMasterRanksPerDimm( i_trgt, 0, i_ds ); } -template<> -uint8_t getNumMasterRanksPerDimm( TargetHandle_t i_trgt, - uint8_t i_ds ) -{ - return __getNumMasterRanksPerDimm( i_trgt, 0, i_ds ); -} - template<> uint8_t getNumMasterRanksPerDimm( TargetHandle_t i_trgt, uint8_t i_ds ) @@ -1882,7 +1863,7 @@ uint8_t getNumMasterRanksPerDimm( TargetHandle_t i_trgt, // will be supported in the future. Updates will need to be made here so we // can get the relevant port. TargetHandle_t memPort = getConnectedChild( i_trgt, TYPE_MEM_PORT, 0 ); - return getNumMasterRanksPerDimm( memPort, i_ds ); + return __getNumMasterRanksPerDimm( memPort, 0, i_ds ); } //------------------------------------------------------------------------------ @@ -1972,12 +1953,6 @@ uint8_t getNumRanksPerDimm( TargetHandle_t i_trgt, uint8_t i_ds ) return __getNumRanksPerDimm( i_trgt, 0, i_ds ); } -template<> -uint8_t getNumRanksPerDimm( TargetHandle_t i_trgt, uint8_t i_ds ) -{ - return __getNumRanksPerDimm( i_trgt, 0, i_ds ); -} - template<> uint8_t getNumRanksPerDimm(TargetHandle_t i_trgt, uint8_t i_ds) { @@ -1985,7 +1960,7 @@ uint8_t getNumRanksPerDimm(TargetHandle_t i_trgt, uint8_t i_ds) // will be supported in the future. Updates will need to be made here so we // can get the relevant port. TargetHandle_t memPort = getConnectedChild( i_trgt, TYPE_MEM_PORT, 0 ); - return getNumRanksPerDimm( memPort, i_ds ); + return __getNumRanksPerDimm( memPort, 0, i_ds ); } //############################################################################## diff --git a/src/usr/diag/prdf/common/plat/prdfTargetServices.H b/src/usr/diag/prdf/common/plat/prdfTargetServices.H index cead140df..34af865d7 100755 --- a/src/usr/diag/prdf/common/plat/prdfTargetServices.H +++ b/src/usr/diag/prdf/common/plat/prdfTargetServices.H @@ -452,7 +452,7 @@ uint8_t getColNumConfig( TARGETING::TargetHandle_t i_trgt ); /** * @brief Returns a sorted list of configured master ranks for an MCA or MBA. - * @param i_trgt MCA, MBA, or MEM_PORT target. + * @param i_trgt MCA, MBA, or OCMB_CHIP target. * @param o_ranks The returned list. * @param i_ds When used, this function will only return the list of ranks * for the target DIMM select. Otherwise, the default is to @@ -468,7 +468,7 @@ void getMasterRanks( TARGETING::TargetHandle_t i_trgt, /** * @brief Returns a sorted list of configured slave ranks for an MCA or MBA. - * @param i_trgt MCA, MBA, or MEM_PORT target. + * @param i_trgt MCA, MBA, or OCMB_CHIP target. * @param o_ranks The returned list. * @param i_ds When used, this function will only return the list of ranks * for the target DIMM select. Otherwise, the default is to @@ -484,7 +484,7 @@ void getSlaveRanks( TARGETING::TargetHandle_t i_trgt, /** * @brief Obtains the number of master ranks per DIMM select. - * @param i_trgt MCA, MBA, or MEM_PORT target. + * @param i_trgt MCA, MBA, or OCMB_CHIP target. * @param i_ds DIMM select. * @return Total number of master ranks configured per DIMM select. */ @@ -495,7 +495,7 @@ uint8_t getNumMasterRanksPerDimm( TARGETING::TargetHandle_t i_trgt, /** * @brief Obtains the total number of ranks (including slave ranks) per DIMM * select. - * @param i_trgt MCA, MBA, or MEM_PORT target. + * @param i_trgt MCA, MBA, or OCMB_CHIP target. * @param i_ds DIMM select. * @return Total number of ranks configured per DIMM select. */ diff --git a/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C b/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C index a84f6b706..a6061dfc6 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemScrubUtils.C @@ -105,17 +105,6 @@ uint32_t clearCmdCompleteAttn( ExtensibleChip * i_chip ) 0xffdfffffffffffffull ); } -template<> -uint32_t clearCmdCompleteAttn( ExtensibleChip * i_chip ) -{ - PRDF_ASSERT( nullptr != i_chip ); - PRDF_ASSERT( TYPE_MEM_PORT == i_chip->getType() ); - - ExtensibleChip * ocmbChip = getConnectedParent( i_chip, TYPE_OCMB_CHIP ); - - return clearCmdCompleteAttn( ocmbChip ); -} - template<> uint32_t clearCmdCompleteAttn( ExtensibleChip * i_chip ) { @@ -193,17 +182,6 @@ uint32_t clearEccCounters( ExtensibleChip * i_chip ) return __clearEccCounters( i_chip, "MCB_CNTL", 7 ); } -template<> -uint32_t clearEccCounters( ExtensibleChip * i_chip ) -{ - PRDF_ASSERT( nullptr != i_chip ); - PRDF_ASSERT( TYPE_MEM_PORT == i_chip->getType() ); - - ExtensibleChip * ocmbChip = getConnectedParent( i_chip, TYPE_OCMB_CHIP ); - - return clearEccCounters( ocmbChip ); -} - template<> uint32_t clearEccCounters( ExtensibleChip * i_chip ) { @@ -305,17 +283,6 @@ uint32_t clearEccFirs( ExtensibleChip * i_chip ) return o_rc; } -template<> -uint32_t clearEccFirs( ExtensibleChip * i_chip ) -{ - PRDF_ASSERT( nullptr != i_chip ); - PRDF_ASSERT( TYPE_MEM_PORT == i_chip->getType() ); - - ExtensibleChip * ocmbChip = getConnectedParent( i_chip, TYPE_OCMB_CHIP ); - - return clearEccFirs( ocmbChip ); -} - template<> uint32_t clearEccFirs( ExtensibleChip * i_chip ) { diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C index 23f08d6eb..779d13a73 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C @@ -1053,14 +1053,6 @@ SCAN_COMM_REGISTER_CLASS * __getEccFirAnd( return i_chip->getRegister( "RDFFIR_AND" ); } -template<> -SCAN_COMM_REGISTER_CLASS * __getEccFirAnd( - ExtensibleChip * i_chip ) -{ - ExtensibleChip * ocmbChip = getConnectedParent( i_chip, TYPE_OCMB_CHIP ); - return ocmbChip->getRegister( "RDFFIR_AND" ); -} - template<> SCAN_COMM_REGISTER_CLASS * __getEccFirAnd( ExtensibleChip * i_chip ) { @@ -1144,83 +1136,6 @@ uint32_t __findChipMarks( TdRankList & i_rankList ) #undef PRDF_FUNC } -template <> -uint32_t __findChipMarks( - TdRankList & i_rankList ) -{ - #define PRDF_FUNC "[__findChipMarks] " - - uint32_t o_rc = SUCCESS; - - for ( auto & entry : i_rankList.getList() ) - { - ExtensibleChip * ocmb = entry.getChip(); - MemRank rank = entry.getRank(); - - // Call readChipMark to get MemMark. - MemMark chipMark; - o_rc = MarkStore::readChipMark( ocmb, rank, chipMark ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "readChipMark(0x%08x,0x%02x) failed", - ocmb->getHuid(), rank.getKey() ); - break; - } - - if ( !chipMark.isValid() ) continue; // no chip mark present - - // Get the DQ Bitmap data. - MemDqBitmap dqBitmap; - o_rc = getBadDqBitmap( ocmb->getTrgt(), rank, dqBitmap ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "getBadDqBitmap(0x%08x,0x%02x)", - ocmb->getHuid(), rank.getKey() ); - break; - } - - // Check if the chip mark is verified or not. - bool cmVerified = false; - o_rc = dqBitmap.isChipMark( chipMark.getSymbol(), cmVerified ); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "dqBitmap.isChipMark() failed on 0x%08x " - "0x%02x", ocmb->getHuid(), rank.getKey() ); - break; - } - - // If the chip mark is unverified, add a VcmEvent to the TD queue. - if ( !cmVerified ) - { - // Chip mark is not present in VPD. Add it to queue. - TdEntry * e = new VcmEvent{ ocmb, rank, chipMark }; - MemDbUtils::pushToQueue( ocmb, e ); - - // We will want to clear the MPE attention for the unverified chip - // mark so we don't get any 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. - SCAN_COMM_REGISTER_CLASS* reg =__getEccFirAnd(ocmb); - reg->setAllBits(); - reg->ClearBit( 0 + rank.getMaster() ); // fetch - reg->ClearBit( 20 + rank.getMaster() ); // scrub - o_rc = reg->Write(); - if ( SUCCESS != o_rc ) - { - PRDF_ERR( PRDF_FUNC "Write() failed on ECC FIR AND: 0x%08x", - ocmb->getHuid() ); - break; - } - } - } - - return o_rc; - - #undef PRDF_FUNC -} - - template<> uint32_t MemTdCtlr::initialize() { @@ -1281,7 +1196,7 @@ uint32_t MemTdCtlr::initialize() } // Find all unverified chip marks. - o_rc = __findChipMarks( iv_rankList ); + o_rc = __findChipMarks( iv_rankList ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "__findChipMarks() failed on 0x%08x", @@ -1516,7 +1431,7 @@ uint32_t MemTdCtlr::handleRrFo() chipMark ); if ( SUCCESS != o_rc ) { - PRDF_ERR( PRDF_FUNC "readChipMark(0x%08x,%d) " + PRDF_ERR( PRDF_FUNC "readChipMark(0x%08x,%d) " "failed", ocmbChip->getHuid(), rank.getMaster() ); break; } diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdRankList.H b/src/usr/diag/prdf/plat/mem/prdfMemTdRankList.H index d1cf12a50..2e833a12a 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdRankList.H +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdRankList.H @@ -81,7 +81,7 @@ class TdRankListEntry private: ExtensibleChip * iv_chip = nullptr; ///< MCA, MBA, or OCMB chip. - MemRank iv_rank = MemRank(0); ///< Any rank on the MCA/MBA/MEM_PORT + MemRank iv_rank = MemRank(0); ///< Any rank on the MCA/MBA/OCMB }; /** diff --git a/src/usr/diag/prdf/plat/prdfPlatServices.C b/src/usr/diag/prdf/plat/prdfPlatServices.C index 8e52c9738..1610981e5 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices.C @@ -1400,8 +1400,8 @@ uint32_t startBgScrub( ExtensibleChip * i_ocmb, { // Get the first address of the given rank. mss::mcbist::address saddr, eaddr; - o_rc = getMemAddrRange( i_memPort, i_rank, saddr, eaddr, - SLAVE_RANK ); + o_rc = getMemAddrRange( i_memPort, i_rank, saddr, eaddr, + SLAVE_RANK ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "getMemAddrRange(0x%08x,0x%2x) failed", diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H index a27f1b92e..c12cf5a51 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H +++ b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.H @@ -66,7 +66,7 @@ int32_t mdiaSendEventMsg( TARGETING::TargetHandle_t i_trgt, /** * @brief Initiates a reconfig loop due to an RCD parity error. - * @param i_trgt An MCA or MEM_PORT target. + * @param i_trgt An MCA target. * @return True if the number of allowed reconfig loops has been exceeded. * False otherwise. */ @@ -113,7 +113,7 @@ bool isBroadcastModeCapable( ExtensibleChip * i_chip ); /** * @brief Starts a super fast read command from the first address of the given * rank to the end of memory. - * @param i_chip MCBIST/MCA, MBA, or MEM_PORT chip. + * @param i_chip MCBIST/MCA, MBA, or OCMB chip. * @param i_rank Will start the command on the first address of this slave * rank. To ensure the command is started on a master rank boundary, * make sure the slave rank value is 0. diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C index ba979a608..e3bdecb59 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_rt.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices_rt.C @@ -396,6 +396,8 @@ uint32_t stopBgScrub( ExtensibleChip * i_chip ) uint32_t rc = SUCCESS; + PRDF_TRAC( PRDF_FUNC "Function not supported yet" ); + /* TODO RTC 207273 - no HWP support yet fapi2::Target fapiTrgt ( i_chip->getTrgt() ); @@ -427,6 +429,8 @@ uint32_t resumeBgScrub( ExtensibleChip * i_chip ) uint32_t o_rc = SUCCESS; + PRDF_TRAC( PRDF_FUNC "Function not supported yet" ); + /* TODO RTC 207273 - no hwp support yet // Get the OCMB_CHIP fapi target diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_rt.H b/src/usr/diag/prdf/plat/prdfPlatServices_rt.H index 10f2bc4a2..a64aa8da6 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_rt.H +++ b/src/usr/diag/prdf/plat/prdfPlatServices_rt.H @@ -70,7 +70,7 @@ void sendPredDeallocRequest( uint64_t i_saddr, uint64_t i_eaddr ); /** * @brief Stops Background Scrubbing. - * @param i_chip MCBIST, MCA, MBA, MEM_PORT, or OCMB chip. + * @param i_chip MCBIST, MCA, MBA, or OCMB chip. * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise. */ template @@ -89,7 +89,7 @@ uint32_t stopBgScrub( ExtensibleChip * i_chip ); * due to an error. It should not be called after executing a Targeted * Diagnotics procedure. * - * @param i_chip MCBIST, MCA, MBA, MEM_PORT, or OCMB chip. + * @param i_chip MCBIST, MCA, MBA, or OCMB chip. * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise. */ template diff --git a/src/usr/diag/prdf/prdfMain_ipl.C b/src/usr/diag/prdf/prdfMain_ipl.C index 058f78e2e..575b7086b 100644 --- a/src/usr/diag/prdf/prdfMain_ipl.C +++ b/src/usr/diag/prdf/prdfMain_ipl.C @@ -42,6 +42,7 @@ #include #include #include +#include #include // Custom compile configs @@ -98,6 +99,11 @@ int32_t analyzeIplCEStats( TargetHandle_t i_trgt, bool &o_calloutMade ) MbaDataBundle * db = getMbaDataBundle( chip ); o_calloutMade = db->getIplCeStats()->analyzeStats(); } + else if ( TYPE_OCMB_CHIP == type ) + { + OcmbDataBundle * db = getOcmbDataBundle( chip ); + o_calloutMade = db->getIplCeStats()->analyzeStats(); + } else { PRDF_ERR( PRDF_FUNC "Unsupported target type %d", type ); -- cgit v1.2.1