Lines Matching +full:rx +full:- +full:enable
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
30 * from: FreeBSD: if_gemreg.h 174987 2007-12-30 01:32:03Z marius
43 #define CAS_INF_BURST 0x0008 /* infinite burst enable */
53 #define CAS_BIM_LDEV_OEN 0x1020 /* BIM local device output enable */
73 #define CAS_CAW_RX_WGHT_MASK 0x00000003 /* RX DMA factor for... */
75 #define CAS_CAW_TX_WGHT_MASK 0x0000000c /* RX DMA factor for... */
84 * Bits 0-9 of CAS_STATUS auto-clear when read. CAS_CLEAR_ALIAS specifies
85 * which of bits 0-9 auto-clear when reading CAS_STATUS_ALIAS.
91 #define CAS_INTR_RX_DONE 0x00000010 /* >=1 RX frames transferred. */
92 #define CAS_INTR_RX_BUF_NA 0x00000020 /* RX buffer not available */
93 #define CAS_INTR_RX_TAG_ERR 0x00000040 /* RX FIFO tag corrupted. */
94 #define CAS_INTR_RX_COMP_FULL 0x00000080 /* RX completion ring full */
95 #define CAS_INTR_RX_BUF_AEMPTY 0x00000100 /* RX desc. ring almost empty */
96 #define CAS_INTR_RX_COMP_AFULL 0x00000200 /* RX cmpl. ring almost full */
101 #define CAS_INTR_RX_MAC_INT 0x00008000 /* RX MAC interrupt */
116 #define CAS_BIM_CONF_BD64_DIS 0x00000004 /* 64-bit mode disable */
118 #define CAS_BIM_CONF_BUS32_WIDE 0x00000010 /* PCI bus is 32-bit (ro). */
119 #define CAS_BIM_CONF_DPAR_EN 0x00000020 /* parity error intr. enable */
120 #define CAS_BIM_CONF_RMA_EN 0x00000040 /* master abort intr. enable */
121 #define CAS_BIM_CONF_RTA_EN 0x00000080 /* target abort intr. enable */
130 #define CAS_RESET_RX 0x00000002 /* Reset RX DMA engine. */
158 #define CAS_PROBE_MUX_SELECT_EN 0xf0000000 /* enable probe on P_A[15:0] */
161 * interrupt bits for CAS_INTMASK[2-4], CAS_STATUS[2-4], CAS_CLEAR_ALIAS[2-4]
162 * and CAS_STATUS_ALIAS[2-4].
163 * CAS_STATUS[2-4] auto-clear when read. CAS_CLEAR_ALIAS[2-4] specifies which
164 * of bits 0-9 auto-clear when reading the corresponding CAS_STATUS_ALIAS[2-4].
166 #define CAS_INTRN_RX_DONE 0x00000001 /* >=1 RX frames transferred. */
167 #define CAS_INTRN_RX_COMP_FULL 0x00000002 /* RX completion ring full */
168 #define CAS_INTRN_RX_COMP_AFULL 0x00000004 /* RX cmpl. ring almost full */
169 #define CAS_INTRN_RX_BUF_NA 0x00000008 /* RX buffer not available */
170 #define CAS_INTRN_RX_BUF_AEMPTY 0x00000010 /* RX desc. ring almost empty */
172 /* INTn enable bit for CAS_INTMASK[2-4] */
173 #define CAS_INTMASKN_EN 0x00000080 /* INT[B-D] enable */
179 #define CAS_SATURN_PCFG_RLA 0x00000010 /* PHY full-duplex LED */
227 #define CAS_TX_CONF_TXDMA_EN 0x00000001 /* TX DMA enable */
243 #define CAS_TX_CONF_PICWB_DIS 0x20000000 /* pre-intr. compl. W/B dis. */
281 /* RX DMA registers */
282 #define CAS_RX_CONF 0x4000 /* RX configuration */
283 #define CAS_RX_PSZ 0x4004 /* RX page size */
284 #define CAS_RX_FIFO_WR 0x4008 /* RX FIFO write pointer */
285 #define CAS_RX_FIFO_RD 0x400c /* RX FIFO read pointer */
286 #define CAS_RX_IPP_WR 0x4010 /* RX IPP FIFO write pointer */
287 #define CAS_RX_IPP_SDWR 0x4014 /* RX IPP FIFO shadow write pointer */
288 #define CAS_RX_IPP_RD 0x4018 /* RX IPP FIFO read pointer */
289 #define CAS_RX_DEBUG 0x401c /* RX debug */
290 #define CAS_RX_PTHRS 0x4020 /* RX PAUSE threshold */
291 #define CAS_RX_KICK 0x4024 /* RX kick */
292 #define CAS_RX_DESC_BASE_LO 0x4028 /* RX descriptor ring base low */
293 #define CAS_RX_DESC_BASE_HI 0x402c /* RX descriptor ring base high */
294 #define CAS_RX_COMP_BASE_LO 0x4030 /* RX completion ring base low */
295 #define CAS_RX_COMP_BASE_HI 0x4034 /* RX completion ring base high */
296 #define CAS_RX_COMP 0x4038 /* RX completion */
297 #define CAS_RX_COMP_HEAD 0x403c /* RX completion head */
298 #define CAS_RX_COMP_TAIL 0x4040 /* RX completion tail */
299 #define CAS_RX_BLANK 0x4044 /* RX blanking for ISR read */
300 #define CAS_RX_AEMPTY_THRS 0x4048 /* RX almost empty threshold */
301 #define CAS_RX_RED 0x4048 /* RX random early detection enable */
302 #define CAS_RX_FF 0x4050 /* RX FIFO fullness */
303 #define CAS_RX_IPP_PKT_CNT 0x4054 /* RX IPP packet counter */
304 #define CAS_RX_WORKING_DMA_LO 0x4058 /* RX working DMA pointer low */
305 #define CAS_RX_WORKING_DMA_HI 0x405c /* RX working DMA pointer high */
306 #define CAS_RX_BIST 0x4060 /* RX BIST */
307 #define CAS_RX_CTRL_FIFO_WR 0x4064 /* RX control FIFO write pointer */
308 #define CAS_RX_CTRL_FIFO_RD 0x4068 /* RX control FIFO read pointer */
309 #define CAS_RX_BLANK_ALIAS 0x406c /* RX blanking for ISR read alias */
310 #define CAS_RX_FIFO_ADDR 0x4080 /* RX FIFO address */
311 #define CAS_RX_FIFO_TAG 0x4084 /* RX FIFO tag */
312 #define CAS_RX_FIFO_DATA_LO 0x4088 /* RX FIFO data low */
313 #define CAS_RX_FIFO_DATA_HI_T0 0x408c /* RX FIFO data highT0 */
314 #define CAS_RX_FIFO_DATA_HI_T1 0x4090 /* RX FIFO data highT1 */
315 #define CAS_RX_CTRL_FIFO 0x4094 /* RX control FIFO and batching FIFO */
316 #define CAS_RX_CTRL_FIFO_LO 0x4098 /* RX control FIFO data low */
317 #define CAS_RX_CTRL_FIFO_MD 0x409c /* RX control FIFO data mid */
318 #define CAS_RX_CTRL_FIFO_HI 0x4100 /* RX control FIFO data high, flowID */
319 #define CAS_RX_IPP_ADDR 0x4104 /* RX IPP FIFO address */
320 #define CAS_RX_IPP_TAG 0x4108 /* RX IPP FIFO tag */
321 #define CAS_RX_IPP_DATA_LO 0x410c /* RX IPP FIFO data low */
322 #define CAS_RX_IPP_DATA_HI_T0 0x4110 /* RX IPP FIFO data highT0 */
323 #define CAS_RX_IPP_DATA_HI_T1 0x4114 /* RX IPP FIFO data highT1 */
324 #define CAS_RX_HDR_PAGE_LO 0x4118 /* RX header page pointer low */
325 #define CAS_RX_HDR_PAGE_HIGH 0x411c /* RX header page pointer high */
326 #define CAS_RX_MTU_PAGE_LO 0x4120 /* RX MTU page pointer low */
327 #define CAS_RX_MTU_PAGE_HIGH 0x4124 /* RX MTU page pointer high */
328 #define CAS_RX_REAS_DMA_ADDR 0x4128 /* RX reassembly DMA table address */
329 #define CAS_RX_REAS_DMA_DATA_LO 0x412c /* RX reassembly DMA table data low */
330 #define CAS_RX_REAS_DMA_DATA_MD 0x4130 /* RX reassembly DMA table data mid */
331 #define CAS_RX_REAS_DMA_DATA_HI 0x4134 /* RX reassembly DMA table data high */
332 /* The rest of the RX DMA registers are Cassini+/Saturn only. */
333 #define CAS_RX_DESC2_BASE_LO 0x4200 /* RX descriptor ring 2 base low */
334 #define CAS_RX_DESC2_BASE_HI 0x4204 /* RX descriptor ring 2 base high */
335 #define CAS_RX_COMP2_BASE_LO 0x4208 /* RX completion ring 2 base low */
336 #define CAS_RX_COMP2_BASE_HI 0x420c /* RX completion ring 2 base high */
337 #define CAS_RX_COMP3_BASE_LO 0x4210 /* RX completion ring 3 base low */
338 #define CAS_RX_COMP3_BASE_HI 0x4214 /* RX completion ring 3 base high */
339 #define CAS_RX_COMP4_BASE_LO 0x4218 /* RX completion ring 4 base low */
340 #define CAS_RX_COMP4_BASE_HI 0x421c /* RX completion ring 4 base high */
341 #define CAS_RX_KICK2 0x4220 /* RX kick 2 */
342 #define CAS_RX_COMP2 0x4224 /* RX completion 2 */
343 #define CAS_RX_COMP_HEAD2 0x4228 /* RX completion head 2 */
344 #define CAS_RX_COMP_TAIL2 0x422c /* RX completion tail 2 */
345 #define CAS_RX_COMP_HEAD3 0x4230 /* RX completion head 3 */
346 #define CAS_RX_COMP_TAIL3 0x4234 /* RX completion tail 3 */
347 #define CAS_RX_COMP_HEAD4 0x4238 /* RX completion head 4 */
348 #define CAS_RX_COMP_TAIL4 0x423c /* RX completion tail 4 */
349 #define CAS_RX_AEMPTY_THRS2 0x4048 /* RX almost empty threshold 2 */
351 #define CAS_RX_CONF_RXDMA_EN 0x00000001 /* RX DMA enable */
352 #define CAS_RX_CONF_DESC_MASK 0x0000001e /* RX descriptor ring size */
354 #define CAS_RX_CONF_COMP_MASK 0x000001e0 /* RX complition ring size */
359 /* The RX descriptor ring 2 is Cassini+/Saturn only. */
360 #define CAS_RX_CONF_DESC2_MASK 0x000f0000 /* RX descriptor ring 2 size */
373 #define CAS_RX_PSZ_MASK 0x00000003 /* RX page size */
397 #define CAS_RX_DESC_ALIGN 8192 /* RX descriptor alignment */
399 #define CAS_RX_COMP_ALIGN 8192 /* RX complition alignment */
401 /* The RX PAUSE thresholds are specified in multiples of 64 bytes. */
413 #define CAS_RX_BLANK_PKTS_MASK 0x000001ff /* RX blanking packets */
415 #define CAS_RX_BLANK_TIME_MASK 0x3ffff000 /* RX blanking time */
424 /* The RX random early detection probability is in 12.5% granularity. */
435 #define CAS_RX_FF_PKT_MASK 0x000000ff /* # of packets in RX FIFO */
439 #define CAS_RX_FF_FIFO_MASK 0x3ff80000 /* RX FIFO level */
491 #define CAS_HP_CONF_PARSE_EN 0x00000001 /* header parsing enable */
531 #define CAS_HP_STATUS3_JMBHS_EN 0x00000400 /* jumbo header split enable */
561 #define CAS_MAC_RXRESET 0x6004 /* RX MAC software reset command */
564 #define CAS_MAC_RX_STATUS 0x6014 /* RX MAC status */
567 #define CAS_MAC_RX_MASK 0x6024 /* RX MAC mask */
570 #define CAS_MAC_RX_CONF 0x6034 /* RX MAC configuration */
659 #define CAS_MAC_RX_CODE_VIOL 0x61c8 /* RX code violation error counter */
680 #define CAS_MAC_RX_OVERFLOW 0x00000002 /* RX FIFO overflow */
681 #define CAS_MAC_RX_FRAME_EXP 0x00000004 /* RX frame counter wrap */
695 #define CAS_MAC_TX_CONF_EN 0x00000001 /* TX enable */
698 #define CAS_MAC_TX_CONF_EN_IPG0 0x00000008 /* extend RX-to-TX IPG */
704 #define CAS_MAC_TX_CONF_CARR 0x00000200 /* carrier extension enable */
706 #define CAS_MAC_RX_CONF_EN 0x00000001 /* RX enable */
709 #define CAS_MAC_RX_CONF_PROMISC 0x00000008 /* promiscuous mode enable */
711 #define CAS_MAC_RX_CONF_HFILTER 0x00000020 /* hash filter enable */
712 #define CAS_MAC_RX_CONF_AFILTER 0x00000040 /* address filter enable */
714 #define CAS_MAC_RX_CONF_CARR 0x00000100 /* carrier extension enable */
716 #define CAS_MAC_CTRL_CONF_TXP 0x00000001 /* send PAUSE enable */
717 #define CAS_MAC_CTRL_CONF_RXP 0x00000002 /* receive PAUSE enable */
718 #define CAS_MAC_CTRL_CONF_PASSP 0x00000004 /* Pass PAUSE up to RX DMA. */
723 #define CAS_MAC_XIF_CONF_GMII 0x00000008 /* GMII (vs. MII) mode enable */
724 #define CAS_MAC_XIF_CONF_BUF_OE 0x00000010 /* MII_BUF_OE enable */
742 * The bit-bang registers use the low bit only.
744 #define CAS_MIF_BB_CLOCK 0x6200 /* MIF bit-bang clock */
745 #define CAS_MIF_BB_DATA 0x6204 /* MIF bit-bang data */
746 #define CAS_MIF_BB_OUTPUT_EN 0x6208 /* MIF bit-bang output enable */
773 #define CAS_MIF_CONF_POLL_EN 0x00000002 /* polling mechanism enable */
774 #define CAS_MIF_CONF_BB_MODE 0x00000004 /* bit-bang mode enable */
808 #define CAS_PCS_CTRL_FDX 0x00000100 /* full-duplex, always 0 */
809 #define CAS_PCS_CTRL_RANEG 0x00000200 /* restart auto-negotiation */
812 #define CAS_PCS_CTRL_ANEG_EN 0x00001000 /* auto-negotiation enable */
819 #define CAS_PCS_STATUS_ANEG_ABL 0x00000008 /* auto-negotiation ability */
821 #define CAS_PCS_STATUS_ANEG_CPT 0x00000020 /* auto-negotiate complete */
825 #define CAS_PCS_ANEG_FDX 0x00000020 /* full-duplex */
826 #define CAS_PCS_ANEG_HDX 0x00000040 /* half-duplex */
829 #define CAS_PCS_ANEG_RFLT_FAIL 0x00001000 /* remote fault - fail */
830 #define CAS_PCS_ANEG_RFLT_OFF 0x00002000 /* remote fault - off-line */
836 #define CAS_PCS_CONF_EN 0x00000001 /* Enable PCS. */
838 #define CAS_PCS_CONF_SDL 0x00000004 /* signal detect active-low */
839 #define CAS_PCS_CONF_JS_NORM 0x00000000 /* jitter study - normal op. */
840 #define CAS_PCS_CONF_JS_HF 0x00000008 /* jitter study - HF test */
841 #define CAS_PCS_CONF_JS_LF 0x00000010 /* jitter study - LF test */
843 #define CAS_PCS_CONF_ANEG_TO 0x00000020 /* auto-neg. timer override */
847 #define CAS_PCS_SM_RX_CTRL_MASK 0x000000f0 /* RX control state */
856 #define CAS_PCS_SM_LOSS_C 0x00100000 /* link-loss due to C codes */
857 #define CAS_PCS_SM_LOSS_SYNC 0x00200000 /* link-loss due to sync-loss */
873 #define CAS_PCS_DATAPATH_SERDES 0x00000002 /* SERDES via 10-bit */
875 #define CAS_PCS_SERDES_CTRL_LBK 0x00000001 /* loopback at 10-bit enable */
886 #define CAS_PCS_PKT_CNT_RX_MASK 0x07ff0000 /* RX packets */
906 /* wired RX FIFO size in bytes */
928 #define CAS_TD_CKSUM_EN 0x0000000020000000ULL /* checksum enable */
963 #define CAS_RC1_TYPE_RNRP 0x8000000000000000ULL /* non-reas. pkt... */
977 #define CAS_RC3_SMALL_PKT 0x0000000000000001ULL /* pkt. <= 256 - SOFF */