diff options
author | mbroyles <mbroyles@us.ibm.com> | 2017-07-12 08:49:44 -0500 |
---|---|---|
committer | Christopher J. Cain <cjcain@us.ibm.com> | 2017-07-25 14:49:58 -0400 |
commit | a84955963839b3a035dd339d3ba13e0acb88547a (patch) | |
tree | db8c5891abf3d1ea7b0ea839d8ce7b6c6b75f9cb /src/occ_405/pgpe | |
parent | ca84830b6d1811a78c538f51bde34c269806f00a (diff) | |
download | talos-occ-a84955963839b3a035dd339d3ba13e0acb88547a.tar.gz talos-occ-a84955963839b3a035dd339d3ba13e0acb88547a.zip |
Increase RTL to 500us
Stop waiting for APSS data when detected complete but failed
Add history counts for GPEs not idle and APSS collection errors
Change-Id: I2bfaf36ee0b736a958fd41c1c2145f537fc883c5
RTC: 172963
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43052
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Reviewed-by: William A. Bryan <wilbryan@us.ibm.com>
Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com>
Diffstat (limited to 'src/occ_405/pgpe')
-rw-r--r-- | src/occ_405/pgpe/pgpe_interface.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/occ_405/pgpe/pgpe_interface.c b/src/occ_405/pgpe/pgpe_interface.c index 26abab1..a276ccc 100644 --- a/src/occ_405/pgpe/pgpe_interface.c +++ b/src/occ_405/pgpe/pgpe_interface.c @@ -757,6 +757,7 @@ int pgpe_start_suspend(uint8_t action, PMCR_OWNER owner) { int rc = 0; // return code errlHndl_t err = NULL; // Error handler + pstateStatus l_current_pstate_status = G_proc_pstate_status; // set the IPC parameters G_start_suspend_parms.action = action; @@ -764,6 +765,9 @@ int pgpe_start_suspend(uint8_t action, PMCR_OWNER owner) if (!G_simics_environment) { + // set the G_proc_pstate_status to indicate transition + G_proc_pstate_status = PSTATES_IN_TRANSITION; + if (action == PGPE_ACTION_PSTATE_START) { TRAC_IMP("pgpe_start_suspend: scheduling enable of pstates (owner=0x%02X)", owner); @@ -779,6 +783,9 @@ int pgpe_start_suspend(uint8_t action, PMCR_OWNER owner) // couldn't schedule the IPC task? if(rc != 0) { + // restore pState status since it isn't going to change + G_proc_pstate_status = l_current_pstate_status; + //Error in scheduling pgpe start suspend task TRAC_ERR("pgpe_start_suspend: Failed to schedule pgpe start_suspend task rc=%x", rc); @@ -804,11 +811,6 @@ int pgpe_start_suspend(uint8_t action, PMCR_OWNER owner) rc = GPE_REQUEST_SCHEDULE_FAILURE; REQUEST_RESET(err); //This will add a firmware callout for us } - // successfully scheduled, set the G_proc_pstate_status to indicate transition - else - { - G_proc_pstate_status = PSTATES_IN_TRANSITION; - } if (G_simics_environment) { |