⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucc_geth.h

📁 linux 内核源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
#define IPGIFG_NON_BACK_TO_BACK_IFG_PART2_SHIFT (31 - 15)	/* Non								   back-to-back								   inter frame								   gap part 2.								   << shift */#define IPGIFG_MINIMUM_IFG_ENFORCEMENT_SHIFT    (31 - 23)	/* Mimimum IFG								   Enforcement								   << shift */#define IPGIFG_BACK_TO_BACK_IFG_SHIFT           (31 - 31)	/* back-to-back								   inter frame								   gap << shift								 */#define IPGIFG_NON_BACK_TO_BACK_IFG_PART1_MAX   127	/* Non back-to-back							   inter frame gap part							   1. max val */#define IPGIFG_NON_BACK_TO_BACK_IFG_PART2_MAX   127	/* Non back-to-back							   inter frame gap part							   2. max val */#define IPGIFG_MINIMUM_IFG_ENFORCEMENT_MAX      255	/* Mimimum IFG							   Enforcement max val */#define IPGIFG_BACK_TO_BACK_IFG_MAX             127	/* back-to-back inter							   frame gap max val */#define IPGIFG_NBTB_CS_IPG_MASK                 0x7F000000#define IPGIFG_NBTB_IPG_MASK                    0x007F0000#define IPGIFG_MIN_IFG_MASK                     0x0000FF00#define IPGIFG_BTB_IPG_MASK                     0x0000007F/* UCC GETH HAFDUP (Half Duplex Register) */#define HALFDUP_ALT_BEB_TRUNCATION_SHIFT        (31 - 11)	/* Alternate								   Binary								   Exponential								   Backoff								   Truncation								   << shift */#define HALFDUP_ALT_BEB_TRUNCATION_MAX          0xf	/* Alternate Binary							   Exponential Backoff							   Truncation max val */#define HALFDUP_ALT_BEB                         0x00080000	/* Alternate								   Binary								   Exponential								   Backoff */#define HALFDUP_BACK_PRESSURE_NO_BACKOFF        0x00040000	/* Back								   pressure no								   backoff */#define HALFDUP_NO_BACKOFF                      0x00020000	/* No Backoff */#define HALFDUP_EXCESSIVE_DEFER                 0x00010000	/* Excessive								   Defer */#define HALFDUP_MAX_RETRANSMISSION_SHIFT        (31 - 19)	/* Maximum								   Retransmission								   << shift */#define HALFDUP_MAX_RETRANSMISSION_MAX          0xf	/* Maximum							   Retransmission max							   val */#define HALFDUP_COLLISION_WINDOW_SHIFT          (31 - 31)	/* Collision								   Window <<								   shift */#define HALFDUP_COLLISION_WINDOW_MAX            0x3f	/* Collision Window max							   val */#define HALFDUP_ALT_BEB_TR_MASK                 0x00F00000#define HALFDUP_RETRANS_MASK                    0x0000F000#define HALFDUP_COL_WINDOW_MASK                 0x0000003F/* UCC GETH UCCS (Ethernet Status Register) */#define UCCS_BPR                                0x02	/* Back pressure (in							   half duplex mode) */#define UCCS_PAU                                0x02	/* Pause state (in full							   duplex mode) */#define UCCS_MPD                                0x01	/* Magic Packet							   Detected *//* UCC GETH IFSTAT (Interface Status Register) */#define IFSTAT_EXCESS_DEFER                     0x00000200	/* Excessive								   transmission								   defer *//* UCC GETH MACSTNADDR1 (Station Address Part 1 Register) */#define MACSTNADDR1_OCTET_6_SHIFT               (31 -  7)	/* Station								   address 6th								   octet <<								   shift */#define MACSTNADDR1_OCTET_5_SHIFT               (31 - 15)	/* Station								   address 5th								   octet <<								   shift */#define MACSTNADDR1_OCTET_4_SHIFT               (31 - 23)	/* Station								   address 4th								   octet <<								   shift */#define MACSTNADDR1_OCTET_3_SHIFT               (31 - 31)	/* Station								   address 3rd								   octet <<								   shift *//* UCC GETH MACSTNADDR2 (Station Address Part 2 Register) */#define MACSTNADDR2_OCTET_2_SHIFT               (31 -  7)	/* Station								   address 2nd								   octet <<								   shift */#define MACSTNADDR2_OCTET_1_SHIFT               (31 - 15)	/* Station								   address 1st								   octet <<								   shift *//* UCC GETH UEMPR (Ethernet Mac Parameter Register) */#define UEMPR_PAUSE_TIME_VALUE_SHIFT            (31 - 15)	/* Pause time								   value <<								   shift */#define UEMPR_EXTENDED_PAUSE_TIME_VALUE_SHIFT   (31 - 31)	/* Extended								   pause time								   value <<								   shift *//* UCC GETH UTBIPAR (Ten Bit Interface Physical Address Register) */#define UTBIPAR_PHY_ADDRESS_SHIFT               (31 - 31)	/* Phy address								   << shift */#define UTBIPAR_PHY_ADDRESS_MASK                0x0000001f	/* Phy address								   mask *//* UCC GETH UESCR (Ethernet Statistics Control Register) */#define UESCR_AUTOZ                             0x8000	/* Automatically zero							   addressed							   statistical counter							   values */#define UESCR_CLRCNT                            0x4000	/* Clear all statistics							   counters */#define UESCR_MAXCOV_SHIFT                      (15 -  7)	/* Max								   Coalescing								   Value <<								   shift */#define UESCR_SCOV_SHIFT                        (15 - 15)	/* Status								   Coalescing								   Value <<								   shift *//* UCC GETH UDSR (Data Synchronization Register) */#define UDSR_MAGIC                              0x067Estruct ucc_geth_thread_data_tx {	u8 res0[104];} __attribute__ ((packed));struct ucc_geth_thread_data_rx {	u8 res0[40];} __attribute__ ((packed));/* Send Queue Queue-Descriptor */struct ucc_geth_send_queue_qd {	u32 bd_ring_base;	/* pointer to BD ring base address */	u8 res0[0x8];	u32 last_bd_completed_address;/* initialize to last entry in BD ring */	u8 res1[0x30];} __attribute__ ((packed));struct ucc_geth_send_queue_mem_region {	struct ucc_geth_send_queue_qd sqqd[NUM_TX_QUEUES];} __attribute__ ((packed));struct ucc_geth_thread_tx_pram {	u8 res0[64];} __attribute__ ((packed));struct ucc_geth_thread_rx_pram {	u8 res0[128];} __attribute__ ((packed));#define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING        64#define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_8      64#define THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_16     96struct ucc_geth_scheduler {	u16 cpucount0;		/* CPU packet counter */	u16 cpucount1;		/* CPU packet counter */	u16 cecount0;		/* QE packet counter */	u16 cecount1;		/* QE packet counter */	u16 cpucount2;		/* CPU packet counter */	u16 cpucount3;		/* CPU packet counter */	u16 cecount2;		/* QE packet counter */	u16 cecount3;		/* QE packet counter */	u16 cpucount4;		/* CPU packet counter */	u16 cpucount5;		/* CPU packet counter */	u16 cecount4;		/* QE packet counter */	u16 cecount5;		/* QE packet counter */	u16 cpucount6;		/* CPU packet counter */	u16 cpucount7;		/* CPU packet counter */	u16 cecount6;		/* QE packet counter */	u16 cecount7;		/* QE packet counter */	u32 weightstatus[NUM_TX_QUEUES];	/* accumulated weight factor */	u32 rtsrshadow;		/* temporary variable handled by QE */	u32 time;		/* temporary variable handled by QE */	u32 ttl;		/* temporary variable handled by QE */	u32 mblinterval;	/* max burst length interval */	u16 nortsrbytetime;	/* normalized value of byte time in tsr units */	u8 fracsiz;		/* radix 2 log value of denom. of				   NorTSRByteTime */	u8 res0[1];	u8 strictpriorityq;	/* Strict Priority Mask register */	u8 txasap;		/* Transmit ASAP register */	u8 extrabw;		/* Extra BandWidth register */	u8 oldwfqmask;		/* temporary variable handled by QE */	u8 weightfactor[NUM_TX_QUEUES];				      /**< weight factor for queues   */	u32 minw;		/* temporary variable handled by QE */	u8 res1[0x70 - 0x64];} __attribute__ ((packed));struct ucc_geth_tx_firmware_statistics_pram {	u32 sicoltx;		/* single collision */	u32 mulcoltx;		/* multiple collision */	u32 latecoltxfr;	/* late collision */	u32 frabortduecol;	/* frames aborted due to transmit collision */	u32 frlostinmactxer;	/* frames lost due to internal MAC error				   transmission that are not counted on any				   other counter */	u32 carriersenseertx;	/* carrier sense error */	u32 frtxok;		/* frames transmitted OK */	u32 txfrexcessivedefer;	/* frames with defferal time greater than				   specified threshold */	u32 txpkts256;		/* total packets (including bad) between 256				   and 511 octets */	u32 txpkts512;		/* total packets (including bad) between 512				   and 1023 octets */	u32 txpkts1024;		/* total packets (including bad) between 1024				   and 1518 octets */	u32 txpktsjumbo;	/* total packets (including bad) between 1024				   and MAXLength octets */} __attribute__ ((packed));struct ucc_geth_rx_firmware_statistics_pram {	u32 frrxfcser;		/* frames with crc error */	u32 fraligner;		/* frames with alignment error */	u32 inrangelenrxer;	/* in range length error */	u32 outrangelenrxer;	/* out of range length error */	u32 frtoolong;		/* frame too long */	u32 runt;		/* runt */	u32 verylongevent;	/* very long event */	u32 symbolerror;	/* symbol error */	u32 dropbsy;		/* drop because of BD not ready */	u8 res0[0x8];	u32 mismatchdrop;	/* drop because of MAC filtering (e.g. address				   or type mismatch) */	u32 underpkts;		/* total frames less than 64 octets */	u32 pkts256;		/* total frames (including bad) between 256 and				   511 octets */	u32 pkts512;		/* total frames (including bad) between 512 and				   1023 octets */	u32 pkts1024;		/* total frames (including bad) between 1024				   and 1518 octets */	u32 pktsjumbo;		/* total frames (including bad) between 1024				   and MAXLength octets */	u32 frlossinmacer;	/* frames lost because of internal MAC error				   that is not counted in any other counter */	u32 pausefr;		/* pause frames */	u8 res1[0x4];	u32 removevlan;		/* total frames that had their VLAN tag removed				 */	u32 replacevlan;	/* total frames that had their VLAN tag				   replaced */	u32 insertvlan;		/* total frames that had their VLAN tag				   inserted */} __attribute__ ((packed));struct ucc_geth_rx_interrupt_coalescing_entry {	u32 interruptcoalescingmaxvalue;	/* interrupt coalescing max						   value */	u32 interruptcoalescingcounter;	/* interrupt coalescing counter,					   initialize to					   interruptcoalescingmaxvalue */} __attribute__ ((packed));struct ucc_geth_rx_interrupt_coalescing_table {	struct ucc_geth_rx_interrupt_coalescing_entry coalescingentry[NUM_RX_QUEUES];				       /**< interrupt coalescing entry */} __attribute__ ((packed));struct ucc_geth_rx_prefetched_bds {	struct qe_bd bd[NUM_BDS_IN_PREFETCHED_BDS];	/* prefetched bd */} __attribute__ ((packed));struct ucc_geth_rx_bd_queues_entry {	u32 bdbaseptr;		/* BD base pointer */	u32 bdptr;		/* BD pointer */	u32 externalbdbaseptr;	/* external BD base pointer */	u32 externalbdptr;	/* external BD pointer */} __attribute__ ((packed));struct ucc_geth_tx_global_pram {	u16 temoder;	u8 res0[0x38 - 0x02];	u32 sqptr;		/* a base pointer to send queue memory region */	u32 schedulerbasepointer;	/* a base pointer to scheduler memory					   region */	u32 txrmonbaseptr;	/* base pointer to Tx RMON statistics counter */	u32 tstate;		/* tx internal state. High byte contains				   function code */	u8 iphoffset[TX_IP_OFFSET_ENTRY_MAX];	u32 vtagtable[0x8];	/* 8 4-byte VLAN tags */	u32 tqptr;		/* a base pointer to the Tx Queues Memory				   Region */	u8 res2[0x80 - 0x74];} __attribute__ ((packed));/* structure representing Extended Filtering Global Parameters in PRAM */struct ucc_geth_exf_global_pram {	u32 l2pcdptr;		/* individual address filter, high */	u8 res0[0x10 - 0x04];} __attribute__ ((packed));struct ucc_geth_rx_global_pram {	u32 remoder;		/* ethernet mode reg. */	u32 rqptr;		/* base pointer to the Rx Queues Memory Region*/	u32 res0[0x1];	u8 res1[0x20 - 0xC];	u16 typeorlen;		/* cutoff point less than which, type/len field				   is considered length */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -