From dc98b66c675cb4f9be02586c07044edd757e9fab Mon Sep 17 00:00:00 2001 From: Rahul Batra Date: Tue, 20 Jun 2017 15:21:38 -0500 Subject: PSTATE: Remove PMCR Version check in CME code Change-Id: I0b275393bd25e2b2abb2920cda897b6876b3835c Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42256 Tested-by: Jenkins Server Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA Reviewed-by: BRIAN D. VICTOR Reviewed-by: Gregory S. Still --- .../ppe_closed/cme/pstate_cme/p9_cme_thread_pmcr.c | 44 +++++++++------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_pmcr.c b/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_pmcr.c index 32d2cc8c..95afb01b 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_pmcr.c +++ b/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_pmcr.c @@ -124,33 +124,23 @@ void p9_cme_pstate_pmcr_thread(void* arg) //for pmcr to change between sending phase 1 and phase 2 pmcr = in64(CME_LCL_PMCRS0 + (c << 5)); - if ((pmcr & BITS64(PMCR_VERSION_START, PMCR_VERSION_LENGTH)) == 0x1) - { - G_cme_pstate_record.pmcrSeenErr &= ~coreMask[c]; //Clear PMCR error - - //Send Phase 1 - ppmPigData.value = 0; - ppmPigData.fields.req_intr_type = 0; - ppmPigData.value |= ((pmcr & PIG_PAYLOAD_PS_PHASE1_MASK) >> 8); - ppmPigData.value |= ((uint64_t)(G_pmcr_thread_data.seqNum & 0x6) << 57); - send_pig_packet(ppmPigData.value, coreMask[c]); - G_pmcr_thread_data.seqNum++; - - //Send Phase 2 - ppmPigData.value = 0; - ppmPigData.fields.req_intr_type = 1; - ppmPigData.value |= (pmcr & PIG_PAYLOAD_PS_PHASE2_MASK); - ppmPigData.value |= ((uint64_t)(G_pmcr_thread_data.seqNum & 0x6) << 57); - send_pig_packet(ppmPigData.value, coreMask[c]); - G_pmcr_thread_data.seqNum++; - PK_TRACE_INF("PMCR_TH: Fwd PMCR[%d]=0x%08x%08x\n", c, pmcr >> 32, pmcr); - } - else - { - //Set PMCR error, so that any future PMSR update keep on setting invalid version field - G_cme_pstate_record.pmcrSeenErr |= coreMask[c]; - p9_cme_pstate_pmsr_updt(coreMask[c]); - } + //Send Phase 1 + ppmPigData.value = 0; + ppmPigData.fields.req_intr_type = 0; + ppmPigData.value |= ((pmcr & PIG_PAYLOAD_PS_PHASE1_MASK) >> 8); + ppmPigData.value |= ((uint64_t)(G_pmcr_thread_data.seqNum & 0x6) << 57); + send_pig_packet(ppmPigData.value, coreMask[c]); + G_pmcr_thread_data.seqNum++; + + //Send Phase 2 + ppmPigData.value = 0; + ppmPigData.fields.req_intr_type = 1; + ppmPigData.value |= (pmcr & PIG_PAYLOAD_PS_PHASE2_MASK); + ppmPigData.value |= ((uint64_t)(G_pmcr_thread_data.seqNum & 0x6) << 57); + send_pig_packet(ppmPigData.value, coreMask[c]); + G_pmcr_thread_data.seqNum++; + PK_TRACE_INF("PMCR_TH: Fwd PMCR[%d]=0x%08x%08x\n", c, pmcr >> 32, pmcr); + } } } -- cgit v1.2.3