summaryrefslogtreecommitdiffstats
path: root/import
diff options
context:
space:
mode:
authorGregory S. Still <stillgs@us.ibm.com>2018-05-01 11:03:31 -0400
committerhostboot <hostboot@us.ibm.com>2018-05-03 10:34:58 -0500
commit35a3cae66e0e0f9089e644feb857182a1bf12f96 (patch)
tree9b2a93ae92ad2986bad6cbba21b027e8b4325d11 /import
parentb6c5b85fa4bf1bd80dd5df38f32889e0b372e062 (diff)
downloadtalos-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.c37
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);
}
OpenPOWER on IntegriCloud