summaryrefslogtreecommitdiffstats
path: root/src/occ_405/pgpe
diff options
context:
space:
mode:
authormbroyles <mbroyles@us.ibm.com>2017-07-12 08:49:44 -0500
committerChristopher J. Cain <cjcain@us.ibm.com>2017-07-25 14:49:58 -0400
commita84955963839b3a035dd339d3ba13e0acb88547a (patch)
treedb8c5891abf3d1ea7b0ea839d8ce7b6c6b75f9cb /src/occ_405/pgpe
parentca84830b6d1811a78c538f51bde34c269806f00a (diff)
downloadtalos-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.c12
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)
{
OpenPOWER on IntegriCloud