📄 smctr.h
字号:
/* smctr.h: SMC Token Ring driver header for Linux * * Authors: * - Jay Schulist <jschlst@samba.org> */#ifndef __LINUX_SMCTR_H#define __LINUX_SMCTR_H#ifdef __KERNEL__#define MAX_TX_QUEUE 10#define SMC_HEADER_SIZE 14#define SMC_PAGE_OFFSET(X) (((unsigned long)(X) - tp->ram_access) & tp->page_offset_mask)#define INIT 0x0D#define RQ_ATTCH 0x10#define RQ_STATE 0x0F#define RQ_ADDR 0x0E#define CHG_PARM 0x0C#define RSP 0x00#define TX_FORWARD 0x09#define AC_FC_DAT ((3<<13) | 1)#define DAT 0x07#define RPT_NEW_MON 0x25#define RPT_SUA_CHG 0x26#define RPT_ACTIVE_ERR 0x28#define RPT_NN_INCMP 0x27#define RPT_ERROR 0x29#define RQ_INIT 0x20#define RPT_ATTCH 0x24#define RPT_STATE 0x23#define RPT_ADDR 0x22#define POSITIVE_ACK 0x0001#define A_FRAME_WAS_FORWARDED 0x8888#define GROUP_ADDRESS 0x2B#define PHYSICAL_DROP 0x0B#define AUTHORIZED_ACCESS_PRIORITY 0x07#define AUTHORIZED_FUNCTION_CLASS 0x06#define FUNCTIONAL_ADDRESS 0x2C#define RING_STATION_STATUS 0x29#define TRANSMIT_STATUS_CODE 0x2A#define IBM_PASS_SOURCE_ADDR 0x01#define AC_FC_RPT_TX_FORWARD ((0<<13) | 0)#define AC_FC_RPT_STATE ((0<<13) | 0)#define AC_FC_RPT_ADDR ((0<<13) | 0)#define CORRELATOR 0x09#define POSITIVE_ACK 0x0001 /* */#define E_MAC_DATA_INCOMPLETE 0x8001 /* not used */#define E_VECTOR_LENGTH_ERROR 0x8002 /* */#define E_UNRECOGNIZED_VECTOR_ID 0x8003 /* */#define E_INAPPROPRIATE_SOURCE_CLASS 0x8004 /* */#define E_SUB_VECTOR_LENGTH_ERROR 0x8005 /* */#define E_TRANSMIT_FORWARD_INVALID 0x8006 /* def. by IBM */#define E_MISSING_SUB_VECTOR 0x8007 /* */#define E_SUB_VECTOR_UNKNOWN 0x8008 /* */#define E_MAC_HEADER_TOO_LONG 0x8009 /* */#define E_FUNCTION_DISABLED 0x800A /* not used */#define A_FRAME_WAS_FORWARDED 0x8888 /* used by send_TX_FORWARD */#define UPSTREAM_NEIGHBOR_ADDRESS 0x02#define LOCAL_RING_NUMBER 0x03#define ASSIGN_PHYSICAL_DROP 0x04#define ERROR_TIMER_VALUE 0x05#define AUTHORIZED_FUNCTION_CLASS 0x06#define AUTHORIZED_ACCESS_PRIORITY 0x07#define CORRELATOR 0x09#define PHYSICAL_DROP 0x0B#define RESPONSE_CODE 0x20#define ADDRESS_MODIFER 0x21#define PRODUCT_INSTANCE_ID 0x22#define RING_STATION_VERSION_NUMBER 0x23#define WRAP_DATA 0x26#define FRAME_FORWARD 0x27#define STATION_IDENTIFER 0x28#define RING_STATION_STATUS 0x29#define TRANSMIT_STATUS_CODE 0x2A#define GROUP_ADDRESS 0x2B#define FUNCTIONAL_ADDRESS 0x2C#define F_NO_SUB_VECTORS_FOUND 0x0000#define F_UPSTREAM_NEIGHBOR_ADDRESS 0x0001#define F_LOCAL_RING_NUMBER 0x0002#define F_ASSIGN_PHYSICAL_DROP 0x0004#define F_ERROR_TIMER_VALUE 0x0008#define F_AUTHORIZED_FUNCTION_CLASS 0x0010#define F_AUTHORIZED_ACCESS_PRIORITY 0x0020#define F_CORRELATOR 0x0040#define F_PHYSICAL_DROP 0x0080#define F_RESPONSE_CODE 0x0100#define F_PRODUCT_INSTANCE_ID 0x0200#define F_RING_STATION_VERSION_NUMBER 0x0400#define F_STATION_IDENTIFER 0x0800#define F_RING_STATION_STATUS 0x1000#define F_GROUP_ADDRESS 0x2000#define F_FUNCTIONAL_ADDRESS 0x4000#define F_FRAME_FORWARD 0x8000#define R_INIT 0x00#define R_RQ_ATTCH_STATE_ADDR 0x00#define R_CHG_PARM 0x00#define R_TX_FORWARD F_FRAME_FORWARD#define UPSTREAM_NEIGHBOR_ADDRESS 0x02#define ADDRESS_MODIFER 0x21#define RING_STATION_VERSION_NUMBER 0x23#define PRODUCT_INSTANCE_ID 0x22#define RPT_TX_FORWARD 0x2A#define AC_FC_INIT (3<<13) | 0 /* */#define AC_FC_RQ_INIT ((3<<13) | 0) /* */#define AC_FC_RQ_ATTCH (3<<13) | 0 /* DC = SC of rx frame */#define AC_FC_RQ_STATE (3<<13) | 0 /* DC = SC of rx frame */#define AC_FC_RQ_ADDR (3<<13) | 0 /* DC = SC of rx frame */#define AC_FC_CHG_PARM (3<<13) | 0 /* */#define AC_FC_RSP (0<<13) | 0 /* DC = SC of rx frame */#define AC_FC_RPT_ATTCH (0<<13) | 0#define S_UPSTREAM_NEIGHBOR_ADDRESS 6 + 2#define S_LOCAL_RING_NUMBER 2 + 2#define S_ASSIGN_PHYSICAL_DROP 4 + 2#define S_ERROR_TIMER_VALUE 2 + 2#define S_AUTHORIZED_FUNCTION_CLASS 2 + 2#define S_AUTHORIZED_ACCESS_PRIORITY 2 + 2#define S_CORRELATOR 2 + 2#define S_PHYSICAL_DROP 4 + 2#define S_RESPONSE_CODE 4 + 2#define S_ADDRESS_MODIFER 2 + 2#define S_PRODUCT_INSTANCE_ID 18 + 2#define S_RING_STATION_VERSION_NUMBER 10 + 2#define S_STATION_IDENTIFER 6 + 2#define S_RING_STATION_STATUS 6 + 2#define S_GROUP_ADDRESS 4 + 2#define S_FUNCTIONAL_ADDRESS 4 + 2#define S_FRAME_FORWARD 252 + 2#define S_TRANSMIT_STATUS_CODE 2 + 2#define ISB_IMC_RES0 0x0000 /* */#define ISB_IMC_MAC_TYPE_3 0x0001 /* MAC_ARC_INDICATE */#define ISB_IMC_MAC_ERROR_COUNTERS 0x0002 /* */#define ISB_IMC_RES1 0x0003 /* */#define ISB_IMC_MAC_TYPE_2 0x0004 /* QUE_MAC_INDICATE */#define ISB_IMC_TX_FRAME 0x0005 /* */#define ISB_IMC_END_OF_TX_QUEUE 0x0006 /* */#define ISB_IMC_NON_MAC_RX_RESOURCE 0x0007 /* */#define ISB_IMC_MAC_RX_RESOURCE 0x0008 /* */#define ISB_IMC_NON_MAC_RX_FRAME 0x0009 /* */#define ISB_IMC_MAC_RX_FRAME 0x000A /* */#define ISB_IMC_TRC_FIFO_STATUS 0x000B /* */#define ISB_IMC_COMMAND_STATUS 0x000C /* */#define ISB_IMC_MAC_TYPE_1 0x000D /* Self Removed */#define ISB_IMC_TRC_INTRNL_TST_STATUS 0x000E /* */#define ISB_IMC_RES2 0x000F /* */#define NON_MAC_RX_RESOURCE_BW 0x10 /* shifted right 8 bits */#define NON_MAC_RX_RESOURCE_FW 0x20 /* shifted right 8 bits */#define NON_MAC_RX_RESOURCE_BE 0x40 /* shifted right 8 bits */#define NON_MAC_RX_RESOURCE_FE 0x80 /* shifted right 8 bits */#define RAW_NON_MAC_RX_RESOURCE_BW 0x1000 /* */#define RAW_NON_MAC_RX_RESOURCE_FW 0x2000 /* */#define RAW_NON_MAC_RX_RESOURCE_BE 0x4000 /* */#define RAW_NON_MAC_RX_RESOURCE_FE 0x8000 /* */#define MAC_RX_RESOURCE_BW 0x10 /* shifted right 8 bits */#define MAC_RX_RESOURCE_FW 0x20 /* shifted right 8 bits */#define MAC_RX_RESOURCE_BE 0x40 /* shifted right 8 bits */#define MAC_RX_RESOURCE_FE 0x80 /* shifted right 8 bits */#define RAW_MAC_RX_RESOURCE_BW 0x1000 /* */#define RAW_MAC_RX_RESOURCE_FW 0x2000 /* */#define RAW_MAC_RX_RESOURCE_BE 0x4000 /* */#define RAW_MAC_RX_RESOURCE_FE 0x8000 /* */#define TRC_FIFO_STATUS_TX_UNDERRUN 0x40 /* shifted right 8 bits */#define TRC_FIFO_STATUS_RX_OVERRUN 0x80 /* shifted right 8 bits */#define RAW_TRC_FIFO_STATUS_TX_UNDERRUN 0x4000 /* */#define RAW_TRC_FIFO_STATUS_RX_OVERRUN 0x8000 /* */#define CSR_CLRTINT 0x08#define MSB(X) ((__u8)((__u16) X >> 8))#define LSB(X) ((__u8)((__u16) X & 0xff))#define AC_FC_LOBE_MEDIA_TEST ((3<<13) | 0)#define S_WRAP_DATA 248 + 2 /* 500 + 2 */#define WRAP_DATA 0x26#define LOBE_MEDIA_TEST 0x08/* Destination Class (dc) */#define DC_MASK 0xF0#define DC_RS 0x00#define DC_CRS 0x40#define DC_RPS 0x50#define DC_REM 0x60/* Source Classes (sc) */#define SC_MASK 0x0F#define SC_RS 0x00#define SC_CRS 0x04#define SC_RPS 0x05#define SC_REM 0x06#define PR 0x11#define PR_PAGE_MASK 0x0C000#define MICROCHANNEL 0x0008#define INTERFACE_CHIP 0x0010#define BOARD_16BIT 0x0040#define PAGED_RAM 0x0080#define WD8115TA (TOKEN_MEDIA | MICROCHANNEL | INTERFACE_CHIP | PAGED_RAM)#define WD8115T (TOKEN_MEDIA | INTERFACE_CHIP | BOARD_16BIT | PAGED_RAM)#define BRD_ID_8316 0x50#define r587_SER 0x001#define SER_DIN 0x80#define SER_DOUT 0x40#define SER_CLK 0x20#define SER_ECS 0x10#define SER_E806 0x08#define SER_PNP 0x04#define SER_BIO 0x02#define SER_16B 0x01#define r587_IDR 0x004#define IDR_IRQ_MASK 0x0F0#define IDR_DCS_MASK 0x007#define IDR_RWS 0x008#define r587_BIO 0x003#define BIO_ENB 0x080#define BIO_MASK 0x03F#define r587_PCR 0x005#define PCR_RAMS 0x040#define NUM_ADDR_BITS 8#define ISA_MAX_ADDRESS 0x00ffffff#define SMCTR_MAX_ADAPTERS 7#define MC_TABLE_ENTRIES 16#define MAXFRAGMENTS 32#define CHIP_REV_MASK 0x3000#define MAX_TX_QS 8#define NUM_TX_QS_USED 3#define MAX_RX_QS 2#define NUM_RX_QS_USED 2#define INTEL_DATA_FORMAT 0x4000#define INTEL_ADDRESS_POINTER_FORMAT 0x8000#define PAGE_POINTER(X) ((((unsigned long)(X) - tp->ram_access) & tp->page_offset_mask) + tp->ram_access)#define SWAP_WORDS(X) (((X & 0xFFFF) << 16) | (X >> 16))#define INTERFACE_CHIP 0x0010 /* Soft Config Adapter */#define ADVANCED_FEATURES 0x0020 /* Adv. netw. interface features */#define BOARD_16BIT 0x0040 /* 16 bit capability */#define PAGED_RAM 0x0080 /* Adapter has paged RAM */#define PAGED_ROM 0x0100 /* Adapter has paged ROM */#define RAM_SIZE_UNKNOWN 0x0000 /* Unknown RAM size */#define RAM_SIZE_0K 0x0001 /* 0K RAM */#define RAM_SIZE_8K 0x0002 /* 8k RAM */#define RAM_SIZE_16K 0x0003 /* 16k RAM */#define RAM_SIZE_32K 0x0004 /* 32k RAM */#define RAM_SIZE_64K 0x0005 /* 64k RAM */#define RAM_SIZE_RESERVED_6 0x0006 /* Reserved RAM size */#define RAM_SIZE_RESERVED_7 0x0007 /* Reserved RAM size */#define RAM_SIZE_MASK 0x0007 /* Isolates RAM Size */#define TOKEN_MEDIA 0x0005#define BID_REG_0 0x00#define BID_REG_1 0x01#define BID_REG_2 0x02#define BID_REG_3 0x03#define BID_REG_4 0x04#define BID_REG_5 0x05#define BID_REG_6 0x06#define BID_REG_7 0x07#define BID_LAR_0 0x08#define BID_LAR_1 0x09#define BID_LAR_2 0x0A#define BID_LAR_3 0x0B#define BID_LAR_4 0x0C#define BID_LAR_5 0x0D#define BID_BOARD_ID_BYTE 0x0E#define BID_CHCKSM_BYTE 0x0F#define BID_LAR_OFFSET 0x08 #define BID_MSZ_583_BIT 0x08#define BID_SIXTEEN_BIT_BIT 0x01#define BID_BOARD_REV_MASK 0x1E#define BID_MEDIA_TYPE_BIT 0x01
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -