summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-04-09 21:37:56 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-04-19 16:45:24 -0400
commit87201e7f578f9ef54513009acb539af2b1eab43b (patch)
treed500f1ee1f9e66c6a7ebe6341634e1904f466003 /src/usr/diag/prdf/plat/prdfPlatServices_ipl.C
parent360d83a83ec25acbdb6b40e3c773e017c75b6cb4 (diff)
downloadtalos-hostboot-87201e7f578f9ef54513009acb539af2b1eab43b.tar.gz
talos-hostboot-87201e7f578f9ef54513009acb539af2b1eab43b.zip
PRD: add full maint cmd support for all VCM procedures
Change-Id: Id7467120889831e07fa59cd64977b866a8c79ee7 RTC: 190428 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57151 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57132 CI-Ready: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/prdfPlatServices_ipl.C')
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices_ipl.C140
1 files changed, 0 insertions, 140 deletions
diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C
index 374b71bf1..3944671a0 100644
--- a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C
+++ b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C
@@ -641,146 +641,6 @@ uint32_t startTdSteerCleanup<TYPE_MBA>( ExtensibleChip * i_chip,
//------------------------------------------------------------------------------
template<>
-uint32_t startVcmPhase1<TYPE_MBA>( ExtensibleChip * i_chip,
- const MemRank & i_rank )
-{
- #define PRDF_FUNC "[PlatServices::startVcmPhase1<TYPE_MBA>] "
-
- PRDF_ASSERT( isInMdiaMode() ); // MDIA must be running.
-
- PRDF_ASSERT( nullptr != i_chip );
- PRDF_ASSERT( TYPE_MBA == i_chip->getType() );
-
- uint32_t o_rc = SUCCESS;
-
- // Get the MBA fapi target
- fapi2::Target<fapi2::TARGET_TYPE_MBA> fapiTrgt ( i_chip->getTrgt() );
-
- // Get the stop conditions.
- uint32_t stopCond = mss_MaintCmd::STOP_ON_RETRY_CE_ETE |
- mss_MaintCmd::STOP_ON_END_ADDRESS |
- mss_MaintCmd::ENABLE_CMD_COMPLETE_ATTENTION;
-
- // Note that we set the stop on RCE ETE flag. This requires us to set a
- // threshold in the MBSTR. Fortunately, MDIA sets the threshold for us when
- // it starts the first command on this MBA.
-
- do
- {
- // Get the address range of the master rank.
- fapi2::buffer<uint64_t> saddr, eaddr;
- o_rc = getMemAddrRange<TYPE_MBA>( i_chip, i_rank, saddr, eaddr,
- MASTER_RANK );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMemAddrRange(0x%08x,0x%2x) failed",
- i_chip->getHuid(), i_rank.getKey() );
- break;
- }
-
- // Clear all of the counters and maintenance ECC attentions.
- o_rc = prepareNextCmd<TYPE_MBA>( i_chip );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "prepareNextCmd(0x%08x) failed",
- i_chip->getHuid() );
- break;
- }
-
- // Start a steer cleanup command.
- mss_TimeBaseSteerCleanup cmd { fapiTrgt, saddr, eaddr,
- mss_MaintCmd::FAST_MAX_BW_IMPACT,
- stopCond, false };
- errlHndl_t errl;
- FAPI_INVOKE_HWP( errl, cmd.setupAndExecuteCmd );
- if ( nullptr != errl )
- {
- PRDF_ERR( PRDF_FUNC "setupAndExecuteCmd() on 0x%08x,0x%02x failed",
- i_chip->getHuid(), i_rank.getKey() );
- PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT );
- o_rc = FAIL; break;
- }
-
- } while (0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-template<>
-uint32_t startVcmPhase2<TYPE_MBA>( ExtensibleChip * i_chip,
- const MemRank & i_rank )
-{
- #define PRDF_FUNC "[PlatServices::startVcmPhase2<TYPE_MBA>] "
-
- PRDF_ASSERT( isInMdiaMode() ); // MDIA must be running.
-
- PRDF_ASSERT( nullptr != i_chip );
- PRDF_ASSERT( TYPE_MBA == i_chip->getType() );
-
- uint32_t o_rc = SUCCESS;
-
- // Get the MBA fapi target
- fapi2::Target<fapi2::TARGET_TYPE_MBA> fapiTrgt ( i_chip->getTrgt() );
-
- // Get the stop conditions.
- uint32_t stopCond = mss_MaintCmd::STOP_ON_END_ADDRESS |
- mss_MaintCmd::ENABLE_CMD_COMPLETE_ATTENTION;
-
- do
- {
- // Get the address range of the master rank.
- fapi2::buffer<uint64_t> saddr, eaddr;
- o_rc = getMemAddrRange<TYPE_MBA>( i_chip, i_rank, saddr, eaddr,
- MASTER_RANK );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "getMemAddrRange(0x%08x,0x%2x) failed",
- i_chip->getHuid(), i_rank.getKey() );
- break;
- }
-
- // Clear all of the counters and maintenance ECC attentions.
- o_rc = prepareNextCmd<TYPE_MBA>( i_chip );
- if ( SUCCESS != o_rc )
- {
- PRDF_ERR( PRDF_FUNC "prepareNextCmd(0x%08x) failed",
- i_chip->getHuid() );
- break;
- }
-
- // Create the new command. Store a pointer to the command in the MBA
- // data bundle so that we can call the cleanup function after the
- // command has completed.
- MbaDataBundle * db = getMbaDataBundle( i_chip );
- PRDF_ASSERT( nullptr == db->iv_sfCmd ); // Code bug.
- db->iv_sfCmd = new mss_SuperFastRead { fapiTrgt, saddr, eaddr,
- stopCond, false };
-
- // Start the super fast read command.
- errlHndl_t errl;
- FAPI_INVOKE_HWP( errl, db->iv_sfCmd->setupAndExecuteCmd );
- if ( nullptr != errl )
- {
- PRDF_ERR( PRDF_FUNC "setupAndExecuteCmd() on 0x%08x,0x%02x failed",
- i_chip->getHuid(), i_rank.getKey() );
- PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT );
- o_rc = FAIL; break;
- }
-
- } while (0);
-
- return o_rc;
-
- #undef PRDF_FUNC
-}
-
-//------------------------------------------------------------------------------
-
-template<>
uint32_t startTpsPhase1<TYPE_MBA>( ExtensibleChip * i_chip,
const MemRank & i_rank )
{
OpenPOWER on IntegriCloud