Skip to content

Commit

Permalink
PRD: MCBIST command address timeout error
Browse files Browse the repository at this point in the history
Change-Id: I59affcb38448e9ed774524dd21e5a19bbf39e781
RTC: 169104
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36364
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/36516
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
  • Loading branch information
zane131 committed Feb 16, 2017
1 parent 627dd13 commit 294bb92
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/usr/diag/prdf/common/plat/p9/p9_mcbist.rule
Expand Up @@ -531,7 +531,7 @@ group gMCBISTFIR filter singlebit, cs_root_cause
/** MCBISTFIR[1]
* COMMAND_ADDRESS_TIMEOUT
*/
(rMCBISTFIR, bit(1)) ? defaultMaskedError;
(rMCBISTFIR, bit(1)) ? command_addr_timeout;

/** MCBISTFIR[2]
* INTERNAL_FSM_ERROR
Expand Down
14 changes: 11 additions & 3 deletions src/usr/diag/prdf/common/plat/p9/p9_mcbist_actions.rule
Expand Up @@ -5,7 +5,7 @@
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2016
# Contributors Listed Below - COPYRIGHT 2016,2017
# [+] International Business Machines Corp.
#
#
Expand All @@ -22,15 +22,23 @@
# permissions and limitations under the License.
#
# IBM_PROLOG_END_TAG
/** MCBIST program complete...TBD */

/** MCBIST program complete */
actionclass mcbist_program_complete
{
funccall("McbistCmdComplete");
};

/** MCBIST program complete workaround...TBD */
/** MCBIST program complete workaround */
actionclass mcbist_program_complete_workaround
{
funccall("CmdCompleteDd1Workaround");
};

/** MCBIST Command Address Timeout */
actionclass command_addr_timeout
{
threshold1;
funccall("commandAddrTimeout");
};

43 changes: 42 additions & 1 deletion src/usr/diag/prdf/plat/mem/prdfP9Mcbist.C
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016 */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -237,6 +237,47 @@ int32_t CmdCompleteDd1Workaround( ExtensibleChip * i_mcbChip,
}
PRDF_PLUGIN_DEFINE( p9_mcbist, CmdCompleteDd1Workaround );

//------------------------------------------------------------------------------

/**
* @brief MCBISTFIR[1] - COMMAND_ADDRESS_TIMEOUT.
* @param i_chip An MCBIST chip.
* @param io_sc The step code data struct.
* @return SUCCESS
*/
int32_t commandAddrTimeout( ExtensibleChip * i_chip,
STEP_CODE_DATA_STRUCT & io_sc )
{
#define PRDF_FUNC "[p9_mcbist::commandAddrTimeout] "

// The current MCBIST command is hung and will not complete. All conditions
// that would cause this are contained within the MCAs in which the command
// was executed. Restarting the command will likely fail with the same
// issue. Callout and gard all MCAs in which the command was executed.

std::vector<ExtensibleChip *> mcaList;

if ( SUCCESS != getMcbistMaintPort(i_chip, mcaList) )
{
PRDF_ERR( PRDF_FUNC "getMcbistMaintPort(0x%08x) failed",
i_chip->getHuid() );
}
else
{
for ( auto & mcaChip : mcaList )
{
io_sc.service_data->SetCallout( mcaChip->getTrgt() );
}
}

return SUCCESS; // nothing to return to rule code

#undef PRDF_FUNC
}
PRDF_PLUGIN_DEFINE( p9_mcbist, commandAddrTimeout );

//------------------------------------------------------------------------------

} // end namespace p9_mcbist

} // end namespace PRDF
Expand Down

0 comments on commit 294bb92

Please sign in to comment.