b44.h
来自「linux 内核源代码」· C头文件 代码 · 共 403 行 · 第 1/2 页
H
403 行
#define B44_TX_LCOLS 0x0550UL /* MIB TX Late Collisions */#define B44_TX_DEFERED 0x0554UL /* MIB TX Defered Packets */#define B44_TX_CLOST 0x0558UL /* MIB TX Carrier Lost */#define B44_TX_PAUSE 0x055CUL /* MIB TX Pause Packets */#define B44_RX_GOOD_O 0x0580UL /* MIB RX Good Octets */#define B44_RX_GOOD_P 0x0584UL /* MIB RX Good Packets */#define B44_RX_O 0x0588UL /* MIB RX Octets */#define B44_RX_P 0x058CUL /* MIB RX Packets */#define B44_RX_BCAST 0x0590UL /* MIB RX Broadcast Packets */#define B44_RX_MCAST 0x0594UL /* MIB RX Multicast Packets */#define B44_RX_64 0x0598UL /* MIB RX <= 64 byte Packets */#define B44_RX_65_127 0x059CUL /* MIB RX 65 to 127 byte Packets */#define B44_RX_128_255 0x05A0UL /* MIB RX 128 to 255 byte Packets */#define B44_RX_256_511 0x05A4UL /* MIB RX 256 to 511 byte Packets */#define B44_RX_512_1023 0x05A8UL /* MIB RX 512 to 1023 byte Packets */#define B44_RX_1024_MAX 0x05ACUL /* MIB RX 1024 to max byte Packets */#define B44_RX_JABBER 0x05B0UL /* MIB RX Jabber Packets */#define B44_RX_OSIZE 0x05B4UL /* MIB RX Oversize Packets */#define B44_RX_FRAG 0x05B8UL /* MIB RX Fragment Packets */#define B44_RX_MISS 0x05BCUL /* MIB RX Missed Packets */#define B44_RX_CRCA 0x05C0UL /* MIB RX CRC Align Errors */#define B44_RX_USIZE 0x05C4UL /* MIB RX Undersize Packets */#define B44_RX_CRC 0x05C8UL /* MIB RX CRC Errors */#define B44_RX_ALIGN 0x05CCUL /* MIB RX Align Errors */#define B44_RX_SYM 0x05D0UL /* MIB RX Symbol Errors */#define B44_RX_PAUSE 0x05D4UL /* MIB RX Pause Packets */#define B44_RX_NPAUSE 0x05D8UL /* MIB RX Non-Pause Packets *//* 4400 PHY registers */#define B44_MII_AUXCTRL 24 /* Auxiliary Control */#define MII_AUXCTRL_DUPLEX 0x0001 /* Full Duplex */#define MII_AUXCTRL_SPEED 0x0002 /* 1=100Mbps, 0=10Mbps */#define MII_AUXCTRL_FORCED 0x0004 /* Forced 10/100 */#define B44_MII_ALEDCTRL 26 /* Activity LED */#define MII_ALEDCTRL_ALLMSK 0x7fff#define B44_MII_TLEDCTRL 27 /* Traffic Meter LED */#define MII_TLEDCTRL_ENABLE 0x0040struct dma_desc { __le32 ctrl; __le32 addr;};/* There are only 12 bits in the DMA engine for descriptor offsetting * so the table must be aligned on a boundary of this. */#define DMA_TABLE_BYTES 4096#define DESC_CTRL_LEN 0x00001fff#define DESC_CTRL_CMASK 0x0ff00000 /* Core specific bits */#define DESC_CTRL_EOT 0x10000000 /* End of Table */#define DESC_CTRL_IOC 0x20000000 /* Interrupt On Completion */#define DESC_CTRL_EOF 0x40000000 /* End of Frame */#define DESC_CTRL_SOF 0x80000000 /* Start of Frame */#define RX_COPY_THRESHOLD 256struct rx_header { __le16 len; __le16 flags; __le16 pad[12];};#define RX_HEADER_LEN 28#define RX_FLAG_OFIFO 0x00000001 /* FIFO Overflow */#define RX_FLAG_CRCERR 0x00000002 /* CRC Error */#define RX_FLAG_SERR 0x00000004 /* Receive Symbol Error */#define RX_FLAG_ODD 0x00000008 /* Frame has odd number of nibbles */#define RX_FLAG_LARGE 0x00000010 /* Frame is > RX MAX Length */#define RX_FLAG_MCAST 0x00000020 /* Dest is Multicast Address */#define RX_FLAG_BCAST 0x00000040 /* Dest is Broadcast Address */#define RX_FLAG_MISS 0x00000080 /* Received due to promisc mode */#define RX_FLAG_LAST 0x00000800 /* Last buffer in frame */#define RX_FLAG_ERRORS (RX_FLAG_ODD | RX_FLAG_SERR | RX_FLAG_CRCERR | RX_FLAG_OFIFO)struct ring_info { struct sk_buff *skb; dma_addr_t mapping;};#define B44_MCAST_TABLE_SIZE 32#define B44_PHY_ADDR_NO_PHY 30#define B44_MDC_RATIO 5000000#define B44_STAT_REG_DECLARE \ _B44(tx_good_octets) \ _B44(tx_good_pkts) \ _B44(tx_octets) \ _B44(tx_pkts) \ _B44(tx_broadcast_pkts) \ _B44(tx_multicast_pkts) \ _B44(tx_len_64) \ _B44(tx_len_65_to_127) \ _B44(tx_len_128_to_255) \ _B44(tx_len_256_to_511) \ _B44(tx_len_512_to_1023) \ _B44(tx_len_1024_to_max) \ _B44(tx_jabber_pkts) \ _B44(tx_oversize_pkts) \ _B44(tx_fragment_pkts) \ _B44(tx_underruns) \ _B44(tx_total_cols) \ _B44(tx_single_cols) \ _B44(tx_multiple_cols) \ _B44(tx_excessive_cols) \ _B44(tx_late_cols) \ _B44(tx_defered) \ _B44(tx_carrier_lost) \ _B44(tx_pause_pkts) \ _B44(rx_good_octets) \ _B44(rx_good_pkts) \ _B44(rx_octets) \ _B44(rx_pkts) \ _B44(rx_broadcast_pkts) \ _B44(rx_multicast_pkts) \ _B44(rx_len_64) \ _B44(rx_len_65_to_127) \ _B44(rx_len_128_to_255) \ _B44(rx_len_256_to_511) \ _B44(rx_len_512_to_1023) \ _B44(rx_len_1024_to_max) \ _B44(rx_jabber_pkts) \ _B44(rx_oversize_pkts) \ _B44(rx_fragment_pkts) \ _B44(rx_missed_pkts) \ _B44(rx_crc_align_errs) \ _B44(rx_undersize) \ _B44(rx_crc_errs) \ _B44(rx_align_errs) \ _B44(rx_symbol_errs) \ _B44(rx_pause_pkts) \ _B44(rx_nonpause_pkts)/* SW copy of device statistics, kept up to date by periodic timer * which probes HW values. Check b44_stats_update if you mess with * the layout */struct b44_hw_stats {#define _B44(x) u32 x;B44_STAT_REG_DECLARE#undef _B44};struct ssb_device;struct b44 { spinlock_t lock; u32 imask, istat; struct dma_desc *rx_ring, *tx_ring; u32 tx_prod, tx_cons; u32 rx_prod, rx_cons; struct ring_info *rx_buffers; struct ring_info *tx_buffers; struct napi_struct napi; u32 dma_offset; u32 flags;#define B44_FLAG_B0_ANDLATER 0x00000001#define B44_FLAG_BUGGY_TXPTR 0x00000002#define B44_FLAG_REORDER_BUG 0x00000004#define B44_FLAG_PAUSE_AUTO 0x00008000#define B44_FLAG_FULL_DUPLEX 0x00010000#define B44_FLAG_100_BASE_T 0x00020000#define B44_FLAG_TX_PAUSE 0x00040000#define B44_FLAG_RX_PAUSE 0x00080000#define B44_FLAG_FORCE_LINK 0x00100000#define B44_FLAG_ADV_10HALF 0x01000000#define B44_FLAG_ADV_10FULL 0x02000000#define B44_FLAG_ADV_100HALF 0x04000000#define B44_FLAG_ADV_100FULL 0x08000000#define B44_FLAG_INTERNAL_PHY 0x10000000#define B44_FLAG_RX_RING_HACK 0x20000000#define B44_FLAG_TX_RING_HACK 0x40000000#define B44_FLAG_WOL_ENABLE 0x80000000 u32 msg_enable; struct timer_list timer; struct net_device_stats stats; struct b44_hw_stats hw_stats; struct ssb_device *sdev; struct net_device *dev; dma_addr_t rx_ring_dma, tx_ring_dma; u32 rx_pending; u32 tx_pending; u8 phy_addr; struct mii_if_info mii_if;};#endif /* _B44_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?