diff options
author | Thi Tran <thi@us.ibm.com> | 2014-04-24 14:17:25 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-04-25 15:58:50 -0500 |
commit | db480ac1b9466a898e2f09cfb445bf71bfb7f95d (patch) | |
tree | f4847b574f16730bd3b30d2473f262648fa6336b /src/usr/hwpf | |
parent | ff98c30e81699b1eddde1c8d996903fbba0feaa6 (diff) | |
download | talos-hostboot-db480ac1b9466a898e2f09cfb445bf71bfb7f95d.tar.gz talos-hostboot-db480ac1b9466a898e2f09cfb445bf71bfb7f95d.zip |
SW258130: OCC Reset needs to handle and recover from HW286451 in non-reset trigg
CQ:SW258130
Change-Id: Ief8fe02d11a547d82848f1283e657bd64d24ef84
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10729
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Tested-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10747
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf')
-rw-r--r-- | src/usr/hwpf/hwp/occ/p8_pmc_force_vsafe.C | 46 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/runtime_errors/p8_force_vsafe_errors.xml | 37 |
2 files changed, 26 insertions, 57 deletions
diff --git a/src/usr/hwpf/hwp/occ/p8_pmc_force_vsafe.C b/src/usr/hwpf/hwp/occ/p8_pmc_force_vsafe.C index da2a9ae94..885a53e78 100644 --- a/src/usr/hwpf/hwp/occ/p8_pmc_force_vsafe.C +++ b/src/usr/hwpf/hwp/occ/p8_pmc_force_vsafe.C @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: p8_pmc_force_vsafe.C,v 1.16 2014/03/21 01:16:09 stillgs Exp $ +// $Id: p8_pmc_force_vsafe.C,v 1.18 2014/04/24 16:54:18 daviddu Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_pmc_force_vsafe.C,v $ //------------------------------------------------------------------------------ // *! (C) Copyright International Business Machines Corp. 2011 @@ -333,15 +333,24 @@ p8_pmc_force_vsafe( const fapi::Target& i_target, any_error = (pmc_error || intchp_error); - // Check for voltage change has any error + // log status if voltage change has any error + // Due to SW258130 + // This block only dumps any detected hw error status + // without taking out an error log and stop the reset flow. + // Since this procedure is only used by p8_pm_prep_for_reset + // we will and should be able to recover from such hardware errors + // by going through occ reset flow, thus no FAPI error logged. + // Also since if hardware error occurs, there is no need to check + // for pstate ongoing or pstate equals to pvsafe due to possible + // hardware stuck; therefore, this if/else logic remains. if (any_error) { - // An error was detected + // dump individual error status FAPI_INF(" PMC_STATUS_REG upon Error"); if (pmcstatusreg.isBitSet(0)) - FAPI_ERR(" pstate_processing_is_susp active"); + FAPI_INF(" pstate_processing_is_susp active"); if (pmcstatusreg.isBitSet(1)) - FAPI_ERR(" gpsa_bdcst_error active"); + FAPI_INF(" gpsa_bdcst_error active"); e_rc = pmcstatusreg.extractToRight( &dummy,2,3); if (e_rc) @@ -350,32 +359,27 @@ p8_pmc_force_vsafe( const fapi::Target& i_target, break; } if (dummy) - FAPI_ERR(" gpsa_bdcst_resp_info is non-zero => %x ", dummy ); + FAPI_INF(" gpsa_bdcst_resp_info is non-zero => %x ", dummy ); if (pmcstatusreg.isBitSet(5)) - FAPI_ERR(" gpsa_vchg_error active"); + FAPI_INF(" gpsa_vchg_error active"); if (pmcstatusreg.isBitSet(6)) - FAPI_ERR(" gpsa_timeout_error active"); + FAPI_INF(" gpsa_timeout_error active"); if (pmcstatusreg.isBitSet(7)) - FAPI_ERR(" gpsa_chg_ongoing active"); + FAPI_INF(" gpsa_chg_ongoing active"); if (pmcstatusreg.isBitSet(8)) - FAPI_ERR(" volt_chg_ongoing active"); + FAPI_INF(" volt_chg_ongoing active"); if (pmcstatusreg.isBitSet(9)) - FAPI_ERR(" brd_cst_ongoing active"); + FAPI_INF(" brd_cst_ongoing active"); if (pmcstatusreg.isBitSet(10)) - FAPI_ERR(" gpsa_table_error active"); + FAPI_INF(" gpsa_table_error active"); if (pmcstatusreg.isBitSet(11)) - FAPI_ERR(" pstate_interchip_error active"); + FAPI_INF(" pstate_interchip_error active"); if (pmcstatusreg.isBitSet(12)) - FAPI_ERR(" istate_processing_is_susp active"); + FAPI_INF(" istate_processing_is_susp active"); - FAPI_ERR("Error detected with PMC on-going deassertion during safe voltage movement "); - const fapi::Target & THISCHIP = i_target; - const fapi::Target & DCMCHIP = i_dcm_target; - FAPI_SET_HWP_ERROR(rc, RC_PROCPM_VLT_ERROR); - break; - - } // end of error if + FAPI_INF("Status dumpped with PMC on-going deassertion during safe voltage movement, now continue on reset"); + } // end of status log if else if (any_ongoing == 0) { // Voltage change done (not on-going) and not errors diff --git a/src/usr/hwpf/hwp/runtime_errors/p8_force_vsafe_errors.xml b/src/usr/hwpf/hwp/runtime_errors/p8_force_vsafe_errors.xml index 2a09660a6..a67b9aaa0 100644 --- a/src/usr/hwpf/hwp/runtime_errors/p8_force_vsafe_errors.xml +++ b/src/usr/hwpf/hwp/runtime_errors/p8_force_vsafe_errors.xml @@ -20,7 +20,7 @@ <!-- Origin: 30 --> <!-- --> <!-- IBM_PROLOG_END_TAG --> -<!-- $Id: p8_force_vsafe_errors.xml,v 1.6 2014/03/05 21:04:04 stillgs Exp $ --> +<!-- $Id: p8_force_vsafe_errors.xml,v 1.7 2014/04/24 17:01:15 daviddu Exp $ --> <!-- Error definitions for proc_pmc_force_vsafe procedure --> <hwpErrors> <!-- *********************************************************************** --> @@ -63,41 +63,6 @@ </hwpError> <!-- *********************************************************************** --> <hwpError> - <rc>RC_PROCPM_VLT_ERROR</rc> - <description>Voltage change not done because of errors on the status register.</description> - <collectRegisterFfdc> - <id>REG_FFDC_PSTATE_REGISTERS</id> - <id>REG_FFDC_SPIVID_REGISTERS</id> - <target>THISCHIP</target> - </collectRegisterFfdc> - <collectRegisterFfdc> - <id>REG_FFDC_PSTATE_REGISTERS</id> - <id>REG_FFDC_SPIVID_REGISTERS</id> - <target>DCMCHIP</target> - </collectRegisterFfdc> - <collectRegisterFfdc> - <id>REG_FFDC_PCBS_PSSTATE_MONITOR_REGISTERS</id> - <basedOnPresentChildren> - <target>THISCHIP</target> - <childType>TARGET_TYPE_EX_CHIPLET</childType> - <childPosOffsetMultiplier>0x01000000</childPosOffsetMultiplier> - </basedOnPresentChildren> - </collectRegisterFfdc> - <collectRegisterFfdc> - <id>REG_FFDC_PCBS_PSSTATE_MONITOR_REGISTERS</id> - <basedOnPresentChildren> - <target>DCMCHIP</target> - <childType>TARGET_TYPE_EX_CHIPLET</childType> - <childPosOffsetMultiplier>0x01000000</childPosOffsetMultiplier> - </basedOnPresentChildren> - </collectRegisterFfdc> - <callout> - <target>THISCHIP</target> - <priority>HIGH</priority> - </callout> - </hwpError> - <!-- *********************************************************************** --> - <hwpError> <rc>RC_PROCPM_PSTATE_MONITOR_ERR</rc> <description>Voltage change done but expected pstate did not match after completion.</description> <ffdc>THISCHIP</ffdc> |