summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWilliam Bryan <wilbryan@us.ibm.com>2015-10-20 11:57:42 -0500
committerFadi Kassem <fmkassem@us.ibm.com>2015-10-20 17:08:05 -0500
commitec0926884623af9fcfef5cbb9ce2de56fa252344 (patch)
tree33d4acff68f54ca2021225304cd789445eb3792e /src
parent99560f0e46b52c7a432443e7f5832502f1a9e6b2 (diff)
downloadtalos-occ-ec0926884623af9fcfef5cbb9ce2de56fa252344.tar.gz
talos-occ-ec0926884623af9fcfef5cbb9ce2de56fa252344.zip
Remove obsolete failsafe code
RTC: 139700 Change-Id: I932fcba9f006138e927d2c1836b09617500e468b Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/21355 Reviewed-by: Martha Broyles <mbroyles@us.ibm.com> Tested-by: FSP CI Jenkins Reviewed-by: Fadi Kassem <fmkassem@us.ibm.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/occ_405/amec/amec_freq.c65
-rwxr-xr-xsrc/occ_405/amec/amec_oversub.h7
-rwxr-xr-xsrc/occ_405/amec/amec_pcap.c40
-rwxr-xr-xsrc/occ_405/cmdh/cmdh_mnfg_intf.c1
-rwxr-xr-xsrc/occ_405/cmdh/cmdh_mnfg_intf.h1
-rw-r--r--src/occ_405/occ_service_codes.h3
-rwxr-xr-xsrc/occ_405/occ_sys_config.c1
-rwxr-xr-xsrc/occ_405/occ_sys_config.h2
8 files changed, 21 insertions, 99 deletions
diff --git a/src/occ_405/amec/amec_freq.c b/src/occ_405/amec/amec_freq.c
index 953bf27..ee05d00 100755
--- a/src/occ_405/amec/amec_freq.c
+++ b/src/occ_405/amec/amec_freq.c
@@ -481,9 +481,8 @@ void amec_slv_voting_box(void)
G_time_until_freq_check--;
}
- //convert POWERCAP reason to POWER_SUPPLY_FAILURE if ovs/failsafe is asserted
- if((l_kvm_throt_reason == POWERCAP) &&
- (AMEC_INTF_GET_FAILSAFE() || AMEC_INTF_GET_OVERSUBSCRIPTION()))
+ //convert POWERCAP reason to POWER_SUPPLY_FAILURE if ovs is asserted
+ if((l_kvm_throt_reason == POWERCAP) && AMEC_INTF_GET_OVERSUBSCRIPTION())
{
l_kvm_throt_reason = POWER_SUPPLY_FAILURE;
}
@@ -657,7 +656,6 @@ void amec_slv_check_perf(void)
/*------------------------------------------------------------------------*/
/* Local Variables */
/*------------------------------------------------------------------------*/
- static BOOLEAN l_prev_failsafe_state = FALSE;
static BOOLEAN l_prev_ovs_state = FALSE;
static BOOLEAN l_prev_pcap_state = FALSE;
static ERRL_SEVERITY l_pcap_sev = ERRL_SEV_PREDICTIVE;
@@ -685,61 +683,6 @@ void amec_slv_check_perf(void)
break;
}
- // frequency limited due to failsafe condition ?
- if ( AMEC_INTF_GET_FAILSAFE() == TRUE )
- {
- if ( l_prev_failsafe_state == TRUE)
- {
- // we are done break and return
- break;
- }
- else
- {
- // log this error ONLY ONCE per IPL
- l_prev_failsafe_state = TRUE;
-
- TRAC_ERR("Frequency limited due to failsafe condition(mode:%d, state:%d)",
- CURRENT_MODE(), CURRENT_STATE());
- l_throttle_traced = TRUE;
- l_time = ssx_timebase_get();
-
- // log error that calls out OVS procedure
- // set error severity to RRL_SEV_PREDICTIVE
-
- /* @
- * @errortype
- * @moduleid AMEC_SLAVE_CHECK_PERFORMANCE
- * @reasoncode INTERNAL_FAILURE
- * @userdata1 Previous FailSafe State
- * @userdata4 ERC_AMEC_SLAVE_FAILSAFE_STATE
- * @devdesc Frequency limited due to failsafe condition
- */
- errlHndl_t l_errl = createErrl(AMEC_SLAVE_CHECK_PERFORMANCE, //modId
- INTERNAL_FAILURE, //reasoncode
- ERC_AMEC_SLAVE_FAILSAFE_STATE,//Extended reason code
- ERRL_SEV_PREDICTIVE, //Severity
- NULL, //Trace Buf
- DEFAULT_TRACE_SIZE, //Trace Size
- l_prev_failsafe_state, //userdata1
- 0); //userdata2
-
- addCalloutToErrl( l_errl,
- ERRL_CALLOUT_TYPE_COMPONENT_ID,
- ERRL_COMPONENT_ID_OVERSUBSCRIPTION,
- ERRL_CALLOUT_PRIORITY_HIGH
- );
-
- // and sets the consolidate action flag
- setErrlActions( l_errl, ERRL_ACTIONS_CONSOLIDATE_ERRORS );
-
- // Commit Error
- commitErrl(&l_errl);
-
- // we are done lets break
- break;
- }
- }
-
// frequency limited due to oversubscription condition ?
if ( AMEC_INTF_GET_OVERSUBSCRIPTION() == TRUE )
{
@@ -906,8 +849,8 @@ void amec_slv_check_perf(void)
// trottle trace to every 3600 seconds (1hr = 3600000)
if(!l_throttle_traced && ( DURATION_IN_MS_UNTIL_NOW_FROM(l_time) > 3600000 ) )
{
- TRAC_INFO("Frequency power limited due to transient condition: PowerLimited=%x, FailSafe=%x, OverSubScription=%x CurrentBulkPwr=%x",
- G_non_dps_power_limited, AMEC_INTF_GET_FAILSAFE(), AMEC_INTF_GET_OVERSUBSCRIPTION(), l_snrBulkPwr );
+ TRAC_INFO("Frequency power limited due to transient condition: PowerLimited=%x, OverSubScription=%x CurrentBulkPwr=%x",
+ G_non_dps_power_limited, AMEC_INTF_GET_OVERSUBSCRIPTION(), l_snrBulkPwr );
l_throttle_traced = TRUE;
l_time = ssx_timebase_get();
diff --git a/src/occ_405/amec/amec_oversub.h b/src/occ_405/amec/amec_oversub.h
index 238599a..6d17a19 100755
--- a/src/occ_405/amec/amec_oversub.h
+++ b/src/occ_405/amec/amec_oversub.h
@@ -44,14 +44,10 @@
/* Defines */
/*----------------------------------------------------------------------------*/
#define AMEC_INTF_GET_OVERSUBSCRIPTION() \
-(G_sysConfigData.failsafe_enabled ? g_amec->oversub_status.cmeThrottlePinLive : \
- (g_amec->oversub_status.oversubPinLive || G_dcom_slv_inbox_rx.emulate_oversub))
+(g_amec->oversub_status.oversubPinLive || G_dcom_slv_inbox_rx.emulate_oversub)
#define AMEC_INTF_GET_OVERSUBSCRIPTION_EMULATION() g_amec->oversub_status.oversubPinMnfg
-#define AMEC_INTF_GET_FAILSAFE() \
-(G_sysConfigData.failsafe_enabled ? g_amec->oversub_status.oversubPinLive : 0)
-
/*----------------------------------------------------------------------------*/
/* Typedef / Enum */
/*----------------------------------------------------------------------------*/
@@ -61,7 +57,6 @@ typedef enum oversub_reason
FANS_FULL_SPEED = 0x01,
FAN_ERRROR = 0x02,
FAN_WARNING = 0x03,
- ITE_FAILSAFE = 0x04,
INDETERMINATE = 0xFF
}oversub_reason_t;
diff --git a/src/occ_405/amec/amec_pcap.c b/src/occ_405/amec/amec_pcap.c
index c742851..f8ef06f 100755
--- a/src/occ_405/amec/amec_pcap.c
+++ b/src/occ_405/amec/amec_pcap.c
@@ -23,9 +23,9 @@
/* */
/* IBM_PROLOG_END_TAG */
-//*************************************************************************
+//*************************************************************************/
// Includes
-//*************************************************************************
+//*************************************************************************/
#include "amec_pcap.h"
#include "amec_sys.h"
#include "amec_service_codes.h"
@@ -34,22 +34,22 @@
#include <dcom.h>
#include <trac.h>
-//*************************************************************************
+//*************************************************************************/
// Externs
-//*************************************************************************
+//*************************************************************************/
-//*************************************************************************
+//*************************************************************************/
// Defines/Enums
-//*************************************************************************
+//*************************************************************************/
#define PPB_NOM_DROP_DELAY 4 //ticks
-//*************************************************************************
+//*************************************************************************/
// Structures
-//*************************************************************************
+//*************************************************************************/
-//*************************************************************************
+//*************************************************************************/
// Globals
-//*************************************************************************
+//*************************************************************************/
//Number of ticks to wait before dropping below nominal frequency
#define PWR_SETTLED_TICKS 4
@@ -73,13 +73,13 @@ uint32_t G_mhz_per_pstate=0; //TODO: Maybe there's a better value to initil
uint8_t G_over_pcap_count=0;
-//*************************************************************************
+//*************************************************************************/
// Function Prototypes
-//*************************************************************************
+//*************************************************************************/
-//*************************************************************************
+//*************************************************************************/
// Functions
-//*************************************************************************
+//*************************************************************************/
//////////////////////////
// Function Specification
@@ -106,8 +106,7 @@ void amec_pmax_clip_controller(void)
//Note: quickPowerDrop interrupts will not preempt the real time loop
// interrupt. No locking is needed between the two interrupts.
- //Note: quickPowerDropLatchAmec represents the failsafe signal on ITEs and
- // oversubscription signal on non-ITEs.
+ //Note: oversubLatchAmec represents the oversubscription signal
// See the oversub event and control oversub in AMEC
if(AMEC_INTF_GET_OVERSUBSCRIPTION()&&
@@ -158,7 +157,6 @@ void amec_pcap_calc(void)
/*------------------------------------------------------------------------*/
/* Local Variables */
/*------------------------------------------------------------------------*/
- bool l_failsafe_state = AMEC_INTF_GET_FAILSAFE();
bool l_oversub_state = 0;
uint16_t l_node_pwr = AMECSENSOR_PTR(PWR250US)->sample;
uint16_t l_p0_pwr = AMECSENSOR_PTR(PWR250USP0)->sample;
@@ -174,13 +172,7 @@ void amec_pcap_calc(void)
//TRAC_INFO("amec_pcap_calc: Calculate active_node_pcap, and nom_pcap_fmin.");
l_oversub_state = AMEC_INTF_GET_OVERSUBSCRIPTION();
- //Set the active_node_pcap in g_amec.
- if(TRUE == l_failsafe_state)
- {
- //Set active_node_pcap to soft min pcap since failsafe is on
- g_amec->pcap.active_node_pcap = G_sysConfigData.pcap.soft_min_pcap;
- }
- else if(TRUE == l_oversub_state)
+ if(TRUE == l_oversub_state)
{
g_amec->pcap.active_node_pcap = g_amec->pcap.ovs_node_pcap;
}
diff --git a/src/occ_405/cmdh/cmdh_mnfg_intf.c b/src/occ_405/cmdh/cmdh_mnfg_intf.c
index e7f3d6e..98b3f71 100755
--- a/src/occ_405/cmdh/cmdh_mnfg_intf.c
+++ b/src/occ_405/cmdh/cmdh_mnfg_intf.c
@@ -712,7 +712,6 @@ void cmdh_mnfg_test_parse (const cmdh_fsp_cmd_t * i_cmd_ptr,
case MNFG_RETRIEVE_EAR:
case MNFG_SET_FMINMAX:
- case MNFG_FAILSAFE_EMULATION:
case MNFG_CPM_STRESS_CALI:
case MNFG_UV_CONTROL:
case MNFG_FCHECK_CONTROL:
diff --git a/src/occ_405/cmdh/cmdh_mnfg_intf.h b/src/occ_405/cmdh/cmdh_mnfg_intf.h
index db4c4d9..c3a47d5 100755
--- a/src/occ_405/cmdh/cmdh_mnfg_intf.h
+++ b/src/occ_405/cmdh/cmdh_mnfg_intf.h
@@ -37,7 +37,6 @@ typedef enum {
MNFG_RETRIEVE_EAR = 0x08,
MNFG_MEMORY_SLEW = 0x09,
MNFG_SET_FMINMAX = 0x0A,
- MNFG_FAILSAFE_EMULATION = 0x0C,
MNFG_CPM_STRESS_CALI = 0x0D,
MNFG_UV_CONTROL = 0x0E,
MNFG_FCHECK_CONTROL = 0x0F,
diff --git a/src/occ_405/occ_service_codes.h b/src/occ_405/occ_service_codes.h
index f1f4c70..a26cdce 100644
--- a/src/occ_405/occ_service_codes.h
+++ b/src/occ_405/occ_service_codes.h
@@ -43,8 +43,6 @@ enum occReasonCode
OVERSUB_ALERT = 0x05,
/// Failure to maintain a hard power cap
POWER_CAP_FAILURE = 0x06,
- /// Failsafe State
- FAILSAFE_ALERT = 0x07,
/// Fans are in full speed
FAN_FULL_SPEED = 0x08,
/// Timed out reading a FRU temperature
@@ -165,7 +163,6 @@ enum occExtReasonCode
ERC_AMEC_PCAPS_MISMATCH_FAILURE = 0x0000002A,
ERC_AMEC_UNDER_PCAP_FAILURE = 0x0000002B,
- ERC_AMEC_SLAVE_FAILSAFE_STATE = 0x0000002C,
ERC_AMEC_SLAVE_OVS_STATE = 0x0000002D,
ERC_AMEC_SLAVE_POWERCAP = 0x0000002E,
diff --git a/src/occ_405/occ_sys_config.c b/src/occ_405/occ_sys_config.c
index 3754b0a..f052fe0 100755
--- a/src/occ_405/occ_sys_config.c
+++ b/src/occ_405/occ_sys_config.c
@@ -178,7 +178,6 @@ occSysConfigData_t G_sysConfigData =
// -----------------------------------------------------------
// Oversubscription Initializations
// -----------------------------------------------------------
- .failsafe_enabled = FALSE,
//Master ppb_fmax calculated by Master OCC's slave.
.master_ppb_fmax = 0xFFFF,
diff --git a/src/occ_405/occ_sys_config.h b/src/occ_405/occ_sys_config.h
index 8e925d2..2c7bfdc 100755
--- a/src/occ_405/occ_sys_config.h
+++ b/src/occ_405/occ_sys_config.h
@@ -327,8 +327,6 @@ typedef struct
// ------------------------------------
// Oversubscription Configuration Data
// ------------------------------------
- // If it's ITE or non-ITE (enabled:ITE, non-enalbe: non-ITE)
- uint8_t failsafe_enabled;
// ppb_fmax as set by Master OCC. Initialized to 0xFFFF
uint32_t master_ppb_fmax;
OpenPOWER on IntegriCloud