iPXE
Data Structures | Defines | Typedefs | Functions
tlan.h File Reference

Go to the source code of this file.

Data Structures

struct  tlan_adapter_entry

Defines

#define FALSE   0
#define TRUE   1
#define TLAN_MIN_FRAME_SIZE   64
#define TLAN_MAX_FRAME_SIZE   1600
#define TLAN_NUM_RX_LISTS   4
#define TLAN_NUM_TX_LISTS   2
#define TLAN_IGNORE   0
#define TLAN_RECORD   1
#define TLAN_DEBUG_GNRL   0x0001
#define TLAN_DEBUG_TX   0x0002
#define TLAN_DEBUG_RX   0x0004
#define TLAN_DEBUG_LIST   0x0008
#define TLAN_DEBUG_PROBE   0x0010
#define TX_TIMEOUT   (10*HZ) /* We need time for auto-neg */
#define MAX_TLAN_BOARDS   8 /* Max number of boards installed at a time */
#define PCI_DEVICE_ID_NETELLIGENT_10_T2   0xB012
#define PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100   0xB030
#define TLAN_ADAPTER_NONE   0x00000000
#define TLAN_ADAPTER_UNMANAGED_PHY   0x00000001
#define TLAN_ADAPTER_BIT_RATE_PHY   0x00000002
#define TLAN_ADAPTER_USE_INTERN_10   0x00000004
#define TLAN_ADAPTER_ACTIVITY_LED   0x00000008
#define TLAN_SPEED_DEFAULT   0
#define TLAN_SPEED_10   10
#define TLAN_SPEED_100   100
#define TLAN_DUPLEX_DEFAULT   0
#define TLAN_DUPLEX_HALF   1
#define TLAN_DUPLEX_FULL   2
#define EISA_ID   0xc80 /* EISA ID Registers */
#define EISA_ID0   0xc80 /* EISA ID Register 0 */
#define EISA_ID1   0xc81 /* EISA ID Register 1 */
#define EISA_ID2   0xc82 /* EISA ID Register 2 */
#define EISA_ID3   0xc83 /* EISA ID Register 3 */
#define EISA_CR   0xc84 /* EISA Control Register */
#define EISA_REG0   0xc88 /* EISA Configuration Register 0 */
#define EISA_REG1   0xc89 /* EISA Configuration Register 1 */
#define EISA_REG2   0xc8a /* EISA Configuration Register 2 */
#define EISA_REG3   0xc8f /* EISA Configuration Register 3 */
#define EISA_APROM   0xc90 /* Ethernet Address PROM */
#define TLAN_BUFFERS_PER_LIST   10
#define TLAN_LAST_BUFFER   0x80000000
#define TLAN_CSTAT_UNUSED   0x8000
#define TLAN_CSTAT_FRM_CMP   0x4000
#define TLAN_CSTAT_READY   0x3000
#define TLAN_CSTAT_EOC   0x0800
#define TLAN_CSTAT_RX_ERROR   0x0400
#define TLAN_CSTAT_PASS_CRC   0x0200
#define TLAN_CSTAT_DP_PR   0x0100
#define TLAN_PHY_MAX_ADDR   0x1F
#define TLAN_PHY_NONE   0x20
#define TLAN_TIMER_LINK_BEAT   1
#define TLAN_TIMER_ACTIVITY   2
#define TLAN_TIMER_PHY_PDOWN   3
#define TLAN_TIMER_PHY_PUP   4
#define TLAN_TIMER_PHY_RESET   5
#define TLAN_TIMER_PHY_START_LINK   6
#define TLAN_TIMER_PHY_FINISH_AN   7
#define TLAN_TIMER_FINISH_RESET   8
#define TLAN_TIMER_ACT_DELAY   (HZ/10)
#define TLAN_EEPROM_ACK   0
#define TLAN_EEPROM_STOP   1
#define TLAN_HOST_CMD   0x00
#define TLAN_HC_GO   0x80000000
#define TLAN_HC_STOP   0x40000000
#define TLAN_HC_ACK   0x20000000
#define TLAN_HC_CS_MASK   0x1FE00000
#define TLAN_HC_EOC   0x00100000
#define TLAN_HC_RT   0x00080000
#define TLAN_HC_NES   0x00040000
#define TLAN_HC_AD_RST   0x00008000
#define TLAN_HC_LD_TMR   0x00004000
#define TLAN_HC_LD_THR   0x00002000
#define TLAN_HC_REQ_INT   0x00001000
#define TLAN_HC_INT_OFF   0x00000800
#define TLAN_HC_INT_ON   0x00000400
#define TLAN_HC_AC_MASK   0x000000FF
#define TLAN_CH_PARM   0x04
#define TLAN_DIO_ADR   0x08
#define TLAN_DA_ADR_INC   0x8000
#define TLAN_DA_RAM_ADR   0x4000
#define TLAN_HOST_INT   0x0A
#define TLAN_HI_IV_MASK   0x1FE0
#define TLAN_HI_IT_MASK   0x001C
#define TLAN_DIO_DATA   0x0C
#define TLAN_NET_CMD   0x00
#define TLAN_NET_CMD_NRESET   0x80
#define TLAN_NET_CMD_NWRAP   0x40
#define TLAN_NET_CMD_CSF   0x20
#define TLAN_NET_CMD_CAF   0x10
#define TLAN_NET_CMD_NOBRX   0x08
#define TLAN_NET_CMD_DUPLEX   0x04
#define TLAN_NET_CMD_TRFRAM   0x02
#define TLAN_NET_CMD_TXPACE   0x01
#define TLAN_NET_SIO   0x01
#define TLAN_NET_SIO_MINTEN   0x80
#define TLAN_NET_SIO_ECLOK   0x40
#define TLAN_NET_SIO_ETXEN   0x20
#define TLAN_NET_SIO_EDATA   0x10
#define TLAN_NET_SIO_NMRST   0x08
#define TLAN_NET_SIO_MCLK   0x04
#define TLAN_NET_SIO_MTXEN   0x02
#define TLAN_NET_SIO_MDATA   0x01
#define TLAN_NET_STS   0x02
#define TLAN_NET_STS_MIRQ   0x80
#define TLAN_NET_STS_HBEAT   0x40
#define TLAN_NET_STS_TXSTOP   0x20
#define TLAN_NET_STS_RXSTOP   0x10
#define TLAN_NET_STS_RSRVD   0x0F
#define TLAN_NET_MASK   0x03
#define TLAN_NET_MASK_MASK7   0x80
#define TLAN_NET_MASK_MASK6   0x40
#define TLAN_NET_MASK_MASK5   0x20
#define TLAN_NET_MASK_MASK4   0x10
#define TLAN_NET_MASK_RSRVD   0x0F
#define TLAN_NET_CONFIG   0x04
#define TLAN_NET_CFG_RCLK   0x8000
#define TLAN_NET_CFG_TCLK   0x4000
#define TLAN_NET_CFG_BIT   0x2000
#define TLAN_NET_CFG_RXCRC   0x1000
#define TLAN_NET_CFG_PEF   0x0800
#define TLAN_NET_CFG_1FRAG   0x0400
#define TLAN_NET_CFG_1CHAN   0x0200
#define TLAN_NET_CFG_MTEST   0x0100
#define TLAN_NET_CFG_PHY_EN   0x0080
#define TLAN_NET_CFG_MSMASK   0x007F
#define TLAN_MAN_TEST   0x06
#define TLAN_DEF_VENDOR_ID   0x08
#define TLAN_DEF_DEVICE_ID   0x0A
#define TLAN_DEF_REVISION   0x0C
#define TLAN_DEF_SUBCLASS   0x0D
#define TLAN_DEF_MIN_LAT   0x0E
#define TLAN_DEF_MAX_LAT   0x0F
#define TLAN_AREG_0   0x10
#define TLAN_AREG_1   0x16
#define TLAN_AREG_2   0x1C
#define TLAN_AREG_3   0x22
#define TLAN_HASH_1   0x28
#define TLAN_HASH_2   0x2C
#define TLAN_GOOD_TX_FRMS   0x30
#define TLAN_TX_UNDERUNS   0x33
#define TLAN_GOOD_RX_FRMS   0x34
#define TLAN_RX_OVERRUNS   0x37
#define TLAN_DEFERRED_TX   0x38
#define TLAN_CRC_ERRORS   0x3A
#define TLAN_CODE_ERRORS   0x3B
#define TLAN_MULTICOL_FRMS   0x3C
#define TLAN_SINGLECOL_FRMS   0x3E
#define TLAN_EXCESSCOL_FRMS   0x40
#define TLAN_LATE_COLS   0x41
#define TLAN_CARRIER_LOSS   0x42
#define TLAN_ACOMMIT   0x43
#define TLAN_LED_REG   0x44
#define TLAN_LED_ACT   0x10
#define TLAN_LED_LINK   0x01
#define TLAN_BSIZE_REG   0x45
#define TLAN_MAX_RX   0x46
#define TLAN_INT_DIS   0x48
#define TLAN_ID_TX_EOC   0x04
#define TLAN_ID_RX_EOF   0x02
#define TLAN_ID_RX_EOC   0x01
#define TLAN_INT_NUMBER_OF_INTS   8
#define TLAN_INT_NONE   0x0000
#define TLAN_INT_TX_EOF   0x0001
#define TLAN_INT_STAT_OVERFLOW   0x0002
#define TLAN_INT_RX_EOF   0x0003
#define TLAN_INT_DUMMY   0x0004
#define TLAN_INT_TX_EOC   0x0005
#define TLAN_INT_STATUS_CHECK   0x0006
#define TLAN_INT_RX_EOC   0x0007
#define TLAN_TLPHY_ID   0x10
#define TLAN_TLPHY_CTL   0x11
#define TLAN_TC_IGLINK   0x8000
#define TLAN_TC_SWAPOL   0x4000
#define TLAN_TC_AUISEL   0x2000
#define TLAN_TC_SQEEN   0x1000
#define TLAN_TC_MTEST   0x0800
#define TLAN_TC_RESERVED   0x07F8
#define TLAN_TC_NFEW   0x0004
#define TLAN_TC_INTEN   0x0002
#define TLAN_TC_TINT   0x0001
#define TLAN_TLPHY_STS   0x12
#define TLAN_TS_MINT   0x8000
#define TLAN_TS_PHOK   0x4000
#define TLAN_TS_POLOK   0x2000
#define TLAN_TS_TPENERGY   0x1000
#define TLAN_TS_RESERVED   0x0FFF
#define TLAN_TLPHY_PAR   0x19
#define TLAN_PHY_CIM_STAT   0x0020
#define TLAN_PHY_SPEED_100   0x0040
#define TLAN_PHY_DUPLEX_FULL   0x0080
#define TLAN_PHY_AN_EN_STAT   0x0400
#define NAT_SEM_ID1   0x2000
#define NAT_SEM_ID2   0x5C01
#define LEVEL1_ID1   0x7810
#define LEVEL1_ID2   0x0000
#define CIRC_INC(a, b)   if ( ++a >= b ) a = 0
#define TLan_ClearBit(bit, port)   outb_p(inb_p(port) & ~bit, port)
#define TLan_GetBit(bit, port)   ((int) (inb_p(port) & bit))
#define TLan_SetBit(bit, port)   outb_p(inb_p(port) | bit, port)
#define XOR8(a, b, c, d, e, f, g, h)   xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) )
#define DA(a, bit)   ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) )

Typedefs

typedef struct tlan_adapter_entry TLanAdapterEntry

Functions

 FILE_LICENCE (GPL2_OR_LATER)
static u8 TLan_DioRead8 (u16 base_addr, u16 internal_addr)
static u16 TLan_DioRead16 (u16 base_addr, u16 internal_addr)
static u32 TLan_DioRead32 (u16 base_addr, u16 internal_addr)
static void TLan_DioWrite8 (u16 base_addr, u16 internal_addr, u8 data)
static void TLan_DioWrite16 (u16 base_addr, u16 internal_addr, u16 data)
static void TLan_DioWrite32 (u16 base_addr, u16 internal_addr, u32 data)
static u32 xor (u32 a, u32 b)
static u32 TLan_HashFunc (u8 *a)

Define Documentation

#define FALSE   0
#define TRUE   1
#define TLAN_MIN_FRAME_SIZE   64

Definition at line 48 of file tlan.h.

#define TLAN_MAX_FRAME_SIZE   1600

Definition at line 49 of file tlan.h.

Referenced by refill_rx(), tlan_poll(), TLan_ResetLists(), and tlan_transmit().

#define TLAN_NUM_RX_LISTS   4

Definition at line 51 of file tlan.h.

Referenced by refill_rx(), tlan_poll(), and TLan_ResetLists().

#define TLAN_NUM_TX_LISTS   2

Definition at line 52 of file tlan.h.

Referenced by refill_rx(), TLan_ResetLists(), and tlan_transmit().

#define TLAN_IGNORE   0

Definition at line 54 of file tlan.h.

#define TLAN_RECORD   1

Definition at line 55 of file tlan.h.

#define TLAN_DEBUG_GNRL   0x0001

Definition at line 59 of file tlan.h.

#define TLAN_DEBUG_TX   0x0002

Definition at line 60 of file tlan.h.

#define TLAN_DEBUG_RX   0x0004

Definition at line 61 of file tlan.h.

#define TLAN_DEBUG_LIST   0x0008

Definition at line 62 of file tlan.h.

#define TLAN_DEBUG_PROBE   0x0010

Definition at line 63 of file tlan.h.

#define TX_TIMEOUT   (10*HZ) /* We need time for auto-neg */

Definition at line 65 of file tlan.h.

#define MAX_TLAN_BOARDS   8 /* Max number of boards installed at a time */

Definition at line 66 of file tlan.h.

#define PCI_DEVICE_ID_NETELLIGENT_10_T2   0xB012

Definition at line 74 of file tlan.h.

Definition at line 75 of file tlan.h.

#define TLAN_ADAPTER_NONE   0x00000000

Definition at line 94 of file tlan.h.

#define TLAN_ADAPTER_UNMANAGED_PHY   0x00000001

Definition at line 95 of file tlan.h.

Referenced by TLan_FinishReset(), TLan_PhyDetect(), and TLan_ResetAdapter().

#define TLAN_ADAPTER_BIT_RATE_PHY   0x00000002

Definition at line 96 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_ADAPTER_USE_INTERN_10   0x00000004

Definition at line 97 of file tlan.h.

Referenced by TLan_PhyFinishAutoNeg(), and TLan_PhyPowerDown().

#define TLAN_ADAPTER_ACTIVITY_LED   0x00000008

Definition at line 98 of file tlan.h.

#define TLAN_SPEED_DEFAULT   0

Definition at line 100 of file tlan.h.

#define TLAN_SPEED_10   10

Definition at line 101 of file tlan.h.

Referenced by TLan_PhyStartLink().

#define TLAN_SPEED_100   100

Definition at line 102 of file tlan.h.

Referenced by TLan_PhyStartLink().

#define TLAN_DUPLEX_DEFAULT   0

Definition at line 104 of file tlan.h.

#define TLAN_DUPLEX_HALF   1

Definition at line 105 of file tlan.h.

Referenced by TLan_PhyStartLink().

#define TLAN_DUPLEX_FULL   2

Definition at line 106 of file tlan.h.

Referenced by TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

#define EISA_ID   0xc80 /* EISA ID Registers */

Definition at line 115 of file tlan.h.

#define EISA_ID0   0xc80 /* EISA ID Register 0 */

Definition at line 116 of file tlan.h.

#define EISA_ID1   0xc81 /* EISA ID Register 1 */

Definition at line 117 of file tlan.h.

#define EISA_ID2   0xc82 /* EISA ID Register 2 */

Definition at line 118 of file tlan.h.

#define EISA_ID3   0xc83 /* EISA ID Register 3 */

Definition at line 119 of file tlan.h.

#define EISA_CR   0xc84 /* EISA Control Register */

Definition at line 120 of file tlan.h.

#define EISA_REG0   0xc88 /* EISA Configuration Register 0 */

Definition at line 121 of file tlan.h.

#define EISA_REG1   0xc89 /* EISA Configuration Register 1 */

Definition at line 122 of file tlan.h.

#define EISA_REG2   0xc8a /* EISA Configuration Register 2 */

Definition at line 123 of file tlan.h.

#define EISA_REG3   0xc8f /* EISA Configuration Register 3 */

Definition at line 124 of file tlan.h.

#define EISA_APROM   0xc90 /* Ethernet Address PROM */

Definition at line 125 of file tlan.h.

#define TLAN_BUFFERS_PER_LIST   10

Definition at line 134 of file tlan.h.

#define TLAN_LAST_BUFFER   0x80000000

Definition at line 135 of file tlan.h.

Referenced by TLan_ResetLists(), and tlan_transmit().

#define TLAN_CSTAT_UNUSED   0x8000

Definition at line 136 of file tlan.h.

Referenced by TLan_ResetLists(), and tlan_transmit().

#define TLAN_CSTAT_FRM_CMP   0x4000

Definition at line 137 of file tlan.h.

Referenced by tlan_poll(), and tlan_transmit().

#define TLAN_CSTAT_READY   0x3000

Definition at line 138 of file tlan.h.

Referenced by refill_rx(), tlan_poll(), TLan_ResetLists(), and tlan_transmit().

#define TLAN_CSTAT_EOC   0x0800

Definition at line 139 of file tlan.h.

Referenced by tlan_poll(), and tlan_transmit().

#define TLAN_CSTAT_RX_ERROR   0x0400

Definition at line 140 of file tlan.h.

#define TLAN_CSTAT_PASS_CRC   0x0200

Definition at line 141 of file tlan.h.

#define TLAN_CSTAT_DP_PR   0x0100

Definition at line 142 of file tlan.h.

#define TLAN_PHY_MAX_ADDR   0x1F

Definition at line 154 of file tlan.h.

Referenced by TLan_PhyDetect().

#define TLAN_PHY_NONE   0x20

Definition at line 155 of file tlan.h.

Referenced by TLan_PhyDetect(), and TLan_PhyPowerDown().

#define TLAN_TIMER_LINK_BEAT   1

Definition at line 164 of file tlan.h.

#define TLAN_TIMER_ACTIVITY   2

Definition at line 165 of file tlan.h.

#define TLAN_TIMER_PHY_PDOWN   3

Definition at line 166 of file tlan.h.

#define TLAN_TIMER_PHY_PUP   4

Definition at line 167 of file tlan.h.

#define TLAN_TIMER_PHY_RESET   5

Definition at line 168 of file tlan.h.

#define TLAN_TIMER_PHY_START_LINK   6

Definition at line 169 of file tlan.h.

#define TLAN_TIMER_PHY_FINISH_AN   7

Definition at line 170 of file tlan.h.

#define TLAN_TIMER_FINISH_RESET   8

Definition at line 171 of file tlan.h.

#define TLAN_TIMER_ACT_DELAY   (HZ/10)

Definition at line 173 of file tlan.h.

#define TLAN_EEPROM_ACK   0

Definition at line 183 of file tlan.h.

Referenced by TLan_EeReadByte().

#define TLAN_EEPROM_STOP   1

Definition at line 184 of file tlan.h.

Referenced by TLan_EeReadByte().

#define TLAN_HOST_CMD   0x00
#define TLAN_HC_GO   0x80000000

Definition at line 195 of file tlan.h.

Referenced by TLan_FinishReset(), tlan_poll(), and tlan_transmit().

#define TLAN_HC_STOP   0x40000000

Definition at line 196 of file tlan.h.

#define TLAN_HC_ACK   0x20000000

Definition at line 197 of file tlan.h.

Referenced by tlan_poll(), and tlan_transmit().

#define TLAN_HC_CS_MASK   0x1FE00000

Definition at line 198 of file tlan.h.

#define TLAN_HC_EOC   0x00100000

Definition at line 199 of file tlan.h.

#define TLAN_HC_RT   0x00080000

Definition at line 200 of file tlan.h.

Referenced by TLan_FinishReset(), and tlan_poll().

#define TLAN_HC_NES   0x00040000

Definition at line 201 of file tlan.h.

#define TLAN_HC_AD_RST   0x00008000

Definition at line 202 of file tlan.h.

Referenced by tlan_disable(), and TLan_ResetAdapter().

#define TLAN_HC_LD_TMR   0x00004000

Definition at line 203 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_HC_LD_THR   0x00002000

Definition at line 204 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_HC_REQ_INT   0x00001000

Definition at line 205 of file tlan.h.

#define TLAN_HC_INT_OFF   0x00000800

Definition at line 206 of file tlan.h.

Referenced by tlan_probe(), and TLan_ResetAdapter().

#define TLAN_HC_INT_ON   0x00000400

Definition at line 207 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_HC_AC_MASK   0x000000FF

Definition at line 208 of file tlan.h.

#define TLAN_CH_PARM   0x04

Definition at line 209 of file tlan.h.

Referenced by TLan_FinishReset(), tlan_poll(), and tlan_transmit().

#define TLAN_DIO_ADR   0x08
#define TLAN_DA_ADR_INC   0x8000

Definition at line 211 of file tlan.h.

#define TLAN_DA_RAM_ADR   0x4000

Definition at line 212 of file tlan.h.

#define TLAN_HOST_INT   0x0A

Definition at line 213 of file tlan.h.

Referenced by tlan_poll(), and tlan_transmit().

#define TLAN_HI_IV_MASK   0x1FE0

Definition at line 214 of file tlan.h.

#define TLAN_HI_IT_MASK   0x001C

Definition at line 215 of file tlan.h.

#define TLAN_DIO_DATA   0x0C
#define TLAN_NET_CMD   0x00

Definition at line 221 of file tlan.h.

Referenced by TLan_FinishReset(), and TLan_SetMulticastList().

#define TLAN_NET_CMD_NRESET   0x80

Definition at line 222 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_CMD_NWRAP   0x40

Definition at line 223 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_CMD_CSF   0x20

Definition at line 224 of file tlan.h.

#define TLAN_NET_CMD_CAF   0x10

Definition at line 225 of file tlan.h.

Referenced by TLan_SetMulticastList().

#define TLAN_NET_CMD_NOBRX   0x08

Definition at line 226 of file tlan.h.

#define TLAN_NET_CMD_DUPLEX   0x04

Definition at line 227 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_CMD_TRFRAM   0x02

Definition at line 228 of file tlan.h.

#define TLAN_NET_CMD_TXPACE   0x01

Definition at line 229 of file tlan.h.

#define TLAN_NET_SIO   0x01
#define TLAN_NET_SIO_MINTEN   0x80

Definition at line 231 of file tlan.h.

Referenced by TLan_FinishReset(), TLan_MiiReadReg(), and TLan_MiiWriteReg().

#define TLAN_NET_SIO_ECLOK   0x40

Definition at line 232 of file tlan.h.

Referenced by TLan_EeReceiveByte(), TLan_EeSendByte(), and TLan_EeSendStart().

#define TLAN_NET_SIO_ETXEN   0x20

Definition at line 233 of file tlan.h.

Referenced by TLan_EeReceiveByte(), TLan_EeSendByte(), and TLan_EeSendStart().

#define TLAN_NET_SIO_EDATA   0x10

Definition at line 234 of file tlan.h.

Referenced by TLan_EeReceiveByte(), TLan_EeSendByte(), and TLan_EeSendStart().

#define TLAN_NET_SIO_NMRST   0x08

Definition at line 235 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_NET_SIO_MCLK   0x04

Definition at line 236 of file tlan.h.

Referenced by TLan_MiiReadReg(), TLan_MiiSendData(), TLan_MiiSync(), and TLan_MiiWriteReg().

#define TLAN_NET_SIO_MTXEN   0x02

Definition at line 237 of file tlan.h.

Referenced by TLan_MiiReadReg(), TLan_MiiSendData(), and TLan_MiiSync().

#define TLAN_NET_SIO_MDATA   0x01

Definition at line 238 of file tlan.h.

Referenced by TLan_MiiReadReg(), and TLan_MiiSendData().

#define TLAN_NET_STS   0x02

Definition at line 239 of file tlan.h.

#define TLAN_NET_STS_MIRQ   0x80

Definition at line 240 of file tlan.h.

#define TLAN_NET_STS_HBEAT   0x40

Definition at line 241 of file tlan.h.

#define TLAN_NET_STS_TXSTOP   0x20

Definition at line 242 of file tlan.h.

#define TLAN_NET_STS_RXSTOP   0x10

Definition at line 243 of file tlan.h.

#define TLAN_NET_STS_RSRVD   0x0F

Definition at line 244 of file tlan.h.

#define TLAN_NET_MASK   0x03

Definition at line 245 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_MASK_MASK7   0x80

Definition at line 246 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_MASK_MASK6   0x40

Definition at line 247 of file tlan.h.

#define TLAN_NET_MASK_MASK5   0x20

Definition at line 248 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_MASK_MASK4   0x10

Definition at line 249 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_NET_MASK_RSRVD   0x0F

Definition at line 250 of file tlan.h.

#define TLAN_NET_CONFIG   0x04

Definition at line 251 of file tlan.h.

Referenced by TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

#define TLAN_NET_CFG_RCLK   0x8000

Definition at line 252 of file tlan.h.

#define TLAN_NET_CFG_TCLK   0x4000

Definition at line 253 of file tlan.h.

#define TLAN_NET_CFG_BIT   0x2000

Definition at line 254 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_NET_CFG_RXCRC   0x1000

Definition at line 255 of file tlan.h.

#define TLAN_NET_CFG_PEF   0x0800

Definition at line 256 of file tlan.h.

#define TLAN_NET_CFG_1FRAG   0x0400

Definition at line 257 of file tlan.h.

Referenced by TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

#define TLAN_NET_CFG_1CHAN   0x0200

Definition at line 258 of file tlan.h.

Referenced by TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

#define TLAN_NET_CFG_MTEST   0x0100

Definition at line 259 of file tlan.h.

#define TLAN_NET_CFG_PHY_EN   0x0080

Definition at line 260 of file tlan.h.

Referenced by TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

#define TLAN_NET_CFG_MSMASK   0x007F

Definition at line 261 of file tlan.h.

#define TLAN_MAN_TEST   0x06

Definition at line 262 of file tlan.h.

#define TLAN_DEF_VENDOR_ID   0x08

Definition at line 263 of file tlan.h.

#define TLAN_DEF_DEVICE_ID   0x0A

Definition at line 264 of file tlan.h.

#define TLAN_DEF_REVISION   0x0C

Definition at line 265 of file tlan.h.

Referenced by tlan_probe().

#define TLAN_DEF_SUBCLASS   0x0D

Definition at line 266 of file tlan.h.

#define TLAN_DEF_MIN_LAT   0x0E

Definition at line 267 of file tlan.h.

#define TLAN_DEF_MAX_LAT   0x0F

Definition at line 268 of file tlan.h.

#define TLAN_AREG_0   0x10

Definition at line 269 of file tlan.h.

Referenced by TLan_ResetAdapter(), and TLan_SetMac().

#define TLAN_AREG_1   0x16

Definition at line 270 of file tlan.h.

#define TLAN_AREG_2   0x1C

Definition at line 271 of file tlan.h.

#define TLAN_AREG_3   0x22

Definition at line 272 of file tlan.h.

#define TLAN_HASH_1   0x28

Definition at line 273 of file tlan.h.

Referenced by TLan_SetMulticastList().

#define TLAN_HASH_2   0x2C

Definition at line 274 of file tlan.h.

Referenced by TLan_ResetAdapter(), and TLan_SetMulticastList().

#define TLAN_GOOD_TX_FRMS   0x30

Definition at line 275 of file tlan.h.

#define TLAN_TX_UNDERUNS   0x33

Definition at line 276 of file tlan.h.

#define TLAN_GOOD_RX_FRMS   0x34

Definition at line 277 of file tlan.h.

#define TLAN_RX_OVERRUNS   0x37

Definition at line 278 of file tlan.h.

#define TLAN_DEFERRED_TX   0x38

Definition at line 279 of file tlan.h.

#define TLAN_CRC_ERRORS   0x3A

Definition at line 280 of file tlan.h.

#define TLAN_CODE_ERRORS   0x3B

Definition at line 281 of file tlan.h.

#define TLAN_MULTICOL_FRMS   0x3C

Definition at line 282 of file tlan.h.

#define TLAN_SINGLECOL_FRMS   0x3E

Definition at line 283 of file tlan.h.

#define TLAN_EXCESSCOL_FRMS   0x40

Definition at line 284 of file tlan.h.

#define TLAN_LATE_COLS   0x41

Definition at line 285 of file tlan.h.

#define TLAN_CARRIER_LOSS   0x42

Definition at line 286 of file tlan.h.

#define TLAN_ACOMMIT   0x43

Definition at line 287 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_LED_REG   0x44

Definition at line 288 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_LED_ACT   0x10

Definition at line 289 of file tlan.h.

#define TLAN_LED_LINK   0x01

Definition at line 290 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_BSIZE_REG   0x45

Definition at line 291 of file tlan.h.

#define TLAN_MAX_RX   0x46

Definition at line 292 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_INT_DIS   0x48

Definition at line 293 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_ID_TX_EOC   0x04

Definition at line 294 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_ID_RX_EOF   0x02

Definition at line 295 of file tlan.h.

#define TLAN_ID_RX_EOC   0x01

Definition at line 296 of file tlan.h.

Referenced by TLan_ResetAdapter().

#define TLAN_INT_NUMBER_OF_INTS   8

Definition at line 302 of file tlan.h.

#define TLAN_INT_NONE   0x0000

Definition at line 304 of file tlan.h.

#define TLAN_INT_TX_EOF   0x0001

Definition at line 305 of file tlan.h.

#define TLAN_INT_STAT_OVERFLOW   0x0002

Definition at line 306 of file tlan.h.

#define TLAN_INT_RX_EOF   0x0003

Definition at line 307 of file tlan.h.

#define TLAN_INT_DUMMY   0x0004

Definition at line 308 of file tlan.h.

#define TLAN_INT_TX_EOC   0x0005

Definition at line 309 of file tlan.h.

#define TLAN_INT_STATUS_CHECK   0x0006

Definition at line 310 of file tlan.h.

#define TLAN_INT_RX_EOC   0x0007

Definition at line 311 of file tlan.h.

#define TLAN_TLPHY_ID   0x10

Definition at line 319 of file tlan.h.

#define TLAN_TLPHY_CTL   0x11

Definition at line 320 of file tlan.h.

Referenced by TLan_FinishReset(), and TLan_PhyStartLink().

#define TLAN_TC_IGLINK   0x8000

Definition at line 321 of file tlan.h.

#define TLAN_TC_SWAPOL   0x4000

Definition at line 322 of file tlan.h.

#define TLAN_TC_AUISEL   0x2000

Definition at line 323 of file tlan.h.

Referenced by TLan_PhyStartLink().

#define TLAN_TC_SQEEN   0x1000

Definition at line 324 of file tlan.h.

#define TLAN_TC_MTEST   0x0800

Definition at line 325 of file tlan.h.

#define TLAN_TC_RESERVED   0x07F8

Definition at line 326 of file tlan.h.

#define TLAN_TC_NFEW   0x0004

Definition at line 327 of file tlan.h.

#define TLAN_TC_INTEN   0x0002

Definition at line 328 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_TC_TINT   0x0001

Definition at line 329 of file tlan.h.

#define TLAN_TLPHY_STS   0x12

Definition at line 330 of file tlan.h.

#define TLAN_TS_MINT   0x8000

Definition at line 331 of file tlan.h.

#define TLAN_TS_PHOK   0x4000

Definition at line 332 of file tlan.h.

#define TLAN_TS_POLOK   0x2000

Definition at line 333 of file tlan.h.

#define TLAN_TS_TPENERGY   0x1000

Definition at line 334 of file tlan.h.

#define TLAN_TS_RESERVED   0x0FFF

Definition at line 335 of file tlan.h.

#define TLAN_TLPHY_PAR   0x19

Definition at line 336 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_PHY_CIM_STAT   0x0020

Definition at line 337 of file tlan.h.

#define TLAN_PHY_SPEED_100   0x0040

Definition at line 338 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_PHY_DUPLEX_FULL   0x0080

Definition at line 339 of file tlan.h.

Referenced by TLan_FinishReset().

#define TLAN_PHY_AN_EN_STAT   0x0400

Definition at line 340 of file tlan.h.

Referenced by TLan_FinishReset().

#define NAT_SEM_ID1   0x2000

Definition at line 343 of file tlan.h.

Referenced by TLan_FinishReset().

#define NAT_SEM_ID2   0x5C01

Definition at line 344 of file tlan.h.

Referenced by TLan_FinishReset().

#define LEVEL1_ID1   0x7810

Definition at line 345 of file tlan.h.

#define LEVEL1_ID2   0x0000

Definition at line 346 of file tlan.h.

#define CIRC_INC (   a,
 
)    if ( ++a >= b ) a = 0

Definition at line 348 of file tlan.h.

Referenced by tlan_transmit().

#define TLan_ClearBit (   bit,
  port 
)    outb_p(inb_p(port) & ~bit, port)
#define TLan_GetBit (   bit,
  port 
)    ((int) (inb_p(port) & bit))
#define TLan_SetBit (   bit,
  port 
)    outb_p(inb_p(port) | bit, port)
#define XOR8 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h 
)    xor( a, xor( b, xor( c, xor( d, xor( e, xor( f, xor( g, h ) ) ) ) ) ) )

Definition at line 462 of file tlan.h.

Referenced by TLan_HashFunc().

#define DA (   a,
  bit 
)    ( ( (u8) a[bit/8] ) & ( (u8) ( 1 << bit%8 ) ) )

Definition at line 463 of file tlan.h.

Referenced by TLan_HashFunc().


Typedef Documentation


Function Documentation

FILE_LICENCE ( GPL2_OR_LATER  )
static u8 TLan_DioRead8 ( u16  base_addr,
u16  internal_addr 
) [inline, static]

Definition at line 352 of file tlan.h.

References inb(), outw(), TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_FinishReset(), tlan_probe(), and TLan_SetMulticastList().

{
        outw(internal_addr, base_addr + TLAN_DIO_ADR);
        return (inb((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x3)));

}                               /* TLan_DioRead8 */
static u16 TLan_DioRead16 ( u16  base_addr,
u16  internal_addr 
) [inline, static]

Definition at line 362 of file tlan.h.

References inw(), outw(), TLAN_DIO_ADR, and TLAN_DIO_DATA.

{
        outw(internal_addr, base_addr + TLAN_DIO_ADR);
        return (inw((base_addr + TLAN_DIO_DATA) + (internal_addr & 0x2)));

}                               /* TLan_DioRead16 */
static u32 TLan_DioRead32 ( u16  base_addr,
u16  internal_addr 
) [inline, static]

Definition at line 372 of file tlan.h.

References inl(), outw(), TLAN_DIO_ADR, and TLAN_DIO_DATA.

{
        outw(internal_addr, base_addr + TLAN_DIO_ADR);
        return (inl(base_addr + TLAN_DIO_DATA));

}                               /* TLan_DioRead32 */
static void TLan_DioWrite8 ( u16  base_addr,
u16  internal_addr,
u8  data 
) [inline, static]

Definition at line 382 of file tlan.h.

References outb(), outw(), TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_FinishReset(), TLan_ResetAdapter(), TLan_SetMac(), and TLan_SetMulticastList().

{
        outw(internal_addr, base_addr + TLAN_DIO_ADR);
        outb(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x3));

}
static void TLan_DioWrite16 ( u16  base_addr,
u16  internal_addr,
u16  data 
) [inline, static]

Definition at line 392 of file tlan.h.

References outw(), TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_FinishReset(), TLan_PhyFinishAutoNeg(), TLan_PhyStartLink(), and TLan_ResetAdapter().

{
        outw(internal_addr, base_addr + TLAN_DIO_ADR);
        outw(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2));

}
static void TLan_DioWrite32 ( u16  base_addr,
u16  internal_addr,
u32  data 
) [inline, static]

Definition at line 402 of file tlan.h.

References outl(), outw(), TLAN_DIO_ADR, and TLAN_DIO_DATA.

Referenced by TLan_ResetAdapter(), and TLan_SetMulticastList().

{
        outw(internal_addr, base_addr + TLAN_DIO_ADR);
        outl(data, base_addr + TLAN_DIO_DATA + (internal_addr & 0x2));

}
static u32 xor ( u32  a,
u32  b 
) [inline, static]

Definition at line 457 of file tlan.h.

{
        return ((a && !b) || (!a && b));
}
static u32 TLan_HashFunc ( u8 a) [inline, static]

Definition at line 465 of file tlan.h.

References DA, hash, and XOR8.

{
        u32 hash;

        hash =
            XOR8(DA(a, 0), DA(a, 6), DA(a, 12), DA(a, 18), DA(a, 24),
                 DA(a, 30), DA(a, 36), DA(a, 42));
        hash |=
            XOR8(DA(a, 1), DA(a, 7), DA(a, 13), DA(a, 19), DA(a, 25),
                 DA(a, 31), DA(a, 37), DA(a, 43)) << 1;
        hash |=
            XOR8(DA(a, 2), DA(a, 8), DA(a, 14), DA(a, 20), DA(a, 26),
                 DA(a, 32), DA(a, 38), DA(a, 44)) << 2;
        hash |=
            XOR8(DA(a, 3), DA(a, 9), DA(a, 15), DA(a, 21), DA(a, 27),
                 DA(a, 33), DA(a, 39), DA(a, 45)) << 3;
        hash |=
            XOR8(DA(a, 4), DA(a, 10), DA(a, 16), DA(a, 22), DA(a, 28),
                 DA(a, 34), DA(a, 40), DA(a, 46)) << 4;
        hash |=
            XOR8(DA(a, 5), DA(a, 11), DA(a, 17), DA(a, 23), DA(a, 29),
                 DA(a, 35), DA(a, 41), DA(a, 47)) << 5;

        return hash;

}