From 53f78dee6ba23104bae04d18c386c5b2323274e7 Mon Sep 17 00:00:00 2001 From: Andres Lugo-Reyes Date: Tue, 17 Oct 2017 15:15:12 -0500 Subject: Request WOF resets on OpenPower systems only. Change-Id: I93a93b9bb87da2e43f0874732e1c031d46608498 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48523 Tested-by: FSP CI Jenkins Reviewed-by: Christopher J. Cain Reviewed-by: William A. Bryan Reviewed-by: Martha Broyles --- src/occ_405/wof/wof.c | 15 +++++++++++++-- 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 { -- cgit v1.2.1