diff options
author | Amit Tendolkar <amit.tendolkar@in.ibm.com> | 2018-07-10 10:41:41 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2018-07-17 10:34:46 -0400 |
commit | 7ae0265189592501e311028672fe895d07496b30 (patch) | |
tree | 2a43260b63726836a7573c29bd3ea88afdb9cda9 /src/import/chips/p9 | |
parent | c916d4e2d4308f9799b5aca1aedf1790f1dfa992 (diff) | |
download | talos-hostboot-7ae0265189592501e311028672fe895d07496b30.tar.gz talos-hostboot-7ae0265189592501e311028672fe895d07496b30.zip |
Avoid spurious Malf Alert (HMI) to PHYP in PM Complex Reset/Suspend
Reseting the engines potentially causes another to send the PM Malf
Alert to PHYP. Disable in PM Reset and let SGPE re-enable in PM Init.
Added a similar safe check and disable in MPIPL path for pm_suspend
Change-Id: If9fd572d156a8f280b0fd204175e5ccf0969b249
CQ: SW436905
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62135
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62154
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: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C index faae7586e..cdf661796 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_reset.C @@ -117,6 +117,8 @@ fapi2::ReturnCode p9_pm_reset( FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_SKIP_WAKEUP, FAPI_SYSTEM, l_skip_wakeup), "fapiGetAttribute of ATTR_SKIP_WAKEUP failed"); + FAPI_TRY (FAPI_ATTR_GET (fapi2::ATTR_PM_MALF_ALERT_ENABLE, FAPI_SYSTEM, l_malfEnabled)); + // ************************************************************************ // Put a mark on the wall that we are in the Reset Flow // ************************************************************************ @@ -126,8 +128,6 @@ fapi2::ReturnCode p9_pm_reset( // ************************************************************************ // Check if the PM Complex Reset came in due to a Malf Alert // ************************************************************************ - FAPI_TRY (FAPI_ATTR_GET (fapi2::ATTR_PM_MALF_ALERT_ENABLE, FAPI_SYSTEM, l_malfEnabled)); - if (l_malfEnabled == fapi2::ENUM_ATTR_PM_MALF_ALERT_ENABLE_TRUE) { FAPI_TRY(fapi2::getScom(i_target, P9N2_PU_OCB_OCI_OCCFLG2_SCOM, l_data64), @@ -138,6 +138,11 @@ fapi2::ReturnCode p9_pm_reset( l_malfAlert = true; FAPI_IMP("OCC FLAG2 Bit 28 [PM_CALLOUT_ACTIVE] Set: In Malf Path"); } + + // Disable a spurious malf alert from within PM Reset, as we go about + // halting the PPEs + l_data64.flush<0>().setBit<p9hcd::STOP_RECOVERY_TRIGGER_ENABLE>(); + FAPI_TRY(fapi2::putScom(i_target, PU_OCB_OCI_OCCFLG2_CLEAR, l_data64)); } // ************************************************************************ |