summaryrefslogtreecommitdiffstats
path: root/src/occ_405/wof
diff options
context:
space:
mode:
authorAndres Lugo-Reyes <aalugore@us.ibm.com>2017-09-26 17:15:56 -0500
committerAndres A. Lugo-Reyes <aalugore@us.ibm.com>2017-10-16 15:58:00 -0400
commitfa085f9b68802ec92a250eccca6ddb4152e7b61f (patch)
treeefd9b222275b483ceef45e26a8f0ea8c81e6c81c /src/occ_405/wof
parent051cc0a10cb61b410252098d13fb7dd8727a8e52 (diff)
downloadtalos-occ-fa085f9b68802ec92a250eccca6ddb4152e7b61f.tar.gz
talos-occ-fa085f9b68802ec92a250eccca6ddb4152e7b61f.zip
Prevent PGPE IPC communication if all cores are deconfigured
Change-Id: I7cea001833615dc3bcb6a282c20f205f1e7d9d87 CQ:SW401110 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46831 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Reviewed-by: William A. Bryan <wilbryan@us.ibm.com> Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com>
Diffstat (limited to 'src/occ_405/wof')
-rw-r--r--src/occ_405/wof/wof.c12
-rw-r--r--src/occ_405/wof/wof.h11
2 files changed, 9 insertions, 14 deletions
diff --git a/src/occ_405/wof/wof.c b/src/occ_405/wof/wof.c
index b5e5c71..ae8d732 100644
--- a/src/occ_405/wof/wof.c
+++ b/src/occ_405/wof/wof.c
@@ -35,7 +35,7 @@
#include <occ_sys_config.h>
#include <wof.h>
#include <amec_freq.h>
-
+#include <pgpe_interface.h>
//******************************************************************************
// External Globals
//******************************************************************************
@@ -355,7 +355,7 @@ void wof_main(void)
send_vfrt_to_pgpe( g_wof->next_vfrt_main_mem_addr );
if(async_request_is_idle(&G_wof_vfrt_req.request))
{
- g_wof->gpe_req_rc = gpe_request_schedule(&G_wof_vfrt_req);
+ g_wof->gpe_req_rc = pgpe_request_schedule(&G_wof_vfrt_req);
}
else
{
@@ -1389,7 +1389,7 @@ void set_clear_wof_disabled( uint8_t i_action,
// Check for error
if( l_logError )
{
- if( g_wof->wof_disabled & SUPPRESS_ERROR_RC )
+ if( g_wof->wof_disabled & (~(ERRL_RETURN_CODES)) )
{
INTR_TRAC_ERR("Encountered an error, but WOF is off. RC: 0x%08x",
i_bit_mask);
@@ -1466,7 +1466,7 @@ void disable_wof( void )
{
// Set parameters for the GpeRequest
G_wof_control_parms.action = PGPE_ACTION_WOF_OFF;
- user_data_rc = gpe_request_schedule( &G_wof_control_req );
+ user_data_rc = pgpe_request_schedule( &G_wof_control_req );
if( user_data_rc != 0 )
{
@@ -1550,7 +1550,7 @@ bool enable_wof( void )
// Set parameters for the GpeRequest
G_wof_control_parms.action = PGPE_ACTION_WOF_ON;
- rc = gpe_request_schedule( &G_wof_control_req );
+ rc = pgpe_request_schedule( &G_wof_control_req );
if( rc != 0 )
{
@@ -1655,7 +1655,7 @@ void send_initial_vfrt_to_pgpe( void )
send_vfrt_to_pgpe( g_wof->next_vfrt_main_mem_addr );
if(async_request_is_idle(&G_wof_vfrt_req.request))
{
- g_wof->gpe_req_rc = gpe_request_schedule(&G_wof_vfrt_req);
+ g_wof->gpe_req_rc = pgpe_request_schedule(&G_wof_vfrt_req);
}
else
{
diff --git a/src/occ_405/wof/wof.h b/src/occ_405/wof/wof.h
index c97efad..f923f57 100644
--- a/src/occ_405/wof/wof.h
+++ b/src/occ_405/wof/wof.h
@@ -68,22 +68,18 @@
#define WOF_RC_SYSTEM_WOF_DISABLE 0x00080000
#define WOF_RC_RESET_LIMIT_REACHED 0x00100000
#define WOF_RC_UNSUPPORTED_FREQUENCIES 0x00200000
+#define WOF_RC_NO_CONFIGURED_CORES 0x00400000
//***************************************************************************
// Temp space used to save hard coded addresses
//***************************************************************************
#define PSTATE_TBL_ADDR 0xFFF2B85C
-
// Reason codes which should NOT create an error log should be added here
#define ERRL_RETURN_CODES ~(WOF_RC_MODE_CHANGE | \
WOF_RC_STATE_CHANGE | \
- WOF_RC_MODE_NO_SUPPORT_MASK)
-
-// Reason codes that if set, should suppress all other unrecoverable errors.
-#define SUPPRESS_ERROR_RC ~(ERRL_RETURN_CODES)
-
-
+ WOF_RC_MODE_NO_SUPPORT_MASK | \
+ WOF_RC_NO_CONFIGURED_CORES)
// Enumeration to define the WOF initialization steps
enum wof_init_states
@@ -105,7 +101,6 @@ enum wof_disabled_htmgt_rc
WOF_UNSUPPORTED_FREQ = 0x0003,
};
-
// Enumeration
enum wof_disabled_actions
{
OpenPOWER on IntegriCloud