diff options
author | Yue Du <daviddu@us.ibm.com> | 2017-08-02 21:27:07 -0500 |
---|---|---|
committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-10-23 18:45:35 -0500 |
commit | e3acfbe301affe0414a20589bea421a86a51c0a9 (patch) | |
tree | 86652d8f2def5364ddbafe611f30e66d28965fee /import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c | |
parent | 54d959041df5dac3c69d84c3ae392edc92079076 (diff) | |
download | talos-hcode-e3acfbe301affe0414a20589bea421a86a51c0a9.tar.gz talos-hcode-e3acfbe301affe0414a20589bea421a86a51c0a9.zip |
STOP: Fix block protocol
Change-Id: Iccde53676286b95f84541efdb5b112b822cac7a7
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44134
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com>
Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c')
-rw-r--r-- | import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c index 8c3a33c4..3651f306 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_irq_handlers.c @@ -338,7 +338,7 @@ p9_sgpe_pig_type23_parser(const uint32_t type) vector_index = VECTOR_ENTRY, request_index = VECTOR_PIGE, suspend_index = VECTOR_BLOCKE; - suspend_index > VECTOR_BLOCKX; + suspend_index <= VECTOR_BLOCKX; suspend_index++, request_index++, vector_index++, @@ -352,11 +352,11 @@ p9_sgpe_pig_type23_parser(const uint32_t type) { if ((cloop >> 1) % 2) { - G_sgpe_stop_record.group.qex0[suspend_index] |= BIT32(qloop); + G_sgpe_stop_record.group.qex1[suspend_index] |= BIT32(qloop); } else { - G_sgpe_stop_record.group.qex1[suspend_index] |= BIT32(qloop); + G_sgpe_stop_record.group.qex0[suspend_index] |= BIT32(qloop); } if((G_sgpe_stop_record.group.qex0[suspend_index] & @@ -372,11 +372,11 @@ p9_sgpe_pig_type23_parser(const uint32_t type) { if ((cloop >> 1) % 2) { - G_sgpe_stop_record.group.qex0[suspend_index] &= ~BIT32(qloop); + G_sgpe_stop_record.group.qex1[suspend_index] &= ~BIT32(qloop); } else { - G_sgpe_stop_record.group.qex1[suspend_index] &= ~BIT32(qloop); + G_sgpe_stop_record.group.qex0[suspend_index] &= ~BIT32(qloop); } if ((G_sgpe_stop_record.group.qex0[suspend_index] | @@ -415,7 +415,7 @@ p9_sgpe_pig_type23_parser(const uint32_t type) // and process it instead of this phantom; if type 3 entry, then ignore both // as type3 needs to be hanndled in type3 handler while current is obvious type2 - if ((scom_data.words.upper & BIT32(13)) && cpayload == 0x400) + if ((scom_data.words.upper & BIT32(13)) && cpayload == TYPE2_PAYLOAD_DECREMENTER_WAKEUP) { payload2 = in32(OCB_OPIT2CN(cindex)); payload3 = in32(OCB_OPIT3CN(cindex)); @@ -440,7 +440,7 @@ p9_sgpe_pig_type23_parser(const uint32_t type) if (!(scom_data.words.upper & BIT32(13))) { // type2 duplicate wakeup can happen due to manual PCWU vs other HW wakeup - if (cpayload == 0x400) + if (cpayload == TYPE2_PAYLOAD_DECREMENTER_WAKEUP) { PK_TRACE_INF("WARNING: Ignore Phantom Software PC/Decrementer Wakeup PIG \ (already handoff cme by other wakeup"); |