summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2018-06-06 14:18:06 -0500
committerhostboot <hostboot@us.ibm.com>2018-07-17 11:49:22 -0500
commit2f063536057b564a446ce99bad8813428f04c70e (patch)
tree61db19a7c2cb7f7986f4dbf5d978ef4df17fec20
parenta07a0e57a5334aaa6d756e4b8bb7b62ccdc8adbf (diff)
downloadtalos-hcode-2f063536057b564a446ce99bad8813428f04c70e.tar.gz
talos-hcode-2f063536057b564a446ce99bad8813428f04c70e.zip
PM: PGPE hang fix during VDM droop workaround
-Fixed stop entry suspend ACK in CME to resolve PGPE hang -Masked PARTIAL_GOOD error in PGPE when doing core throttle multicast. Key_Cronus_Test=PM_REGRESS Change-Id: I56888585ddaf429a4ffd7ebdc13b7b7c6b5b8cc5 CQ: SW437277 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/62082 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c4
-rw-r--r--import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c
index e85942c6..b03b11a6 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c
@@ -60,6 +60,8 @@ p9_cme_stop_core_error_handler(uint32_t core, uint32_t core_error, uint32_t pani
void
p9_cme_stop_eval_eimr_override()
{
+ wrteei(0);
+
g_eimr_override &= ~BITS64(12, 10);
data64_t mask_irqs = {0};
mask_irqs.words.lower = 0;
@@ -103,6 +105,8 @@ p9_cme_stop_eval_eimr_override()
{
out32(G_CME_LCL_FLAGS_CLR, BIT32(CME_FLAGS_DROOP_SUSPEND_ENTRY));
}
+
+ wrteei(1);
}
#if !DISABLE_PERIODIC_CORE_QUIESCE && (NIMBUS_DD_LEVEL == 20 || NIMBUS_DD_LEVEL == 21 || CUMULUS_DD_LEVEL == 10)
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.h b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.h
index 169e1f90..e2895b64 100644
--- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.h
+++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.h
@@ -108,7 +108,7 @@ enum PGPE_CORE_THROTTLE
// Include core offline, address error, and timeout. The timeout is
// included to avoid an extra mtmsr in the event we need to cleanup
// from SW407201
- MSR_THROTTLE_MASK = 0x29000000,
+ MSR_THROTTLE_MASK = 0x39000000,
WORKAROUND_SCOM_MULTICAST_WRITE = 0x69010800,
THROTTLE_SCOM_MULTICAST_WRITE = 0x69010A9E,
CORE_IFU_THROTTLE = 0x80000000,
OpenPOWER on IntegriCloud