summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c
diff options
context:
space:
mode:
authorRahul Batra <rbatra@us.ibm.com>2018-04-13 14:07:27 -0500
committerhostboot <hostboot@us.ibm.com>2018-04-26 12:18:15 -0500
commit81a813f48222a440db09a500be91ca8704e5b899 (patch)
tree51e66646994787172f361769f216b4751b0ff78b /import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c
parent1a22ed2d89ee46392d1122af3955c3f507a99e7c (diff)
downloadtalos-hcode-81a813f48222a440db09a500be91ca8704e5b899.tar.gz
talos-hcode-81a813f48222a440db09a500be91ca8704e5b899.zip
PM: Fixes for Livelock Scenarios
-Fixes DPLL Ownership issues during Pstate Start -Fixes WOF Enablement and Quad/Core Active Update(STOP11/5) livelock scenario -Fixes PM Complex Suspend and Quad/Core Active Update(STOP11/5) livelock scenario -Fixes VDM Droop Suspend STOP entries livelock scenario Key_Cronus_Test=PM_REGRESS Change-Id: I14a0dece4c74bc04618f7d1f3838dbe273bace94 CQ: SW425778 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/57191 Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: YUE DU <daviddu@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c')
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c10
1 files changed, 10 insertions, 0 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 119791ae..55f7db99 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
@@ -90,9 +90,19 @@ p9_cme_stop_eval_eimr_override()
G_cme_stop_record.core_errored |
G_cme_stop_record.core_in_spwu |
G_cme_stop_record.core_blockey |
+ G_cme_stop_record.core_vdm_droop |
G_cme_stop_record.core_suspendey) & CME_MASK_BC) << SHIFT32(21));
g_eimr_override |= mask_irqs.value;
+
+ if (G_cme_stop_record.core_vdm_droop)
+ {
+ out32(CME_LCL_FLAGS_OR, BIT32(CME_FLAGS_DROOP_SUSPEND_ENTRY));
+ }
+ else
+ {
+ out32(CME_LCL_FLAGS_CLR, BIT32(CME_FLAGS_DROOP_SUSPEND_ENTRY));
+ }
}
#if !DISABLE_PERIODIC_CORE_QUIESCE && (NIMBUS_DD_LEVEL == 20 || NIMBUS_DD_LEVEL == 21 || CUMULUS_DD_LEVEL == 10)
OpenPOWER on IntegriCloud