summaryrefslogtreecommitdiffstats
path: root/src/occ_405/wof
diff options
context:
space:
mode:
Diffstat (limited to 'src/occ_405/wof')
-rw-r--r--src/occ_405/wof/wof.c15
-rw-r--r--src/occ_405/wof/wof.h10
2 files changed, 21 insertions, 4 deletions
diff --git a/src/occ_405/wof/wof.c b/src/occ_405/wof/wof.c
index ae8d732..2e3d66d 100644
--- a/src/occ_405/wof/wof.c
+++ b/src/occ_405/wof/wof.c
@@ -1415,8 +1415,19 @@ void set_clear_wof_disabled( uint8_t i_action,
g_wof->wof_disabled,
i_bit_mask );
- // commit the error log
- commitErrl( &l_errl );
+ // Reset if on OpenPower
+ if( (G_sysConfigData.system_type.kvm) )
+ {
+ if(i_bit_mask & ~(IGNORE_WOF_RESET) )
+ {
+ REQUEST_WOF_RESET( l_errl );
+ }
+ }
+ else // Otherwise, just commit
+ {
+ commitErrl( &l_errl );
+ }
+
L_errorLogged = true;
}
}
diff --git a/src/occ_405/wof/wof.h b/src/occ_405/wof/wof.h
index f923f57..41a20fc 100644
--- a/src/occ_405/wof/wof.h
+++ b/src/occ_405/wof/wof.h
@@ -79,8 +79,14 @@
#define ERRL_RETURN_CODES ~(WOF_RC_MODE_CHANGE | \
WOF_RC_STATE_CHANGE | \
WOF_RC_MODE_NO_SUPPORT_MASK | \
- WOF_RC_NO_CONFIGURED_CORES)
-
+ WOF_RC_NO_CONFIGURED_CORES | \
+ WOF_RC_RESET_LIMIT_REACHED | \
+ WOF_RC_UTURBO_IS_ZERO | \
+ WOF_RC_PSTATE_PROTOCOL_OFF )
+
+// Reason codes that should NOT request a reset should be added here
+#define IGNORE_WOF_RESET (WOF_RC_SYSTEM_WOF_DISABLE | \
+ WOF_RC_UNSUPPORTED_FREQUENCIES )
// Enumeration to define the WOF initialization steps
enum wof_init_states
{
OpenPOWER on IntegriCloud