diff options
Diffstat (limited to 'src/occ_405')
-rwxr-xr-x | src/occ_405/amec/amec_freq.c | 65 | ||||
-rwxr-xr-x | src/occ_405/amec/amec_oversub.h | 7 | ||||
-rwxr-xr-x | src/occ_405/amec/amec_pcap.c | 40 | ||||
-rwxr-xr-x | src/occ_405/cmdh/cmdh_mnfg_intf.c | 1 | ||||
-rwxr-xr-x | src/occ_405/cmdh/cmdh_mnfg_intf.h | 1 | ||||
-rw-r--r-- | src/occ_405/occ_service_codes.h | 3 | ||||
-rwxr-xr-x | src/occ_405/occ_sys_config.c | 1 | ||||
-rwxr-xr-x | src/occ_405/occ_sys_config.h | 2 |
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; |