diff options
Diffstat (limited to 'src/occ_405/wof')
-rw-r--r-- | src/occ_405/wof/wof.c | 15 | ||||
-rw-r--r-- | src/occ_405/wof/wof.h | 10 |
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 { |