diff options
author | Andrew Jeffery <andrewrj@au1.ibm.com> | 2018-10-15 14:50:54 +1030 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-10-15 16:11:03 -0500 |
commit | 95165ec1e1116f5675c8410f230ecce95af86c6d (patch) | |
tree | 77bf916f2256c57324e2d9f76fc8a97adfa19867 /src/usr/lpc | |
parent | 79549236b644e839dc672aaf5964add580c6caa4 (diff) | |
download | talos-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.C | 62 |
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 |