1*2874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 233f810b2SJeff Kirsher /****************************************************************************** 333f810b2SJeff Kirsher * 433f810b2SJeff Kirsher * (C)Copyright 1998,1999 SysKonnect, 533f810b2SJeff Kirsher * a business unit of Schneider & Koch & Co. Datensysteme GmbH. 633f810b2SJeff Kirsher * 733f810b2SJeff Kirsher * The information in this file is provided "AS IS" without warranty. 833f810b2SJeff Kirsher * 933f810b2SJeff Kirsher ******************************************************************************/ 1033f810b2SJeff Kirsher 1133f810b2SJeff Kirsher #ifndef _CMTDEF_ 1233f810b2SJeff Kirsher #define _CMTDEF_ 1333f810b2SJeff Kirsher 1433f810b2SJeff Kirsher /* **************************************************************** */ 1533f810b2SJeff Kirsher 1633f810b2SJeff Kirsher /* 1733f810b2SJeff Kirsher * implementation specific constants 1833f810b2SJeff Kirsher * MODIIFY THE FOLLOWING THREE DEFINES 1933f810b2SJeff Kirsher */ 2033f810b2SJeff Kirsher #define AMDPLC /* if Amd PLC chip used */ 2133f810b2SJeff Kirsher #ifdef CONC 2233f810b2SJeff Kirsher #define NUMPHYS 12 /* 2 for SAS or DAS, more for Concentrator */ 2333f810b2SJeff Kirsher #else 2433f810b2SJeff Kirsher #ifdef CONC_II 2533f810b2SJeff Kirsher #define NUMPHYS 24 /* 2 for SAS or DAS, more for Concentrator */ 2633f810b2SJeff Kirsher #else 2733f810b2SJeff Kirsher #define NUMPHYS 2 /* 2 for SAS or DAS, more for Concentrator */ 2833f810b2SJeff Kirsher #endif 2933f810b2SJeff Kirsher #endif 3033f810b2SJeff Kirsher #define NUMMACS 1 /* only 1 supported at the moment */ 3133f810b2SJeff Kirsher #define NUMPATHS 2 /* primary and secondary path supported */ 3233f810b2SJeff Kirsher 3333f810b2SJeff Kirsher /* 3433f810b2SJeff Kirsher * DO NOT MODIFY BEYOND THIS POINT 3533f810b2SJeff Kirsher */ 3633f810b2SJeff Kirsher 3733f810b2SJeff Kirsher /* **************************************************************** */ 3833f810b2SJeff Kirsher 3933f810b2SJeff Kirsher #if NUMPHYS > 2 4033f810b2SJeff Kirsher #define CONCENTRATOR 4133f810b2SJeff Kirsher #endif 4233f810b2SJeff Kirsher 4333f810b2SJeff Kirsher /* 4433f810b2SJeff Kirsher * Definitions for comfortable LINT usage 4533f810b2SJeff Kirsher */ 4633f810b2SJeff Kirsher #ifdef lint 4733f810b2SJeff Kirsher #define LINT_USE(x) (x)=(x) 4833f810b2SJeff Kirsher #else 4933f810b2SJeff Kirsher #define LINT_USE(x) 5033f810b2SJeff Kirsher #endif 5133f810b2SJeff Kirsher 5233f810b2SJeff Kirsher #ifdef DEBUG 535671e8c1SJoe Perches #define DB_PR(flag, fmt, ...) \ 545671e8c1SJoe Perches do { if (flag) printf(fmt "\n", ##__VA_ARGS__); } while (0) 5533f810b2SJeff Kirsher #else 565671e8c1SJoe Perches #define DB_PR(flag, fmt, ...) no_printk(fmt "\n", ##__VA_ARGS__) 575671e8c1SJoe Perches 5833f810b2SJeff Kirsher #endif 5933f810b2SJeff Kirsher 6033f810b2SJeff Kirsher #ifdef DEBUG_BRD 615671e8c1SJoe Perches #define DB_TEST (smc->debug) 6233f810b2SJeff Kirsher #else 635671e8c1SJoe Perches #define DB_TEST (debug) 6433f810b2SJeff Kirsher #endif 6533f810b2SJeff Kirsher 665671e8c1SJoe Perches #define DB_ECM(fmt, ...) \ 675671e8c1SJoe Perches DB_PR((DB_TEST).d_smt & 1, fmt, ##__VA_ARGS__) 685671e8c1SJoe Perches #define DB_ECMN(n, fmt, ...) \ 695671e8c1SJoe Perches DB_PR((DB_TEST).d_ecm >= (n), fmt, ##__VA_ARGS__) 705671e8c1SJoe Perches #define DB_RMT(fmt, ...) \ 715671e8c1SJoe Perches DB_PR((DB_TEST).d_smt & 2, fmt, ##__VA_ARGS__) 725671e8c1SJoe Perches #define DB_RMTN(n, fmt, ...) \ 735671e8c1SJoe Perches DB_PR((DB_TEST).d_rmt >= (n), fmt, ##__VA_ARGS__) 745671e8c1SJoe Perches #define DB_CFM(fmt, ...) \ 755671e8c1SJoe Perches DB_PR((DB_TEST).d_smt & 4, fmt, ##__VA_ARGS__) 765671e8c1SJoe Perches #define DB_CFMN(n, fmt, ...) \ 775671e8c1SJoe Perches DB_PR((DB_TEST).d_cfm >= (n), fmt, ##__VA_ARGS__) 785671e8c1SJoe Perches #define DB_PCM(fmt, ...) \ 795671e8c1SJoe Perches DB_PR((DB_TEST).d_smt & 8, fmt, ##__VA_ARGS__) 805671e8c1SJoe Perches #define DB_PCMN(n, fmt, ...) \ 815671e8c1SJoe Perches DB_PR((DB_TEST).d_pcm >= (n), fmt, ##__VA_ARGS__) 825671e8c1SJoe Perches #define DB_SMT(fmt, ...) \ 835671e8c1SJoe Perches DB_PR((DB_TEST).d_smtf, fmt, ##__VA_ARGS__) 845671e8c1SJoe Perches #define DB_SMTN(n, fmt, ...) \ 855671e8c1SJoe Perches DB_PR((DB_TEST).d_smtf >= (n), fmt, ##__VA_ARGS__) 865671e8c1SJoe Perches #define DB_SBA(fmt, ...) \ 875671e8c1SJoe Perches DB_PR((DB_TEST).d_sba, fmt, ##__VA_ARGS__) 885671e8c1SJoe Perches #define DB_SBAN(n, fmt, ...) \ 895671e8c1SJoe Perches DB_PR((DB_TEST).d_sba >= (n), fmt, ##__VA_ARGS__) 905671e8c1SJoe Perches #define DB_ESS(fmt, ...) \ 915671e8c1SJoe Perches DB_PR((DB_TEST).d_ess, fmt, ##__VA_ARGS__) 925671e8c1SJoe Perches #define DB_ESSN(n, fmt, ...) \ 935671e8c1SJoe Perches DB_PR((DB_TEST).d_ess >= (n), fmt, ##__VA_ARGS__) 945671e8c1SJoe Perches 9533f810b2SJeff Kirsher #ifndef SS_NOT_DS 9633f810b2SJeff Kirsher #define SK_LOC_DECL(type,var) type var 9733f810b2SJeff Kirsher #else 9833f810b2SJeff Kirsher #define SK_LOC_DECL(type,var) static type var 9933f810b2SJeff Kirsher #endif 10033f810b2SJeff Kirsher /* 10133f810b2SJeff Kirsher * PHYs and PORTS 10233f810b2SJeff Kirsher * Note: Don't touch the definition of PA and PB. Those might be used 10333f810b2SJeff Kirsher * by some "for" loops. 10433f810b2SJeff Kirsher */ 10533f810b2SJeff Kirsher #define PA 0 10633f810b2SJeff Kirsher #define PB 1 10733f810b2SJeff Kirsher #if defined(SUPERNET_3) || defined(CONC_II) 10833f810b2SJeff Kirsher /* 10933f810b2SJeff Kirsher * The port indices have to be different, 11033f810b2SJeff Kirsher * because the MAC output goes through the 2. PLC 11133f810b2SJeff Kirsher * Conc II: It has to be the first port in the row. 11233f810b2SJeff Kirsher */ 11333f810b2SJeff Kirsher #define PS 0 /* Internal PLC which is the same as PA */ 11433f810b2SJeff Kirsher #else 11533f810b2SJeff Kirsher #define PS 1 11633f810b2SJeff Kirsher #endif 11733f810b2SJeff Kirsher #define PM 2 /* PM .. PA+NUM_PHYS-1 */ 11833f810b2SJeff Kirsher 11933f810b2SJeff Kirsher /* 12033f810b2SJeff Kirsher * PHY types - as in path descriptor 'fddiPHYType' 12133f810b2SJeff Kirsher */ 12233f810b2SJeff Kirsher #define TA 0 /* A port */ 12333f810b2SJeff Kirsher #define TB 1 /* B port */ 12433f810b2SJeff Kirsher #define TS 2 /* S port */ 12533f810b2SJeff Kirsher #define TM 3 /* M port */ 12633f810b2SJeff Kirsher #define TNONE 4 12733f810b2SJeff Kirsher 12833f810b2SJeff Kirsher 12933f810b2SJeff Kirsher /* 13033f810b2SJeff Kirsher * indexes in MIB 13133f810b2SJeff Kirsher */ 13233f810b2SJeff Kirsher #define INDEX_MAC 1 13333f810b2SJeff Kirsher #define INDEX_PATH 1 13433f810b2SJeff Kirsher #define INDEX_PORT 1 13533f810b2SJeff Kirsher 13633f810b2SJeff Kirsher 13733f810b2SJeff Kirsher /* 13833f810b2SJeff Kirsher * policies 13933f810b2SJeff Kirsher */ 14033f810b2SJeff Kirsher #define POLICY_AA (1<<0) /* reject AA */ 14133f810b2SJeff Kirsher #define POLICY_AB (1<<1) /* reject AB */ 14233f810b2SJeff Kirsher #define POLICY_AS (1<<2) /* reject AS */ 14333f810b2SJeff Kirsher #define POLICY_AM (1<<3) /* reject AM */ 14433f810b2SJeff Kirsher #define POLICY_BA (1<<4) /* reject BA */ 14533f810b2SJeff Kirsher #define POLICY_BB (1<<5) /* reject BB */ 14633f810b2SJeff Kirsher #define POLICY_BS (1<<6) /* reject BS */ 14733f810b2SJeff Kirsher #define POLICY_BM (1<<7) /* reject BM */ 14833f810b2SJeff Kirsher #define POLICY_SA (1<<8) /* reject SA */ 14933f810b2SJeff Kirsher #define POLICY_SB (1<<9) /* reject SB */ 15033f810b2SJeff Kirsher #define POLICY_SS (1<<10) /* reject SS */ 15133f810b2SJeff Kirsher #define POLICY_SM (1<<11) /* reject SM */ 15233f810b2SJeff Kirsher #define POLICY_MA (1<<12) /* reject MA */ 15333f810b2SJeff Kirsher #define POLICY_MB (1<<13) /* reject MB */ 15433f810b2SJeff Kirsher #define POLICY_MS (1<<14) /* reject MS */ 15533f810b2SJeff Kirsher #define POLICY_MM (1<<15) /* reject MM */ 15633f810b2SJeff Kirsher 15733f810b2SJeff Kirsher /* 15833f810b2SJeff Kirsher * commands 15933f810b2SJeff Kirsher */ 16033f810b2SJeff Kirsher 16133f810b2SJeff Kirsher /* 16233f810b2SJeff Kirsher * EVENTS 16333f810b2SJeff Kirsher * event classes 16433f810b2SJeff Kirsher */ 16533f810b2SJeff Kirsher #define EVENT_ECM 1 /* event class ECM */ 16633f810b2SJeff Kirsher #define EVENT_CFM 2 /* event class CFM */ 16733f810b2SJeff Kirsher #define EVENT_RMT 3 /* event class RMT */ 16833f810b2SJeff Kirsher #define EVENT_SMT 4 /* event class SMT */ 16933f810b2SJeff Kirsher #define EVENT_PCM 5 /* event class PCM */ 17033f810b2SJeff Kirsher #define EVENT_PCMA 5 /* event class PCMA */ 17133f810b2SJeff Kirsher #define EVENT_PCMB 6 /* event class PCMB */ 17233f810b2SJeff Kirsher 17333f810b2SJeff Kirsher /* WARNING : 17433f810b2SJeff Kirsher * EVENT_PCM* must be last in the above list 17533f810b2SJeff Kirsher * if more than two ports are used, EVENT_PCM .. EVENT_PCMA+NUM_PHYS-1 17633f810b2SJeff Kirsher * are used ! 17733f810b2SJeff Kirsher */ 17833f810b2SJeff Kirsher 17933f810b2SJeff Kirsher #define EV_TOKEN(class,event) (((u_long)(class)<<16L)|((u_long)(event))) 18033f810b2SJeff Kirsher #define EV_T_CLASS(token) ((int)((token)>>16)&0xffff) 18133f810b2SJeff Kirsher #define EV_T_EVENT(token) ((int)(token)&0xffff) 18233f810b2SJeff Kirsher 18333f810b2SJeff Kirsher /* 18433f810b2SJeff Kirsher * ECM events 18533f810b2SJeff Kirsher */ 18633f810b2SJeff Kirsher #define EC_CONNECT 1 /* connect request */ 18733f810b2SJeff Kirsher #define EC_DISCONNECT 2 /* disconnect request */ 18833f810b2SJeff Kirsher #define EC_TRACE_PROP 3 /* trace propagation */ 18933f810b2SJeff Kirsher #define EC_PATH_TEST 4 /* path test */ 19033f810b2SJeff Kirsher #define EC_TIMEOUT_TD 5 /* timer TD_min */ 19133f810b2SJeff Kirsher #define EC_TIMEOUT_TMAX 6 /* timer trace_max */ 19233f810b2SJeff Kirsher #define EC_TIMEOUT_IMAX 7 /* timer I_max */ 19333f810b2SJeff Kirsher #define EC_TIMEOUT_INMAX 8 /* timer IN_max */ 19433f810b2SJeff Kirsher #define EC_TEST_DONE 9 /* path test done */ 19533f810b2SJeff Kirsher 19633f810b2SJeff Kirsher /* 19733f810b2SJeff Kirsher * CFM events 19833f810b2SJeff Kirsher */ 19933f810b2SJeff Kirsher #define CF_LOOP 1 /* cf_loop flag from PCM */ 20033f810b2SJeff Kirsher #define CF_LOOP_A 1 /* cf_loop flag from PCM */ 20133f810b2SJeff Kirsher #define CF_LOOP_B 2 /* cf_loop flag from PCM */ 20233f810b2SJeff Kirsher #define CF_JOIN 3 /* cf_join flag from PCM */ 20333f810b2SJeff Kirsher #define CF_JOIN_A 3 /* cf_join flag from PCM */ 20433f810b2SJeff Kirsher #define CF_JOIN_B 4 /* cf_join flag from PCM */ 20533f810b2SJeff Kirsher 20633f810b2SJeff Kirsher /* 20733f810b2SJeff Kirsher * PCM events 20833f810b2SJeff Kirsher */ 20933f810b2SJeff Kirsher #define PC_START 1 21033f810b2SJeff Kirsher #define PC_STOP 2 21133f810b2SJeff Kirsher #define PC_LOOP 3 21233f810b2SJeff Kirsher #define PC_JOIN 4 21333f810b2SJeff Kirsher #define PC_SIGNAL 5 21433f810b2SJeff Kirsher #define PC_REJECT 6 21533f810b2SJeff Kirsher #define PC_MAINT 7 21633f810b2SJeff Kirsher #define PC_TRACE 8 21733f810b2SJeff Kirsher #define PC_PDR 9 21833f810b2SJeff Kirsher #define PC_ENABLE 10 21933f810b2SJeff Kirsher #define PC_DISABLE 11 22033f810b2SJeff Kirsher 22133f810b2SJeff Kirsher /* 22233f810b2SJeff Kirsher * must be ordered as in LineStateType 22333f810b2SJeff Kirsher */ 22433f810b2SJeff Kirsher #define PC_QLS 12 22533f810b2SJeff Kirsher #define PC_ILS 13 22633f810b2SJeff Kirsher #define PC_MLS 14 22733f810b2SJeff Kirsher #define PC_HLS 15 22833f810b2SJeff Kirsher #define PC_LS_PDR 16 22933f810b2SJeff Kirsher #define PC_LS_NONE 17 23033f810b2SJeff Kirsher #define LS2MIB(x) ((x)-PC_QLS) 23133f810b2SJeff Kirsher #define MIB2LS(x) ((x)+PC_QLS) 23233f810b2SJeff Kirsher 23333f810b2SJeff Kirsher #define PC_TIMEOUT_TB_MAX 18 /* timer TB_max */ 23433f810b2SJeff Kirsher #define PC_TIMEOUT_TB_MIN 19 /* timer TB_min */ 23533f810b2SJeff Kirsher #define PC_TIMEOUT_C_MIN 20 /* timer C_Min */ 23633f810b2SJeff Kirsher #define PC_TIMEOUT_T_OUT 21 /* timer T_Out */ 23733f810b2SJeff Kirsher #define PC_TIMEOUT_TL_MIN 22 /* timer TL_Min */ 23833f810b2SJeff Kirsher #define PC_TIMEOUT_T_NEXT 23 /* timer t_next[] */ 23933f810b2SJeff Kirsher #define PC_TIMEOUT_LCT 24 24033f810b2SJeff Kirsher #define PC_NSE 25 /* NOISE hardware timer */ 24133f810b2SJeff Kirsher #define PC_LEM 26 /* LEM done */ 24233f810b2SJeff Kirsher 24333f810b2SJeff Kirsher /* 24433f810b2SJeff Kirsher * RMT events meaning from 24533f810b2SJeff Kirsher */ 24633f810b2SJeff Kirsher #define RM_RING_OP 1 /* ring operational MAC */ 24733f810b2SJeff Kirsher #define RM_RING_NON_OP 2 /* ring not operational MAC */ 24833f810b2SJeff Kirsher #define RM_MY_BEACON 3 /* recvd my beacon MAC */ 24933f810b2SJeff Kirsher #define RM_OTHER_BEACON 4 /* recvd other beacon MAC */ 25033f810b2SJeff Kirsher #define RM_MY_CLAIM 5 /* recvd my claim MAC */ 25133f810b2SJeff Kirsher #define RM_TRT_EXP 6 /* TRT exp MAC */ 25233f810b2SJeff Kirsher #define RM_VALID_CLAIM 7 /* claim from dup addr MAC */ 25333f810b2SJeff Kirsher #define RM_JOIN 8 /* signal rm_join CFM */ 25433f810b2SJeff Kirsher #define RM_LOOP 9 /* signal rm_loop CFM */ 25533f810b2SJeff Kirsher #define RM_DUP_ADDR 10 /* dup_addr_test hange SMT-NIF */ 25633f810b2SJeff Kirsher #define RM_ENABLE_FLAG 11 /* enable flag */ 25733f810b2SJeff Kirsher 25833f810b2SJeff Kirsher #define RM_TIMEOUT_NON_OP 12 /* timeout T_Non_OP */ 25933f810b2SJeff Kirsher #define RM_TIMEOUT_T_STUCK 13 /* timeout T_Stuck */ 26033f810b2SJeff Kirsher #define RM_TIMEOUT_ANNOUNCE 14 /* timeout T_Announce */ 26133f810b2SJeff Kirsher #define RM_TIMEOUT_T_DIRECT 15 /* timeout T_Direct */ 26233f810b2SJeff Kirsher #define RM_TIMEOUT_D_MAX 16 /* timeout D_Max */ 26333f810b2SJeff Kirsher #define RM_TIMEOUT_POLL 17 /* claim/beacon poller */ 26433f810b2SJeff Kirsher #define RM_TX_STATE_CHANGE 18 /* To restart timer for D_Max */ 26533f810b2SJeff Kirsher 26633f810b2SJeff Kirsher /* 26733f810b2SJeff Kirsher * SMT events 26833f810b2SJeff Kirsher */ 26933f810b2SJeff Kirsher #define SM_TIMER 1 /* timer */ 27033f810b2SJeff Kirsher #define SM_FAST 2 /* smt_force_irq */ 27133f810b2SJeff Kirsher 27233f810b2SJeff Kirsher /* PC modes */ 27333f810b2SJeff Kirsher #define PM_NONE 0 27433f810b2SJeff Kirsher #define PM_PEER 1 27533f810b2SJeff Kirsher #define PM_TREE 2 27633f810b2SJeff Kirsher 27733f810b2SJeff Kirsher /* 27833f810b2SJeff Kirsher * PCM withhold codes 27933f810b2SJeff Kirsher * MIB PC-WithholdType ENUM 28033f810b2SJeff Kirsher */ 28133f810b2SJeff Kirsher #define PC_WH_NONE 0 /* ok */ 28233f810b2SJeff Kirsher #define PC_WH_M_M 1 /* M to M */ 28333f810b2SJeff Kirsher #define PC_WH_OTHER 2 /* other incompatible phys */ 28433f810b2SJeff Kirsher #define PC_WH_PATH 3 /* path not available */ 28533f810b2SJeff Kirsher /* 28633f810b2SJeff Kirsher * LCT duration 28733f810b2SJeff Kirsher */ 28833f810b2SJeff Kirsher #define LC_SHORT 1 /* short LCT */ 28933f810b2SJeff Kirsher #define LC_MEDIUM 2 /* medium LCT */ 29033f810b2SJeff Kirsher #define LC_LONG 3 /* long LCT */ 29133f810b2SJeff Kirsher #define LC_EXTENDED 4 /* extended LCT */ 29233f810b2SJeff Kirsher 29333f810b2SJeff Kirsher /* 29433f810b2SJeff Kirsher * path_test values 29533f810b2SJeff Kirsher */ 29633f810b2SJeff Kirsher #define PT_NONE 0 29733f810b2SJeff Kirsher #define PT_TESTING 1 /* test is running */ 29833f810b2SJeff Kirsher #define PT_PASSED 2 /* test passed */ 29933f810b2SJeff Kirsher #define PT_FAILED 3 /* test failed */ 30033f810b2SJeff Kirsher #define PT_PENDING 4 /* path test follows */ 30133f810b2SJeff Kirsher #define PT_EXITING 5 /* disconnected while in trace/leave */ 30233f810b2SJeff Kirsher 30333f810b2SJeff Kirsher /* 30433f810b2SJeff Kirsher * duplicate address test 30533f810b2SJeff Kirsher * MIB DupAddressTest ENUM 30633f810b2SJeff Kirsher */ 30733f810b2SJeff Kirsher #define DA_NONE 0 /* */ 30833f810b2SJeff Kirsher #define DA_PASSED 1 /* test passed */ 30933f810b2SJeff Kirsher #define DA_FAILED 2 /* test failed */ 31033f810b2SJeff Kirsher 31133f810b2SJeff Kirsher 31233f810b2SJeff Kirsher /* 31333f810b2SJeff Kirsher * optical bypass 31433f810b2SJeff Kirsher */ 31533f810b2SJeff Kirsher #define BP_DEINSERT 0 /* disable bypass */ 31633f810b2SJeff Kirsher #define BP_INSERT 1 /* enable bypass */ 31733f810b2SJeff Kirsher 31833f810b2SJeff Kirsher /* 31933f810b2SJeff Kirsher * ODL enable/disable 32033f810b2SJeff Kirsher */ 32133f810b2SJeff Kirsher #define PM_TRANSMIT_DISABLE 0 /* disable xmit */ 32233f810b2SJeff Kirsher #define PM_TRANSMIT_ENABLE 1 /* enable xmit */ 32333f810b2SJeff Kirsher 32433f810b2SJeff Kirsher /* 32533f810b2SJeff Kirsher * parameter for config_mux 32633f810b2SJeff Kirsher * note : number is index in config_endec table ! 32733f810b2SJeff Kirsher */ 32833f810b2SJeff Kirsher #define MUX_THRUA 0 /* through A */ 32933f810b2SJeff Kirsher #define MUX_THRUB 1 /* through B */ 33033f810b2SJeff Kirsher #define MUX_WRAPA 2 /* wrap A */ 33133f810b2SJeff Kirsher #define MUX_WRAPB 3 /* wrap B */ 33233f810b2SJeff Kirsher #define MUX_ISOLATE 4 /* isolated */ 33333f810b2SJeff Kirsher #define MUX_WRAPS 5 /* SAS */ 33433f810b2SJeff Kirsher 33533f810b2SJeff Kirsher /* 33633f810b2SJeff Kirsher * MAC control 33733f810b2SJeff Kirsher */ 33833f810b2SJeff Kirsher #define MA_RESET 0 33933f810b2SJeff Kirsher #define MA_BEACON 1 34033f810b2SJeff Kirsher #define MA_CLAIM 2 34133f810b2SJeff Kirsher #define MA_DIRECTED 3 /* directed beacon */ 34233f810b2SJeff Kirsher #define MA_TREQ 4 /* change T_Req */ 34333f810b2SJeff Kirsher #define MA_OFFLINE 5 /* switch MAC to offline */ 34433f810b2SJeff Kirsher 34533f810b2SJeff Kirsher 34633f810b2SJeff Kirsher /* 34733f810b2SJeff Kirsher * trace prop 34833f810b2SJeff Kirsher * bit map for trace propagation 34933f810b2SJeff Kirsher */ 35033f810b2SJeff Kirsher #define ENTITY_MAC (NUMPHYS) 35133f810b2SJeff Kirsher #define ENTITY_PHY(p) (p) 35233f810b2SJeff Kirsher #define ENTITY_BIT(m) (1<<(m)) 35333f810b2SJeff Kirsher 35433f810b2SJeff Kirsher /* 35533f810b2SJeff Kirsher * Resource Tag Types 35633f810b2SJeff Kirsher */ 35733f810b2SJeff Kirsher #define PATH_ISO 0 /* isolated */ 35833f810b2SJeff Kirsher #define PATH_PRIM 3 /* primary path */ 35933f810b2SJeff Kirsher #define PATH_THRU 5 /* through path */ 36033f810b2SJeff Kirsher 36133f810b2SJeff Kirsher #define RES_MAC 2 /* resource type MAC */ 36233f810b2SJeff Kirsher #define RES_PORT 4 /* resource type PORT */ 36333f810b2SJeff Kirsher 36433f810b2SJeff Kirsher 36533f810b2SJeff Kirsher /* 36633f810b2SJeff Kirsher * CFM state 36733f810b2SJeff Kirsher * oops: MUST MATCH CF-StateType in SMT7.2 ! 36833f810b2SJeff Kirsher */ 36933f810b2SJeff Kirsher #define SC0_ISOLATED 0 /* isolated */ 37033f810b2SJeff Kirsher #define SC1_WRAP_A 5 /* wrap A (not used) */ 37133f810b2SJeff Kirsher #define SC2_WRAP_B 6 /* wrap B (not used) */ 37233f810b2SJeff Kirsher #define SC4_THRU_A 12 /* through A */ 37333f810b2SJeff Kirsher #define SC5_THRU_B 7 /* through B (used in SMT 6.2) */ 37433f810b2SJeff Kirsher #define SC7_WRAP_S 8 /* SAS (not used) */ 37533f810b2SJeff Kirsher #define SC9_C_WRAP_A 9 /* c wrap A */ 37633f810b2SJeff Kirsher #define SC10_C_WRAP_B 10 /* c wrap B */ 37733f810b2SJeff Kirsher #define SC11_C_WRAP_S 11 /* c wrap S */ 37833f810b2SJeff Kirsher 37933f810b2SJeff Kirsher /* 38033f810b2SJeff Kirsher * convert MIB time in units of 80nS to uS 38133f810b2SJeff Kirsher */ 38233f810b2SJeff Kirsher #define MIB2US(t) ((t)/12) 38333f810b2SJeff Kirsher #define SEC2MIB(s) ((s)*12500000L) 38433f810b2SJeff Kirsher /* 38533f810b2SJeff Kirsher * SMT timer 38633f810b2SJeff Kirsher */ 38733f810b2SJeff Kirsher struct smt_timer { 38833f810b2SJeff Kirsher struct smt_timer *tm_next ; /* linked list */ 38933f810b2SJeff Kirsher struct s_smc *tm_smc ; /* pointer to context */ 39033f810b2SJeff Kirsher u_long tm_delta ; /* delta time */ 39133f810b2SJeff Kirsher u_long tm_token ; /* token value */ 39233f810b2SJeff Kirsher u_short tm_active ; /* flag : active/inactive */ 39333f810b2SJeff Kirsher u_short tm_pad ; /* pad field */ 39433f810b2SJeff Kirsher } ; 39533f810b2SJeff Kirsher 39633f810b2SJeff Kirsher /* 39733f810b2SJeff Kirsher * communication structures 39833f810b2SJeff Kirsher */ 39933f810b2SJeff Kirsher struct mac_parameter { 40033f810b2SJeff Kirsher u_long t_neg ; /* T_Neg parameter */ 40133f810b2SJeff Kirsher u_long t_pri ; /* T_Pri register in MAC */ 40233f810b2SJeff Kirsher } ; 40333f810b2SJeff Kirsher 40433f810b2SJeff Kirsher /* 40533f810b2SJeff Kirsher * MAC counters 40633f810b2SJeff Kirsher */ 40733f810b2SJeff Kirsher struct mac_counter { 40833f810b2SJeff Kirsher u_long mac_nobuf_counter ; /* MAC SW counter: no buffer */ 40933f810b2SJeff Kirsher u_long mac_r_restart_counter ; /* MAC SW counter: rx restarted */ 41033f810b2SJeff Kirsher } ; 41133f810b2SJeff Kirsher 41233f810b2SJeff Kirsher /* 41333f810b2SJeff Kirsher * para struct context for SMT parameters 41433f810b2SJeff Kirsher */ 41533f810b2SJeff Kirsher struct s_pcon { 41633f810b2SJeff Kirsher int pc_len ; 41733f810b2SJeff Kirsher int pc_err ; 41833f810b2SJeff Kirsher int pc_badset ; 41933f810b2SJeff Kirsher void *pc_p ; 42033f810b2SJeff Kirsher } ; 42133f810b2SJeff Kirsher 42233f810b2SJeff Kirsher /* 42333f810b2SJeff Kirsher * link error monitor 42433f810b2SJeff Kirsher */ 42533f810b2SJeff Kirsher #define LEM_AVG 5 42633f810b2SJeff Kirsher struct lem_counter { 42733f810b2SJeff Kirsher #ifdef AM29K 42833f810b2SJeff Kirsher int lem_on ; 42933f810b2SJeff Kirsher u_long lem_errors ; 43033f810b2SJeff Kirsher u_long lem_symbols ; 43133f810b2SJeff Kirsher u_long lem_tsymbols ; 43233f810b2SJeff Kirsher int lem_s_count ; 43333f810b2SJeff Kirsher int lem_n_s ; 43433f810b2SJeff Kirsher int lem_values ; 43533f810b2SJeff Kirsher int lem_index ; 43633f810b2SJeff Kirsher int lem_avg_ber[LEM_AVG] ; 43733f810b2SJeff Kirsher int lem_sum ; 43833f810b2SJeff Kirsher #else 43933f810b2SJeff Kirsher u_short lem_float_ber ; /* 10E-nn bit error rate */ 44033f810b2SJeff Kirsher u_long lem_errors ; /* accumulated error count */ 44133f810b2SJeff Kirsher u_short lem_on ; 44233f810b2SJeff Kirsher #endif 44333f810b2SJeff Kirsher } ; 44433f810b2SJeff Kirsher 44533f810b2SJeff Kirsher #define NUMBITS 10 44633f810b2SJeff Kirsher 44733f810b2SJeff Kirsher #ifdef AMDPLC 44833f810b2SJeff Kirsher 44933f810b2SJeff Kirsher /* 45033f810b2SJeff Kirsher * PLC state table 45133f810b2SJeff Kirsher */ 45233f810b2SJeff Kirsher struct s_plc { 45333f810b2SJeff Kirsher u_short p_state ; /* current state */ 45433f810b2SJeff Kirsher u_short p_bits ; /* number of bits to send */ 45533f810b2SJeff Kirsher u_short p_start ; /* first bit pos */ 45633f810b2SJeff Kirsher u_short p_pad ; /* padding for alignment */ 45733f810b2SJeff Kirsher u_long soft_err ; /* error counter */ 45833f810b2SJeff Kirsher u_long parity_err ; /* error counter */ 45933f810b2SJeff Kirsher u_long ebuf_err ; /* error counter */ 46033f810b2SJeff Kirsher u_long ebuf_cont ; /* continuous error counter */ 46133f810b2SJeff Kirsher u_long phyinv ; /* error counter */ 46233f810b2SJeff Kirsher u_long vsym_ctr ; /* error counter */ 46333f810b2SJeff Kirsher u_long mini_ctr ; /* error counter */ 46433f810b2SJeff Kirsher u_long tpc_exp ; /* error counter */ 46533f810b2SJeff Kirsher u_long np_err ; /* error counter */ 46633f810b2SJeff Kirsher u_long b_pcs ; /* error counter */ 46733f810b2SJeff Kirsher u_long b_tpc ; /* error counter */ 46833f810b2SJeff Kirsher u_long b_tne ; /* error counter */ 46933f810b2SJeff Kirsher u_long b_qls ; /* error counter */ 47033f810b2SJeff Kirsher u_long b_ils ; /* error counter */ 47133f810b2SJeff Kirsher u_long b_hls ; /* error counter */ 47233f810b2SJeff Kirsher } ; 47333f810b2SJeff Kirsher #endif 47433f810b2SJeff Kirsher 47533f810b2SJeff Kirsher #ifdef PROTOTYP_INC 47633f810b2SJeff Kirsher #include "fddi/driver.pro" 47733f810b2SJeff Kirsher #else /* PROTOTYP_INC */ 47833f810b2SJeff Kirsher /* 47933f810b2SJeff Kirsher * function prototypes 48033f810b2SJeff Kirsher */ 481aab3ac26SJeff Kirsher #include "mbuf.h" /* Type definitions for MBUFs */ 482aab3ac26SJeff Kirsher #include "smtstate.h" /* struct smt_state */ 48333f810b2SJeff Kirsher 48433f810b2SJeff Kirsher void hwt_restart(struct s_smc *smc); /* hwt.c */ 48533f810b2SJeff Kirsher SMbuf *smt_build_frame(struct s_smc *smc, int class, int type, 48633f810b2SJeff Kirsher int length); /* smt.c */ 48733f810b2SJeff Kirsher SMbuf *smt_get_mbuf(struct s_smc *smc); /* drvsr.c */ 48833f810b2SJeff Kirsher void *sm_to_para(struct s_smc *smc, struct smt_header *sm, 48933f810b2SJeff Kirsher int para); /* smt.c */ 49033f810b2SJeff Kirsher 49133f810b2SJeff Kirsher #ifndef SK_UNUSED 49233f810b2SJeff Kirsher #define SK_UNUSED(var) (void)(var) 49333f810b2SJeff Kirsher #endif 49433f810b2SJeff Kirsher 49533f810b2SJeff Kirsher void queue_event(struct s_smc *smc, int class, int event); 49633f810b2SJeff Kirsher void ecm(struct s_smc *smc, int event); 49733f810b2SJeff Kirsher void ecm_init(struct s_smc *smc); 49833f810b2SJeff Kirsher void rmt(struct s_smc *smc, int event); 49933f810b2SJeff Kirsher void rmt_init(struct s_smc *smc); 50033f810b2SJeff Kirsher void pcm(struct s_smc *smc, const int np, int event); 50133f810b2SJeff Kirsher void pcm_init(struct s_smc *smc); 50233f810b2SJeff Kirsher void cfm(struct s_smc *smc, int event); 50333f810b2SJeff Kirsher void cfm_init(struct s_smc *smc); 50433f810b2SJeff Kirsher void smt_timer_start(struct s_smc *smc, struct smt_timer *timer, u_long time, 50533f810b2SJeff Kirsher u_long token); 50633f810b2SJeff Kirsher void smt_timer_stop(struct s_smc *smc, struct smt_timer *timer); 50733f810b2SJeff Kirsher void pcm_status_state(struct s_smc *smc, int np, int *type, int *state, 50833f810b2SJeff Kirsher int *remote, int *mac); 50933f810b2SJeff Kirsher void plc_config_mux(struct s_smc *smc, int mux); 51033f810b2SJeff Kirsher void sm_lem_evaluate(struct s_smc *smc); 51133f810b2SJeff Kirsher void mac_update_counter(struct s_smc *smc); 51233f810b2SJeff Kirsher void sm_ma_control(struct s_smc *smc, int mode); 51333f810b2SJeff Kirsher void sm_mac_check_beacon_claim(struct s_smc *smc); 51433f810b2SJeff Kirsher void config_mux(struct s_smc *smc, int mux); 51533f810b2SJeff Kirsher void smt_agent_init(struct s_smc *smc); 51633f810b2SJeff Kirsher void smt_timer_init(struct s_smc *smc); 51733f810b2SJeff Kirsher void smt_received_pack(struct s_smc *smc, SMbuf *mb, int fs); 51833f810b2SJeff Kirsher void smt_add_para(struct s_smc *smc, struct s_pcon *pcon, u_short para, 51933f810b2SJeff Kirsher int index, int local); 52033f810b2SJeff Kirsher void smt_swap_para(struct smt_header *sm, int len, int direction); 52133f810b2SJeff Kirsher void ev_init(struct s_smc *smc); 52233f810b2SJeff Kirsher void hwt_init(struct s_smc *smc); 52333f810b2SJeff Kirsher u_long hwt_read(struct s_smc *smc); 52433f810b2SJeff Kirsher void hwt_stop(struct s_smc *smc); 52533f810b2SJeff Kirsher void hwt_start(struct s_smc *smc, u_long time); 52633f810b2SJeff Kirsher void smt_send_mbuf(struct s_smc *smc, SMbuf *mb, int fc); 52733f810b2SJeff Kirsher void smt_free_mbuf(struct s_smc *smc, SMbuf *mb); 52833f810b2SJeff Kirsher void sm_pm_bypass_req(struct s_smc *smc, int mode); 52933f810b2SJeff Kirsher void rmt_indication(struct s_smc *smc, int i); 53033f810b2SJeff Kirsher void cfm_state_change(struct s_smc *smc, int c_state); 53133f810b2SJeff Kirsher 53233f810b2SJeff Kirsher #if defined(DEBUG) || !defined(NO_SMT_PANIC) 53333f810b2SJeff Kirsher void smt_panic(struct s_smc *smc, char *text); 53433f810b2SJeff Kirsher #else 53533f810b2SJeff Kirsher #define smt_panic(smc,text) 53633f810b2SJeff Kirsher #endif /* DEBUG || !NO_SMT_PANIC */ 53733f810b2SJeff Kirsher 53833f810b2SJeff Kirsher void smt_stat_counter(struct s_smc *smc, int stat); 53933f810b2SJeff Kirsher void smt_timer_poll(struct s_smc *smc); 54033f810b2SJeff Kirsher u_long smt_get_time(void); 54133f810b2SJeff Kirsher u_long smt_get_tid(struct s_smc *smc); 54233f810b2SJeff Kirsher void smt_timer_done(struct s_smc *smc); 54333f810b2SJeff Kirsher void smt_fixup_mib(struct s_smc *smc); 54433f810b2SJeff Kirsher void smt_reset_defaults(struct s_smc *smc, int level); 54533f810b2SJeff Kirsher void smt_agent_task(struct s_smc *smc); 54633f810b2SJeff Kirsher int smt_check_para(struct s_smc *smc, struct smt_header *sm, 54733f810b2SJeff Kirsher const u_short list[]); 54833f810b2SJeff Kirsher void driver_get_bia(struct s_smc *smc, struct fddi_addr *bia_addr); 54933f810b2SJeff Kirsher 55033f810b2SJeff Kirsher #ifdef SUPERNET_3 55133f810b2SJeff Kirsher void drv_reset_indication(struct s_smc *smc); 55233f810b2SJeff Kirsher #endif /* SUPERNET_3 */ 55333f810b2SJeff Kirsher 55433f810b2SJeff Kirsher void smt_start_watchdog(struct s_smc *smc); 55533f810b2SJeff Kirsher void smt_event(struct s_smc *smc, int event); 55633f810b2SJeff Kirsher void timer_event(struct s_smc *smc, u_long token); 55733f810b2SJeff Kirsher void ev_dispatcher(struct s_smc *smc); 55833f810b2SJeff Kirsher void pcm_get_state(struct s_smc *smc, struct smt_state *state); 55933f810b2SJeff Kirsher void ecm_state_change(struct s_smc *smc, int e_state); 56033f810b2SJeff Kirsher int sm_pm_bypass_present(struct s_smc *smc); 56133f810b2SJeff Kirsher void pcm_state_change(struct s_smc *smc, int plc, int p_state); 56233f810b2SJeff Kirsher void rmt_state_change(struct s_smc *smc, int r_state); 56333f810b2SJeff Kirsher int sm_pm_get_ls(struct s_smc *smc, int phy); 56433f810b2SJeff Kirsher int pcm_get_s_port(struct s_smc *smc); 56533f810b2SJeff Kirsher int pcm_rooted_station(struct s_smc *smc); 56633f810b2SJeff Kirsher int cfm_get_mac_input(struct s_smc *smc); 56733f810b2SJeff Kirsher int cfm_get_mac_output(struct s_smc *smc); 56833f810b2SJeff Kirsher int cem_build_path(struct s_smc *smc, char *to, int path_index); 56933f810b2SJeff Kirsher int sm_mac_get_tx_state(struct s_smc *smc); 57033f810b2SJeff Kirsher char *get_pcmstate(struct s_smc *smc, int np); 57133f810b2SJeff Kirsher int smt_action(struct s_smc *smc, int class, int code, int index); 57233f810b2SJeff Kirsher u_short smt_online(struct s_smc *smc, int on); 57333f810b2SJeff Kirsher void smt_force_irq(struct s_smc *smc); 57433f810b2SJeff Kirsher void smt_pmf_received_pack(struct s_smc *smc, SMbuf *mb, int local); 57533f810b2SJeff Kirsher void smt_send_frame(struct s_smc *smc, SMbuf *mb, int fc, int local); 57633f810b2SJeff Kirsher void smt_set_timestamp(struct s_smc *smc, u_char *p); 57733f810b2SJeff Kirsher void mac_set_rx_mode(struct s_smc *smc, int mode); 57833f810b2SJeff Kirsher int mac_add_multicast(struct s_smc *smc, struct fddi_addr *addr, int can); 57933f810b2SJeff Kirsher void mac_update_multicast(struct s_smc *smc); 58033f810b2SJeff Kirsher void mac_clear_multicast(struct s_smc *smc); 58133f810b2SJeff Kirsher void set_formac_tsync(struct s_smc *smc, long sync_bw); 58233f810b2SJeff Kirsher void formac_reinit_tx(struct s_smc *smc); 58333f810b2SJeff Kirsher void formac_tx_restart(struct s_smc *smc); 58433f810b2SJeff Kirsher void process_receive(struct s_smc *smc); 58533f810b2SJeff Kirsher void init_driver_fplus(struct s_smc *smc); 58633f810b2SJeff Kirsher void rtm_irq(struct s_smc *smc); 58733f810b2SJeff Kirsher void rtm_set_timer(struct s_smc *smc); 58833f810b2SJeff Kirsher void ring_status_indication(struct s_smc *smc, u_long status); 58933f810b2SJeff Kirsher void llc_recover_tx(struct s_smc *smc); 59033f810b2SJeff Kirsher void llc_restart_tx(struct s_smc *smc); 59133f810b2SJeff Kirsher void plc_clear_irq(struct s_smc *smc, int p); 59233f810b2SJeff Kirsher void plc_irq(struct s_smc *smc, int np, unsigned int cmd); 59333f810b2SJeff Kirsher int smt_set_mac_opvalues(struct s_smc *smc); 59433f810b2SJeff Kirsher 59533f810b2SJeff Kirsher #ifdef TAG_MODE 59633f810b2SJeff Kirsher void mac_do_pci_fix(struct s_smc *smc); 59733f810b2SJeff Kirsher void mac_drv_clear_tx_queue(struct s_smc *smc); 59833f810b2SJeff Kirsher void mac_drv_repair_descr(struct s_smc *smc); 59933f810b2SJeff Kirsher u_long hwt_quick_read(struct s_smc *smc); 60033f810b2SJeff Kirsher void hwt_wait_time(struct s_smc *smc, u_long start, long duration); 60133f810b2SJeff Kirsher #endif 60233f810b2SJeff Kirsher 60333f810b2SJeff Kirsher #ifdef SMT_PNMI 60433f810b2SJeff Kirsher int pnmi_init(struct s_smc* smc); 60533f810b2SJeff Kirsher int pnmi_process_ndis_id(struct s_smc *smc, u_long ndis_oid, void *buf, int len, 60633f810b2SJeff Kirsher int *BytesAccessed, int *BytesNeeded, u_char action); 60733f810b2SJeff Kirsher #endif 60833f810b2SJeff Kirsher 60933f810b2SJeff Kirsher #ifdef SBA 61033f810b2SJeff Kirsher #ifndef _H2INC 61133f810b2SJeff Kirsher void sba(); 61233f810b2SJeff Kirsher #endif 61333f810b2SJeff Kirsher void sba_raf_received_pack(); 61433f810b2SJeff Kirsher void sba_timer_poll(); 61533f810b2SJeff Kirsher void smt_init_sba(); 61633f810b2SJeff Kirsher #endif 61733f810b2SJeff Kirsher 61833f810b2SJeff Kirsher #ifdef ESS 61933f810b2SJeff Kirsher int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm, 62033f810b2SJeff Kirsher int fs); 62133f810b2SJeff Kirsher void ess_timer_poll(struct s_smc *smc); 62233f810b2SJeff Kirsher void ess_para_change(struct s_smc *smc); 62333f810b2SJeff Kirsher #endif 62433f810b2SJeff Kirsher 62533f810b2SJeff Kirsher #ifndef BOOT 62633f810b2SJeff Kirsher void smt_init_evc(struct s_smc *smc); 62733f810b2SJeff Kirsher void smt_srf_event(struct s_smc *smc, int code, int index, int cond); 62833f810b2SJeff Kirsher #else 62933f810b2SJeff Kirsher #define smt_init_evc(smc) 63033f810b2SJeff Kirsher #define smt_srf_event(smc,code,index,cond) 63133f810b2SJeff Kirsher #endif 63233f810b2SJeff Kirsher 63333f810b2SJeff Kirsher #ifndef SMT_REAL_TOKEN_CT 63433f810b2SJeff Kirsher void smt_emulate_token_ct(struct s_smc *smc, int mac_index); 63533f810b2SJeff Kirsher #endif 63633f810b2SJeff Kirsher 63733f810b2SJeff Kirsher #if defined(DEBUG) && !defined(BOOT) 63833f810b2SJeff Kirsher void dump_smt(struct s_smc *smc, struct smt_header *sm, char *text); 63933f810b2SJeff Kirsher #else 64033f810b2SJeff Kirsher #define dump_smt(smc,sm,text) 64133f810b2SJeff Kirsher #endif 64233f810b2SJeff Kirsher 6435671e8c1SJoe Perches #ifdef DEBUG 64433f810b2SJeff Kirsher void dump_hex(char *p, int len); 64533f810b2SJeff Kirsher #endif 64633f810b2SJeff Kirsher 64733f810b2SJeff Kirsher #endif /* PROTOTYP_INC */ 64833f810b2SJeff Kirsher 64933f810b2SJeff Kirsher /* PNMI default defines */ 65033f810b2SJeff Kirsher #ifndef PNMI_INIT 65133f810b2SJeff Kirsher #define PNMI_INIT(smc) /* Nothing */ 65233f810b2SJeff Kirsher #endif 65333f810b2SJeff Kirsher 65433f810b2SJeff Kirsher /* 65533f810b2SJeff Kirsher * SMT_PANIC defines 65633f810b2SJeff Kirsher */ 65733f810b2SJeff Kirsher #ifndef SMT_PANIC 65833f810b2SJeff Kirsher #define SMT_PANIC(smc,nr,msg) smt_panic (smc, msg) 65933f810b2SJeff Kirsher #endif 66033f810b2SJeff Kirsher 66133f810b2SJeff Kirsher #ifndef SMT_ERR_LOG 66233f810b2SJeff Kirsher #define SMT_ERR_LOG(smc,nr,msg) SMT_PANIC (smc, nr, msg) 66333f810b2SJeff Kirsher #endif 66433f810b2SJeff Kirsher 66533f810b2SJeff Kirsher #ifndef SMT_EBASE 66633f810b2SJeff Kirsher #define SMT_EBASE 100 66733f810b2SJeff Kirsher #endif 66833f810b2SJeff Kirsher 66933f810b2SJeff Kirsher #define SMT_E0100 SMT_EBASE + 0 67033f810b2SJeff Kirsher #define SMT_E0100_MSG "cfm FSM: invalid ce_type" 67133f810b2SJeff Kirsher #define SMT_E0101 SMT_EBASE + 1 67233f810b2SJeff Kirsher #define SMT_E0101_MSG "CEM: case ???" 67333f810b2SJeff Kirsher #define SMT_E0102 SMT_EBASE + 2 67433f810b2SJeff Kirsher #define SMT_E0102_MSG "CEM A: invalid state" 67533f810b2SJeff Kirsher #define SMT_E0103 SMT_EBASE + 3 67633f810b2SJeff Kirsher #define SMT_E0103_MSG "CEM B: invalid state" 67733f810b2SJeff Kirsher #define SMT_E0104 SMT_EBASE + 4 67833f810b2SJeff Kirsher #define SMT_E0104_MSG "CEM M: invalid state" 67933f810b2SJeff Kirsher #define SMT_E0105 SMT_EBASE + 5 68033f810b2SJeff Kirsher #define SMT_E0105_MSG "CEM S: invalid state" 68133f810b2SJeff Kirsher #define SMT_E0106 SMT_EBASE + 6 68233f810b2SJeff Kirsher #define SMT_E0106_MSG "CFM : invalid state" 68333f810b2SJeff Kirsher #define SMT_E0107 SMT_EBASE + 7 68433f810b2SJeff Kirsher #define SMT_E0107_MSG "ECM : invalid state" 68533f810b2SJeff Kirsher #define SMT_E0108 SMT_EBASE + 8 68633f810b2SJeff Kirsher #define SMT_E0108_MSG "prop_actions : NAC in DAS CFM" 68733f810b2SJeff Kirsher #define SMT_E0109 SMT_EBASE + 9 68833f810b2SJeff Kirsher #define SMT_E0109_MSG "ST2U.FM_SERRSF error in special frame" 68933f810b2SJeff Kirsher #define SMT_E0110 SMT_EBASE + 10 69033f810b2SJeff Kirsher #define SMT_E0110_MSG "ST2U.FM_SRFRCTOV recv. count. overflow" 69133f810b2SJeff Kirsher #define SMT_E0111 SMT_EBASE + 11 69233f810b2SJeff Kirsher #define SMT_E0111_MSG "ST2U.FM_SNFSLD NP & FORMAC simult. load" 69333f810b2SJeff Kirsher #define SMT_E0112 SMT_EBASE + 12 69433f810b2SJeff Kirsher #define SMT_E0112_MSG "ST2U.FM_SRCVFRM single-frame recv.-mode" 69533f810b2SJeff Kirsher #define SMT_E0113 SMT_EBASE + 13 69633f810b2SJeff Kirsher #define SMT_E0113_MSG "FPLUS: Buffer Memory Error" 69733f810b2SJeff Kirsher #define SMT_E0114 SMT_EBASE + 14 69833f810b2SJeff Kirsher #define SMT_E0114_MSG "ST2U.FM_SERRSF error in special frame" 69933f810b2SJeff Kirsher #define SMT_E0115 SMT_EBASE + 15 70033f810b2SJeff Kirsher #define SMT_E0115_MSG "ST3L: parity error in receive queue 2" 70133f810b2SJeff Kirsher #define SMT_E0116 SMT_EBASE + 16 70233f810b2SJeff Kirsher #define SMT_E0116_MSG "ST3L: parity error in receive queue 1" 70333f810b2SJeff Kirsher #define SMT_E0117 SMT_EBASE + 17 70433f810b2SJeff Kirsher #define SMT_E0117_MSG "E_SMT_001: RxD count for receive queue 1 = 0" 70533f810b2SJeff Kirsher #define SMT_E0118 SMT_EBASE + 18 70633f810b2SJeff Kirsher #define SMT_E0118_MSG "PCM : invalid state" 70733f810b2SJeff Kirsher #define SMT_E0119 SMT_EBASE + 19 70833f810b2SJeff Kirsher #define SMT_E0119_MSG "smt_add_para" 70933f810b2SJeff Kirsher #define SMT_E0120 SMT_EBASE + 20 71033f810b2SJeff Kirsher #define SMT_E0120_MSG "smt_set_para" 71133f810b2SJeff Kirsher #define SMT_E0121 SMT_EBASE + 21 71233f810b2SJeff Kirsher #define SMT_E0121_MSG "invalid event in dispatcher" 71333f810b2SJeff Kirsher #define SMT_E0122 SMT_EBASE + 22 71433f810b2SJeff Kirsher #define SMT_E0122_MSG "RMT : invalid state" 71533f810b2SJeff Kirsher #define SMT_E0123 SMT_EBASE + 23 71633f810b2SJeff Kirsher #define SMT_E0123_MSG "SBA: state machine has invalid state" 71733f810b2SJeff Kirsher #define SMT_E0124 SMT_EBASE + 24 71833f810b2SJeff Kirsher #define SMT_E0124_MSG "sba_free_session() called with NULL pointer" 71933f810b2SJeff Kirsher #define SMT_E0125 SMT_EBASE + 25 72033f810b2SJeff Kirsher #define SMT_E0125_MSG "SBA : invalid session pointer" 72133f810b2SJeff Kirsher #define SMT_E0126 SMT_EBASE + 26 72233f810b2SJeff Kirsher #define SMT_E0126_MSG "smt_free_mbuf() called with NULL pointer\n" 72333f810b2SJeff Kirsher #define SMT_E0127 SMT_EBASE + 27 72433f810b2SJeff Kirsher #define SMT_E0127_MSG "sizeof evcs" 72533f810b2SJeff Kirsher #define SMT_E0128 SMT_EBASE + 28 72633f810b2SJeff Kirsher #define SMT_E0128_MSG "evc->evc_cond_state = 0" 72733f810b2SJeff Kirsher #define SMT_E0129 SMT_EBASE + 29 72833f810b2SJeff Kirsher #define SMT_E0129_MSG "evc->evc_multiple = 0" 72933f810b2SJeff Kirsher #define SMT_E0130 SMT_EBASE + 30 73033f810b2SJeff Kirsher #define SMT_E0130_MSG write_mdr_warning 73133f810b2SJeff Kirsher #define SMT_E0131 SMT_EBASE + 31 73233f810b2SJeff Kirsher #define SMT_E0131_MSG cam_warning 73333f810b2SJeff Kirsher #define SMT_E0132 SMT_EBASE + 32 73433f810b2SJeff Kirsher #define SMT_E0132_MSG "ST1L.FM_SPCEPDx parity/coding error" 73533f810b2SJeff Kirsher #define SMT_E0133 SMT_EBASE + 33 73633f810b2SJeff Kirsher #define SMT_E0133_MSG "ST1L.FM_STBURx tx buffer underrun" 73733f810b2SJeff Kirsher #define SMT_E0134 SMT_EBASE + 34 73833f810b2SJeff Kirsher #define SMT_E0134_MSG "ST1L.FM_SPCEPDx parity error" 73933f810b2SJeff Kirsher #define SMT_E0135 SMT_EBASE + 35 74033f810b2SJeff Kirsher #define SMT_E0135_MSG "RMT: duplicate MAC address detected. Ring left!" 74133f810b2SJeff Kirsher #define SMT_E0136 SMT_EBASE + 36 74233f810b2SJeff Kirsher #define SMT_E0136_MSG "Elasticity Buffer hang-up" 74333f810b2SJeff Kirsher #define SMT_E0137 SMT_EBASE + 37 74433f810b2SJeff Kirsher #define SMT_E0137_MSG "SMT: queue overrun" 74533f810b2SJeff Kirsher #define SMT_E0138 SMT_EBASE + 38 74633f810b2SJeff Kirsher #define SMT_E0138_MSG "RMT: duplicate MAC address detected. Ring NOT left!" 74733f810b2SJeff Kirsher #endif /* _CMTDEF_ */ 748