diff options
| author | Rahul Batra <rbatra@us.ibm.com> | 2017-06-20 15:21:38 -0500 |
|---|---|---|
| committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-10-23 17:57:49 -0500 |
| commit | dc98b66c675cb4f9be02586c07044edd757e9fab (patch) | |
| tree | e1cd6b6ead0152f194a3e932d85cd7a9277cc332 | |
| parent | 6cf2512bb3b2a9ba08d21552fe0dd1aeba2fb703 (diff) | |
| download | talos-hcode-dc98b66c675cb4f9be02586c07044edd757e9fab.tar.gz talos-hcode-dc98b66c675cb4f9be02586c07044edd757e9fab.zip | |
PSTATE: Remove PMCR Version check in CME code
Change-Id: I0b275393bd25e2b2abb2920cda897b6876b3835c
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/42256
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_pmcr.c | 44 |
1 files 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); + } } } |

