diff options
author | Rahul Batra <rbatra@us.ibm.com> | 2019-09-09 18:03:40 -0400 |
---|---|---|
committer | hostboot <hostboot@us.ibm.com> | 2019-09-17 02:12:30 -0500 |
commit | e8d3ed8d19d80a4e8ecaf4e49daec320617e7f6e (patch) | |
tree | 5135311bd896c5242729ffeeee042856a31025fd /import/chips/p9/procedures/ppe_closed/cme/pstate_cme | |
parent | bd6572db7e3caded9658ca79097c7e7285c3405b (diff) | |
download | talos-hcode-e8d3ed8d19d80a4e8ecaf4e49daec320617e7f6e.tar.gz talos-hcode-e8d3ed8d19d80a4e8ecaf4e49daec320617e7f6e.zip |
PGPE: Multiple Droop Handling Fix
Key_Cronus_Test=PM_REGRESS
- Fixes droop handling issue where the second time
prolonged droop condition is detected, PGPE doesn't
attempt to throttle, set OCCFLG[PM_RESET_SUPPRESS]
- Fixes handling of droop condition when PGPE attempts
to actuate the system to Psafe. PGPE correctly sends
re-trying DB3 Safe Mode msg instead of DB3 Replay DB0 msg.
Also, CME correctly sets the CME_FLAGS[SAFE_MODE] bit only
after system has actuated to Psafe rather than on first
attempted move to Psafe.
Change-Id: I3329a8ea446d0926325daf5b619f360125586381
CQ: SW475838
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83597
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com>
Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA <prasadbgr@in.ibm.com>
Reviewed-by: Gregory S Still <stillgs@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/cme/pstate_cme')
-rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_db.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_db.c b/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_db.c index 67d19d9c..1d40203a 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_db.c +++ b/import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_db.c @@ -276,7 +276,11 @@ void p9_cme_pstate_db3_handler(void) if (db3.fields.cme_message_numbern == MSGID_DB3_ENTER_SAFE_MODE) { - out32(G_CME_LCL_FLAGS_OR, BIT32(CME_FLAGS_SAFE_MODE)); + if (G_cme_pstate_record.updateAnalogError == 0) + { + out32(G_CME_LCL_FLAGS_OR, BIT32(CME_FLAGS_SAFE_MODE)); + } + } G_cme_pstate_record.skipSiblingLock = 0; @@ -1003,7 +1007,6 @@ void p9_cme_pstate_db0_glb_bcast() //Send type4(ack doorbell) send_ack_to_pgpe(ack); - G_cme_pstate_record.updateAnalogError = 0; PK_TRACE_INF("PSTATE: DB0 GlbBcast Exit\n"); } |