Lines Matching +full:interrupt +full:- +full:counter
1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2004-2006 Atmel Corporation
14 #include <linux/interrupt.h>
35 #define MACB_ISR 0x0024 /* Interrupt Status */
36 #define MACB_IER 0x0028 /* Interrupt Enable */
37 #define MACB_IDR 0x002c /* Interrupt Disable */
38 #define MACB_IMR 0x0030 /* Interrupt Mask */
105 #define GEM_TXCNT 0x0108 /* Frames Transmitted counter */
106 #define GEM_TXBCCNT 0x010c /* Broadcast Frames counter */
107 #define GEM_TXMCCNT 0x0110 /* Multicast Frames counter */
108 #define GEM_TXPAUSECNT 0x0114 /* Pause Frames Transmitted Counter */
109 #define GEM_TX64CNT 0x0118 /* 64 byte Frames TX counter */
110 #define GEM_TX65CNT 0x011c /* 65-127 byte Frames TX counter */
111 #define GEM_TX128CNT 0x0120 /* 128-255 byte Frames TX counter */
112 #define GEM_TX256CNT 0x0124 /* 256-511 byte Frames TX counter */
113 #define GEM_TX512CNT 0x0128 /* 512-1023 byte Frames TX counter */
114 #define GEM_TX1024CNT 0x012c /* 1024-1518 byte Frames TX counter */
115 #define GEM_TX1519CNT 0x0130 /* 1519+ byte Frames TX counter */
116 #define GEM_TXURUNCNT 0x0134 /* TX under run error counter */
117 #define GEM_SNGLCOLLCNT 0x0138 /* Single Collision Frame Counter */
118 #define GEM_MULTICOLLCNT 0x013c /* Multiple Collision Frame Counter */
119 #define GEM_EXCESSCOLLCNT 0x0140 /* Excessive Collision Frame Counter */
120 #define GEM_LATECOLLCNT 0x0144 /* Late Collision Frame Counter */
121 #define GEM_TXDEFERCNT 0x0148 /* Deferred Transmission Frame Counter */
122 #define GEM_TXCSENSECNT 0x014c /* Carrier Sense Error Counter */
126 #define GEM_RXCNT 0x0158 /* Frames Received Counter */
127 #define GEM_RXBROADCNT 0x015c /* Broadcast Frames Received Counter */
128 #define GEM_RXMULTICNT 0x0160 /* Multicast Frames Received Counter */
129 #define GEM_RXPAUSECNT 0x0164 /* Pause Frames Received Counter */
130 #define GEM_RX64CNT 0x0168 /* 64 byte Frames RX Counter */
131 #define GEM_RX65CNT 0x016c /* 65-127 byte Frames RX Counter */
132 #define GEM_RX128CNT 0x0170 /* 128-255 byte Frames RX Counter */
133 #define GEM_RX256CNT 0x0174 /* 256-511 byte Frames RX Counter */
134 #define GEM_RX512CNT 0x0178 /* 512-1023 byte Frames RX Counter */
135 #define GEM_RX1024CNT 0x017c /* 1024-1518 byte Frames RX Counter */
136 #define GEM_RX1519CNT 0x0180 /* 1519+ byte Frames RX Counter */
137 #define GEM_RXUNDRCNT 0x0184 /* Undersize Frames Received Counter */
138 #define GEM_RXOVRCNT 0x0188 /* Oversize Frames Received Counter */
139 #define GEM_RXJABCNT 0x018c /* Jabbers Received Counter */
140 #define GEM_RXFCSCNT 0x0190 /* Frame Check Sequence Error Counter */
141 #define GEM_RXLENGTHCNT 0x0194 /* Length Field Error Counter */
142 #define GEM_RXSYMBCNT 0x0198 /* Symbol Error Counter */
143 #define GEM_RXALIGNCNT 0x019c /* Alignment Error Counter */
144 #define GEM_RXRESERRCNT 0x01a0 /* Receive Resource Error Counter */
145 #define GEM_RXORCNT 0x01a4 /* Receive Overrun Counter */
146 #define GEM_RXIPCCNT 0x01a8 /* IP header Checksum Error Counter */
147 #define GEM_RXTCPCCNT 0x01ac /* TCP Checksum Error Counter */
148 #define GEM_RXUDPCCNT 0x01b0 /* UDP Checksum Error Counter */
149 #define GEM_TISUBN 0x01bc /* 1588 Timer Increment Sub-ns */
207 /* Which screening type 2 EtherType register will be used (0 - 7) */
258 #define MACB_BIT_RATE_OFFSET 2 /* Discard non-VLAN frames */
342 #define GEM_ADDR64_OFFSET 30 /* Address bus width - 64b or 32b */
389 #define MACB_ISR_TUND_OFFSET 4 /* Enable TX buffer under run interrupt */
391 #define MACB_ISR_RLE_OFFSET 5 /* EN retry exceeded/late coll interrupt */
393 #define MACB_TXERR_OFFSET 6 /* EN TX frame corrupt from error interrupt */
395 #define MACB_RM9200_TBRE_OFFSET 6 /* EN may send new frame interrupt (RM9200) */
397 #define MACB_TCOMP_OFFSET 7 /* Enable transmit complete interrupt */
399 #define MACB_ISR_LINK_OFFSET 9 /* Enable link change interrupt */
401 #define MACB_ISR_ROVR_OFFSET 10 /* Enable receive overrun interrupt */
403 #define MACB_HRESP_OFFSET 11 /* Enable hrsep not OK interrupt */
405 #define MACB_PFR_OFFSET 12 /* Enable pause frame w/ quantum interrupt */
407 #define MACB_PTZ_OFFSET 13 /* Enable pause time zero interrupt */
409 #define MACB_WOL_OFFSET 14 /* Enable wake-on-lan interrupt */
429 #define GEM_WOL_OFFSET 28 /* Enable wake-on-lan interrupt */
604 #define GEM_CMPA_OFFSET 13 /* Compare A - Index to screener type 2 Compare register */
608 #define GEM_CMPB_OFFSET 19 /* Compare B - Index to screener type 2 Compare register */
612 #define GEM_CMPC_OFFSET 25 /* Compare C - Index to screener type 2 Compare register */
677 #define GEM_DMA_SEC_MASK (GEM_DMA_SEC_TOP - 1)
738 (((value) & ((1 << MACB_##name##_SIZE) - 1)) \
742 & ((1 << MACB_##name##_SIZE) - 1))
744 (((old) & ~(((1 << MACB_##name##_SIZE) - 1) \
751 (((value) & ((1 << GEM_##name##_SIZE) - 1)) \
755 & ((1 << GEM_##name##_SIZE) - 1))
757 (((old) & ~(((1 << GEM_##name##_SIZE) - 1) \
762 #define macb_readl(port, reg) (port)->macb_reg_readl((port), MACB_##reg)
763 #define macb_writel(port, reg, value) (port)->macb_reg_writel((port), MACB_##reg, (value))
764 #define gem_readl(port, reg) (port)->macb_reg_readl((port), GEM_##reg)
765 #define gem_writel(port, reg, value) (port)->macb_reg_writel((port), GEM_##reg, (value))
766 #define queue_readl(queue, reg) (queue)->bp->macb_reg_readl((queue)->bp, (queue)->reg)
767 #define queue_writel(queue, reg, value) (queue)->bp->macb_reg_writel((queue)->bp, (queue)->reg, (va…
768 #define gem_readl_n(port, reg, idx) (port)->macb_reg_readl((port), GEM_##reg + idx * 4)
769 #define gem_writel_n(port, reg, idx, value) (port)->macb_reg_writel((port), GEM_##reg + idx * 4, (v…
798 /* struct macb_dma_desc - Hardware DMA descriptor
921 /* struct macb_tx_skb - data about an skb which is being transmitted
936 /* Hardware-collected statistics. Used when updating the network
1012 * returned by `ethtool -S`. Also describes which net_device_stats statistics
1151 /* MACB-PTP interface: adapt to platform needs. */
1299 struct macb_ptp_info *ptp_info; /* macb-ptp interface */
1331 #define TSU_SEC_MAX_VAL (((u64)1 << GEM_TSEC_SIZE) - 1)
1332 #define TSU_NSEC_MAX_VAL ((1 << GEM_TN_SIZE) - 1)
1347 if (queue->bp->tstamp_config.tx_type == TSTAMP_DISABLED) in gem_ptp_do_txstamp()
1348 return -ENOTSUPP; in gem_ptp_do_txstamp()
1355 if (bp->tstamp_config.rx_filter == TSTAMP_DISABLED) in gem_ptp_do_rxstamp()
1368 return -1; in gem_ptp_do_txstamp()
1376 return !!(bp->caps & MACB_CAPS_MACB_IS_GEM); in macb_is_gem()
1381 return !!(bp->caps & MACB_CAPS_GEM_HAS_PTP); in gem_has_ptp()
1385 * struct macb_platform_data - platform data for MACB Ethernet used for PCI registration