diff options
author | Rahul Batra <rbatra@us.ibm.com> | 2017-04-16 15:59:46 -0500 |
---|---|---|
committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-10-23 17:32:37 -0500 |
commit | ff5270160ab556564cf39b491d4f815c21e38dee (patch) | |
tree | 23d8c9cc367d60e993166ecd83e4188d946be5c1 /import/chips/p9/procedures/ppe_closed/cme | |
parent | bf5c3e2c843b0839921ed1c581efc6645691f0a9 (diff) | |
download | talos-hcode-ff5270160ab556564cf39b491d4f815c21e38dee.tar.gz talos-hcode-ff5270160ab556564cf39b491d4f815c21e38dee.zip |
PSTATE: PGPE-SGPE Interaction Updates
Change-Id: Ifcda5054779766eb2acc40a539b09ddf02b9ae63
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39682
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Juan R. Medina <jrmedina@us.ibm.com>
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/cme')
-rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/pstate_cme/p9_cme_thread_db.c | 17 |
1 files changed, 17 insertions, 0 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 e7b245f4..c75b6c27 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 @@ -62,6 +62,7 @@ cme_pstate_db_data_t G_db_thread_data; //Function Prototypes // inline void p9_cme_pstate_process_db0(); +inline void p9_cme_pstate_register(); inline void p9_cme_pstate_db0_start(cppm_cmedb0_t dbData, uint32_t cme_flags); inline void p9_cme_pstate_db0_glb_bcast(cppm_cmedb0_t dbData, uint32_t cme_flags); inline void p9_cme_pstate_db0_suspend(cppm_cmedb0_t dbData, uint32_t cme_flags); @@ -279,6 +280,9 @@ void p9_cme_pstate_db_thread(void* arg) //and won't run this thread past this point. if (G_cme_pstate_record.qmFlag) { + //Register with PGPE + p9_cme_pstate_register(); + pk_semaphore_create(&G_cme_pstate_record.sem[1], 0, 1); PK_TRACE("DB_TH: Inited\n"); @@ -344,6 +348,19 @@ inline void p9_cme_pstate_process_db0() PK_TRACE_INF("DB_TH: Process DB0 Exit\n"); } + +inline void p9_cme_pstate_register() +{ + //Send type4(ack doorbell) + ppm_pig_t ppmPigData; + ppmPigData.value = 0; + ppmPigData.fields.req_intr_type = 4; + ppmPigData.fields.req_intr_payload = MSGID_PCB_TYPE4_QUAD_MGR_AVAILABLE; + send_pig_packet(ppmPigData.value, G_cme_pstate_record.cmeMaskGoodCore); + + PK_TRACE_INF("DB_TH: Register Msg Sent\n"); +} + // //Doorbell0 Start // |