From da5fbae2bce512099745a0b8232f29617d5d4aba Mon Sep 17 00:00:00 2001 From: Yue Du Date: Fri, 21 Apr 2017 00:28:36 -0500 Subject: STOP: enable decrementor wakeup EPM Note - MARKER changes Change-Id: I5c4b6e83178ec0c2f737127ecdca2743ae8a0e22 Original-Change-Id: Idc99ab364107f25f48d74286570244f9f79b3e2e Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39530 Tested-by: Jenkins Server Reviewed-by: Michael S. Floyd Reviewed-by: AMIT KUMAR Reviewed-by: Gregory S. Still --- .../chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c | 2 ++ import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c index 0c95e3bf..5a90ea2e 100755 --- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c +++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c @@ -1253,11 +1253,13 @@ p9_cme_stop_entry() { CME_PUTSCOM(CPPM_CPMMR_OR, core_mask, BIT64(10)); pig.fields.req_intr_type = PIG_TYPE3; + G_cme_stop_record.core_blockpc |= core; } else { CME_PUTSCOM(CPPM_CPMMR_CLR, core_mask, BIT64(10)); pig.fields.req_intr_type = PIG_TYPE2; + G_cme_stop_record.core_blockpc &= ~core; } pig.fields.req_intr_payload = G_cme_stop_record.req_level[core_index]; diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h index e1f36655..f91aae26 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h @@ -251,7 +251,8 @@ enum SGPE_STOP_VECTOR_INDEX VECTOR_EXIT = 0, VECTOR_ENTRY = 1, VECTOR_CONFIG = 2, - VECTOR_ACTIVE = 3 + VECTOR_ACTIVE = 3, + VECTOR_PCWU = 4 }; typedef struct @@ -270,7 +271,7 @@ typedef struct typedef struct { - uint32_t core[4]; // 24 bits + uint32_t core[5]; // 24 bits uint32_t quad[4]; // 6 bits uint32_t ex_l[3]; // 6 bits uint32_t ex_r[3]; // 6 bits -- cgit v1.2.3