summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9
diff options
context:
space:
mode:
authorAmit Tendolkar <amit.tendolkar@in.ibm.com>2018-07-10 10:41:41 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2018-07-17 10:34:46 -0400
commit7ae0265189592501e311028672fe895d07496b30 (patch)
tree2a43260b63726836a7573c29bd3ea88afdb9cda9 /src/import/chips/p9
parentc916d4e2d4308f9799b5aca1aedf1790f1dfa992 (diff)
downloadtalos-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.C9
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));
}
// ************************************************************************
OpenPOWER on IntegriCloud