diff options
author | Caleb Palmer <cnpalmer@us.ibm.com> | 2016-06-10 14:39:32 -0500 |
---|---|---|
committer | Stephen Cprek <smcprek@us.ibm.com> | 2016-07-18 15:32:30 -0500 |
commit | 76fb6f89084a0c1c65da87d6d1da72b1891e77de (patch) | |
tree | f49be62b2a9acf562395f43312914e787e30be49 /src/usr/diag/prdf/plat/prdfPlatServices_ipl.C | |
parent | 50753b255daea0d3e0fb3c3f689b8c5ca9f8c969 (diff) | |
download | talos-hostboot-76fb6f89084a0c1c65da87d6d1da72b1891e77de.tar.gz talos-hostboot-76fb6f89084a0c1c65da87d6d1da72b1891e77de.zip |
PRD: Add support for MCBIST cmd complete
Change-Id: Iad915174af7fa12d7c9e1f9943b04ed9bfc62e4d
RTC: 154875
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25676
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: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Squashed: Ibbf382f0befdee54a8a8626643d52c8d48f9bac0
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/26556
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/prdfPlatServices_ipl.C')
-rw-r--r-- | src/usr/diag/prdf/plat/prdfPlatServices_ipl.C | 57 |
1 files changed, 22 insertions, 35 deletions
diff --git a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C index 9de6c2300..dc6bf30ba 100644 --- a/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C +++ b/src/usr/diag/prdf/plat/prdfPlatServices_ipl.C @@ -65,49 +65,36 @@ bool isInMdiaMode() //------------------------------------------------------------------------------ -int32_t mdiaSendEventMsg( TargetHandle_t i_mbaTarget, +int32_t mdiaSendEventMsg( TargetHandle_t i_trgt, MDIA::MaintCommandEventType i_eventType ) { - #define PRDF_FUNC "[PlatServices::mdiaSendCmdComplete] " + #define PRDF_FUNC "[PlatServices::mdiaSendEventMsg] " int32_t o_rc = SUCCESS; #ifndef CONFIG_VPO_COMPILE - do - { - if ( !isInMdiaMode() ) break; // no-op - - // Verify type. - TYPE l_type = getTargetType(i_mbaTarget); - if ( TYPE_MBA != l_type ) - { - PRDF_ERR( PRDF_FUNC "unsupported target type %d", l_type ); - o_rc = FAIL; - break; - } - - // Send command complete to MDIA. - MDIA::MaintCommandEvent l_mdiaEvent; - - l_mdiaEvent.target = i_mbaTarget; - l_mdiaEvent.type = i_eventType; - - errlHndl_t errl = MDIA::processEvent( l_mdiaEvent ); - if ( NULL != errl ) - { - PRDF_ERR( PRDF_FUNC "MDIA::processEvent() failed" ); - PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); - o_rc = FAIL; - break; - } - - } while (0); - - if ( SUCCESS != o_rc ) + PRDF_ASSERT( nullptr != i_trgt ); + + // Only MCBIST and MBA supported. + TYPE trgtType = getTargetType( i_trgt ); + PRDF_ASSERT( TYPE_MCBIST == trgtType || TYPE_MBA == trgtType ); + + // MDIA must be running. + PRDF_ASSERT( isInMdiaMode() ); + + // Send command complete to MDIA. + MDIA::MaintCommandEvent mdiaEvent; + mdiaEvent.target = i_trgt; + mdiaEvent.type = i_eventType; + + errlHndl_t errl = MDIA::processEvent( mdiaEvent ); + if ( NULL != errl ) { - PRDF_ERR( PRDF_FUNC "Failed: i_target=0x%08x i_eventType=%d", - getHuid(i_mbaTarget), i_eventType ); + PRDF_ERR( PRDF_FUNC "MDIA::processEvent() failed: i_target=0x%08x " + "i_eventType=%d", getHuid(i_trgt), i_eventType ); + PRDF_COMMIT_ERRL( errl, ERRL_ACTION_REPORT ); + o_rc = FAIL; } #endif |