summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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