diff options
| author | Gregory S. Still <stillgs@us.ibm.com> | 2018-05-01 11:03:31 -0400 |
|---|---|---|
| committer | hostboot <hostboot@us.ibm.com> | 2018-05-03 10:34:58 -0500 |
| commit | 35a3cae66e0e0f9089e644feb857182a1bf12f96 (patch) | |
| tree | 9b2a93ae92ad2986bad6cbba21b027e8b4325d11 /import | |
| parent | b6c5b85fa4bf1bd80dd5df38f32889e0b372e062 (diff) | |
| download | talos-hcode-35a3cae66e0e0f9089e644feb857182a1bf12f96.tar.gz talos-hcode-35a3cae66e0e0f9089e644feb857182a1bf12f96.zip | |
Revert "STOP/PSTATE: Fix CACCR Dual Cast Machine Check on Data mismatch"
This reverts commit ebb51d9f438b9da99d0dbebef137cc360d927333.
Change-Id: I1721d7f6c1801e33c80c9a12755bd8c92f69f981
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58093
Reviewed-by: RAHUL BATRA <rbatra@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: YUE DU <daviddu@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import')
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_pstate.c | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_pstate.c b/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_pstate.c index 64dc4468..d0b00ca3 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_pstate.c +++ b/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_pstate.c @@ -391,7 +391,6 @@ void p9_cme_core_stop_analog_control(uint32_t core_mask, ANALOG_CONTROL enable) { uint32_t pstate; uint32_t curr_idx; - uint32_t next_idx; uint64_t val; if(enable) @@ -421,30 +420,18 @@ void p9_cme_core_stop_analog_control(uint32_t core_mask, ANALOG_CONTROL enable) else { PK_TRACE_INF("resclk | disabling resclks"); - - pstate = ANALOG_PSTATE_RESCLK_OFF; - next_idx = p9_cme_resclk_get_index(pstate); - curr_idx = p9_cme_resclk_get_index(G_cme_pstate_record.quadPstate); - // 1) copy QACCR[0:12] into CACCR[0:12], with CACCR[13:14]=0b00, // to switch away from common control. QACCR will already be set // to a value corresponding to the current quad Pstate - - if (curr_idx != next_idx) - { - ippm_read(QPPM_QACCR, &val); - val &= BITS64(0, 13); - // clk_sync enable (bit 15) is ALWAYS 0b0 at this point due to the - // sequence of function calls in Stop Entry - CME_PUTSCOM(CPPM_CACCR, core_mask, val); - } - else - { - CME_PUTSCOM(CPPM_CACCR_CLR, core_mask, (BITS64(13, 2))); - } - + ippm_read(QPPM_QACCR, &val); + val &= BITS64(0, 13); + // clk_sync enable (bit 15) is ALWAYS 0b0 at this point due to the + // sequence of function calls in Stop Entry + CME_PUTSCOM(CPPM_CACCR, core_mask, val); + curr_idx = p9_cme_resclk_get_index(G_cme_pstate_record.quadPstate); // 2) step CACCR to a value which disables resonance - p9_cme_resclk_update(core_mask, next_idx, curr_idx); + pstate = ANALOG_PSTATE_RESCLK_OFF; + p9_cme_resclk_update(core_mask, p9_cme_resclk_get_index(pstate), curr_idx); } } @@ -810,9 +797,9 @@ uint32_t p9_cme_vdm_update(uint32_t pstate) #ifdef USE_CME_RESCLK_FEATURE void p9_cme_resclk_update(ANALOG_TARGET target, uint32_t next_idx, uint32_t curr_idx) { - uint64_t base_val = 0; - uint64_t val = 0; - int32_t step = 0; + uint64_t base_val; + uint64_t val; + int32_t step; PK_TRACE_DBG("resclk | target=%08x", (uint32_t)target); PK_TRACE_DBG("resclk | curr_idx=%d", curr_idx); @@ -833,7 +820,7 @@ void p9_cme_resclk_update(ANALOG_TARGET target, uint32_t next_idx, uint32_t curr { ippm_read(QPPM_QACCR, &base_val); } - else if (curr_idx != next_idx) + else { CME_GETSCOM(CPPM_CACCR, target, base_val); } |

