diff options
author | Rahul Batra <rbatra@us.ibm.com> | 2018-03-20 15:47:52 -0500 |
---|---|---|
committer | hostboot <hostboot@us.ibm.com> | 2018-04-13 09:17:49 -0500 |
commit | 6127d105431fc13ce8a61f8d7262c6add47193dd (patch) | |
tree | 85609b2395e71e3ed8d0b4fafb887ea13020be41 /import | |
parent | 46385e17566c4e12c914414dd0608889d15a798e (diff) | |
download | talos-hcode-6127d105431fc13ce8a61f8d7262c6add47193dd.tar.gz talos-hcode-6127d105431fc13ce8a61f8d7262c6add47193dd.zip |
PGPE: Fixes PGPE Halt when Pstate STOP req through OCCFLG
Key_Cronus_Test=PM_REGRESS
Change-Id: Ic709c5b68d1fcfdee92fcb463f4ce3bb19a98f6d
CQ: SW421750
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56108
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Adam S. Hale <adam.samuel.hale@ibm.com>
Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com>
Reviewed-by: YUE DU <daviddu@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import')
-rw-r--r-- | import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c index 920adad8..69219866 100644 --- a/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c +++ b/import/chips/p9/procedures/ppe_closed/pgpe/pstate_gpe/p9_pgpe_pstate.c @@ -1047,6 +1047,7 @@ void p9_pgpe_pstate_stop() } } + //Send PSTATE_STOP DB0 p.db0val = db0_stop.value; p.type = PGPE_DB0_TYPE_UNICAST; p.targetCores = G_pgpe_pstate_record.activeDB; @@ -1059,17 +1060,8 @@ void p9_pgpe_pstate_stop() uint32_t occScr2 = in32(OCB_OCCS2); occScr2 &= ~BIT32(PGPE_PSTATE_PROTOCOL_ACTIVE); out32(OCB_OCCS2, occScr2); - G_pgpe_pstate_record.pstatesStatus = PSTATE_STOPPED; - //ACK back to OCC - ipc_async_cmd_t* async_cmd = (ipc_async_cmd_t*)G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_PSTATE_START_STOP].cmd; - ipcmsg_start_stop_t* args = (ipcmsg_start_stop_t*)async_cmd->cmd_data; - args->msg_cb.rc = PGPE_RC_SUCCESS; - G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_PSTATE_START_STOP].pending_processing = 0; - G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_PSTATE_START_STOP].pending_ack = 0; - ipc_send_rsp(G_pgpe_pstate_record.ipcPendTbl[IPC_PEND_PSTATE_START_STOP].cmd, IPC_RC_SUCCESS); - G_pgpe_optrace_data.word[0] = (START_STOP_FLAG << 24) | (G_pgpe_pstate_record.psComputed.fields.glb << 16) | (in32(OCB_QCSR) >> 16); p9_pgpe_optrace(PRC_START_STOP); |