summaryrefslogtreecommitdiffstats
path: root/src/usr/lpc
diff options
context:
space:
mode:
authorAndrew Jeffery <andrewrj@au1.ibm.com>2018-10-15 14:50:54 +1030
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-10-15 16:11:03 -0500
commit95165ec1e1116f5675c8410f230ecce95af86c6d (patch)
tree77bf916f2256c57324e2d9f76fc8a97adfa19867 /src/usr/lpc
parent79549236b644e839dc672aaf5964add580c6caa4 (diff)
downloadtalos-hostboot-95165ec1e1116f5675c8410f230ecce95af86c6d.tar.gz
talos-hostboot-95165ec1e1116f5675c8410f230ecce95af86c6d.zip
Revert "sio: Add test for availability - LPC error tweak"
This reverts commit 627379aeaa27e30d66ebb0aecf218708d465162c, which incorrectly attempted to account for LPC errors during testing for SIO absence. The broken patch interprets the OPBM status as LPCHC status and expects an LPCHC SYNC Abnormal error, however as it's the OPBM status that indicates the error we never hit the LPCHC error path to populate the errl with the error RC expected by the SIO driver. Change-Id: Ib993d4a2b9b4e5018d9273a1c82f8b5c21ec9a25 Signed-off-by: Andrew Jeffery <andrewrj@au1.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67459 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> 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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/lpc')
-rw-r--r--src/usr/lpc/lpcdd.C62
1 files changed, 9 insertions, 53 deletions
diff --git a/src/usr/lpc/lpcdd.C b/src/usr/lpc/lpcdd.C
index 8b5ee8db4..efcfa0346 100644
--- a/src/usr/lpc/lpcdd.C
+++ b/src/usr/lpc/lpcdd.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2018 */
+/* Contributors Listed Below - COPYRIGHT 2014,2017 */
/* [+] Google Inc. */
/* [+] International Business Machines Corp. */
/* */
@@ -217,13 +217,15 @@ errlHndl_t lpcWrite(DeviceFW::OperationType i_opType,
{
//First check/clear the LPC bus of errors and commit any errors found
l_err = Singleton<LpcDD>::instance().checkForLpcErrors();
- if (!l_err)
+ if (l_err)
{
- l_err = Singleton<LpcDD>::instance().writeLPC( l_type,
- l_addr,
- io_buffer,
- io_buflen );
+ errlCommit(l_err, LPC_COMP_ID);
}
+
+ l_err = Singleton<LpcDD>::instance().writeLPC( l_type,
+ l_addr,
+ io_buffer,
+ io_buflen );
}
else
{
@@ -1185,53 +1187,7 @@ errlHndl_t LpcDD::checkForLpcErrors()
TRACFCOMP( g_trac_lpc, ERR_MRK"LpcDD::checkForLpcErrors> Error found in LPC Host Controller Status Register: 0x%8X",lpchc_err_union.data32);
computeLpchcErrSev(lpchc_err_union, l_lpchcResetLevel);
- // Specifically check for a 'Sync AB' error as it is seen for
- // security restrictions on BMC systems
- if(lpchc_err_union.syncab)
- {
- TRACFCOMP( g_trac_lpc, ERR_MRK"Possible SIO Lockout issue with BMC");
- /*@
- * @errortype ERRL_SEV_UNRECOVERABLE
- * @moduleid LPC::MOD_LPCDD_CHECKFORLPCERRORS
- * @reasoncode LPC::RC_LPCHC_SYNCAB_ERROR
- * @userdata1 LPCHC Error Status Register
- * @userdata2 Reset Level
- * @devdesc LpcDD::checkForLpcErrors> Sync AB error
- * found in LPCHC, possible BMC/HB mismatch
- * @custdesc Possible code mismatch for LPC bus usage
- */
- l_err = new ERRORLOG::ErrlEntry(
- ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- LPC::MOD_LPCDD_CHECKFORLPCERRORS,
- LPC::RC_LPCHC_SYNCAB_ERROR,
- lpchc_buffer,
- l_lpchcResetLevel);
- // NOTE: This RC is being consumed by external code so it
- // cannot be changed without taking that into account.
-
- // Most likely this is a code mismatch between Hostboot
- // and the BMC
- l_err->addProcedureCallout( HWAS::EPUB_PRC_SP_CODE,
- HWAS::SRCI_PRIORITY_HIGH );
- l_err->addProcedureCallout( HWAS::EPUB_PRC_HB_CODE,
- HWAS::SRCI_PRIORITY_MED );
- // Could also be a HW failure
- l_err->addHwCallout( iv_proc,
- HWAS::SRCI_PRIORITY_LOW,
- HWAS::NO_DECONFIG,
- HWAS::GARD_NULL );
-
- // Gather addtional ffdc data
- addFFDC(l_err);
- l_err->collectTrace(LPC_COMP_NAME);
-
- if(l_lpchcResetLevel != RESET_CLEAR)
- {
- /* @todo - RTC:179179 Use l_opbmResetLevel **/
- hwReset(RESET_OPB_LPCHC_HARD);
- }
- }
- else if(l_lpchcResetLevel != RESET_CLEAR)
+ if(l_lpchcResetLevel != RESET_CLEAR)
{
/*@
* @errortype ERRL_SEV_UNRECOVERABLE
OpenPOWER on IntegriCloud