xref: /freebsd/sys/dev/sfxge/common/efx_regs_ef10.h (revision e78e1b4ddcd0e24040436ad1cfc356f51f99bc76)
1e948693eSPhilip Paeps /*-
23c838a9fSAndrew Rybchenko  * Copyright (c) 2007-2015 Solarflare Communications Inc.
33c838a9fSAndrew Rybchenko  * All rights reserved.
4e948693eSPhilip Paeps  *
5e948693eSPhilip Paeps  * Redistribution and use in source and binary forms, with or without
63c838a9fSAndrew Rybchenko  * modification, are permitted provided that the following conditions are met:
7e948693eSPhilip Paeps  *
83c838a9fSAndrew Rybchenko  * 1. Redistributions of source code must retain the above copyright notice,
93c838a9fSAndrew Rybchenko  *    this list of conditions and the following disclaimer.
103c838a9fSAndrew Rybchenko  * 2. Redistributions in binary form must reproduce the above copyright notice,
113c838a9fSAndrew Rybchenko  *    this list of conditions and the following disclaimer in the documentation
123c838a9fSAndrew Rybchenko  *    and/or other materials provided with the distribution.
133c838a9fSAndrew Rybchenko  *
143c838a9fSAndrew Rybchenko  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
153c838a9fSAndrew Rybchenko  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
163c838a9fSAndrew Rybchenko  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
173c838a9fSAndrew Rybchenko  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
183c838a9fSAndrew Rybchenko  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
193c838a9fSAndrew Rybchenko  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
203c838a9fSAndrew Rybchenko  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
213c838a9fSAndrew Rybchenko  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
223c838a9fSAndrew Rybchenko  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
233c838a9fSAndrew Rybchenko  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
243c838a9fSAndrew Rybchenko  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
253c838a9fSAndrew Rybchenko  *
263c838a9fSAndrew Rybchenko  * The views and conclusions contained in the software and documentation are
273c838a9fSAndrew Rybchenko  * those of the authors and should not be interpreted as representing official
283c838a9fSAndrew Rybchenko  * policies, either expressed or implied, of the FreeBSD Project.
295dee87d7SPhilip Paeps  *
305dee87d7SPhilip Paeps  * $FreeBSD$
31e948693eSPhilip Paeps  */
32e948693eSPhilip Paeps 
33e948693eSPhilip Paeps #ifndef	_SYS_EFX_EF10_REGS_H
34e948693eSPhilip Paeps #define	_SYS_EFX_EF10_REGS_H
35e948693eSPhilip Paeps 
36e948693eSPhilip Paeps #ifdef	__cplusplus
37e948693eSPhilip Paeps extern "C" {
38e948693eSPhilip Paeps #endif
39e948693eSPhilip Paeps 
40946b5480SAndrew Rybchenko /**************************************************************************
41946b5480SAndrew Rybchenko  * NOTE: the line below marks the start of the autogenerated section
42946b5480SAndrew Rybchenko  * EF10 registers and descriptors
43946b5480SAndrew Rybchenko  *
44946b5480SAndrew Rybchenko  **************************************************************************
45946b5480SAndrew Rybchenko  */
46946b5480SAndrew Rybchenko 
47e948693eSPhilip Paeps /*
48e948693eSPhilip Paeps  * BIU_HW_REV_ID_REG(32bit):
49e948693eSPhilip Paeps  *
50e948693eSPhilip Paeps  */
51e948693eSPhilip Paeps 
523c838a9fSAndrew Rybchenko #define	ER_DZ_BIU_HW_REV_ID_REG_OFST 0x00000000
53*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
543c838a9fSAndrew Rybchenko #define	ER_DZ_BIU_HW_REV_ID_REG_RESET 0xeb14face
553c838a9fSAndrew Rybchenko 
56e948693eSPhilip Paeps 
57e948693eSPhilip Paeps #define	ERF_DZ_HW_REV_ID_LBN 0
58e948693eSPhilip Paeps #define	ERF_DZ_HW_REV_ID_WIDTH 32
59e948693eSPhilip Paeps 
60e948693eSPhilip Paeps 
61e948693eSPhilip Paeps /*
62e948693eSPhilip Paeps  * BIU_MC_SFT_STATUS_REG(32bit):
63e948693eSPhilip Paeps  *
64e948693eSPhilip Paeps  */
65e948693eSPhilip Paeps 
663c838a9fSAndrew Rybchenko #define	ER_DZ_BIU_MC_SFT_STATUS_REG_OFST 0x00000010
67*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
68e948693eSPhilip Paeps #define	ER_DZ_BIU_MC_SFT_STATUS_REG_STEP 4
69e948693eSPhilip Paeps #define	ER_DZ_BIU_MC_SFT_STATUS_REG_ROWS 8
703c838a9fSAndrew Rybchenko #define	ER_DZ_BIU_MC_SFT_STATUS_REG_RESET 0x1111face
713c838a9fSAndrew Rybchenko 
72e948693eSPhilip Paeps 
73e948693eSPhilip Paeps #define	ERF_DZ_MC_SFT_STATUS_LBN 0
74e948693eSPhilip Paeps #define	ERF_DZ_MC_SFT_STATUS_WIDTH 32
75e948693eSPhilip Paeps 
76e948693eSPhilip Paeps 
77e948693eSPhilip Paeps /*
78e948693eSPhilip Paeps  * BIU_INT_ISR_REG(32bit):
79e948693eSPhilip Paeps  *
80e948693eSPhilip Paeps  */
81e948693eSPhilip Paeps 
823c838a9fSAndrew Rybchenko #define	ER_DZ_BIU_INT_ISR_REG_OFST 0x00000090
83*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
843c838a9fSAndrew Rybchenko #define	ER_DZ_BIU_INT_ISR_REG_RESET 0x0
853c838a9fSAndrew Rybchenko 
86e948693eSPhilip Paeps 
87e948693eSPhilip Paeps #define	ERF_DZ_ISR_REG_LBN 0
88e948693eSPhilip Paeps #define	ERF_DZ_ISR_REG_WIDTH 32
89e948693eSPhilip Paeps 
90e948693eSPhilip Paeps 
91e948693eSPhilip Paeps /*
92e948693eSPhilip Paeps  * MC_DB_LWRD_REG(32bit):
93e948693eSPhilip Paeps  *
94e948693eSPhilip Paeps  */
95e948693eSPhilip Paeps 
963c838a9fSAndrew Rybchenko #define	ER_DZ_MC_DB_LWRD_REG_OFST 0x00000200
97*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
983c838a9fSAndrew Rybchenko #define	ER_DZ_MC_DB_LWRD_REG_RESET 0x0
993c838a9fSAndrew Rybchenko 
100e948693eSPhilip Paeps 
101e948693eSPhilip Paeps #define	ERF_DZ_MC_DOORBELL_L_LBN 0
102e948693eSPhilip Paeps #define	ERF_DZ_MC_DOORBELL_L_WIDTH 32
103e948693eSPhilip Paeps 
104e948693eSPhilip Paeps 
105e948693eSPhilip Paeps /*
106e948693eSPhilip Paeps  * MC_DB_HWRD_REG(32bit):
107e948693eSPhilip Paeps  *
108e948693eSPhilip Paeps  */
109e948693eSPhilip Paeps 
1103c838a9fSAndrew Rybchenko #define	ER_DZ_MC_DB_HWRD_REG_OFST 0x00000204
111*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
1123c838a9fSAndrew Rybchenko #define	ER_DZ_MC_DB_HWRD_REG_RESET 0x0
1133c838a9fSAndrew Rybchenko 
114e948693eSPhilip Paeps 
115e948693eSPhilip Paeps #define	ERF_DZ_MC_DOORBELL_H_LBN 0
116e948693eSPhilip Paeps #define	ERF_DZ_MC_DOORBELL_H_WIDTH 32
117e948693eSPhilip Paeps 
118e948693eSPhilip Paeps 
119e948693eSPhilip Paeps /*
120e948693eSPhilip Paeps  * EVQ_RPTR_REG(32bit):
121e948693eSPhilip Paeps  *
122e948693eSPhilip Paeps  */
123e948693eSPhilip Paeps 
1243c838a9fSAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_OFST 0x00000400
125*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
1263c838a9fSAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_STEP 8192
127e948693eSPhilip Paeps #define	ER_DZ_EVQ_RPTR_REG_ROWS 2048
1283c838a9fSAndrew Rybchenko #define	ER_DZ_EVQ_RPTR_REG_RESET 0x0
1293c838a9fSAndrew Rybchenko 
130e948693eSPhilip Paeps 
131e948693eSPhilip Paeps #define	ERF_DZ_EVQ_RPTR_VLD_LBN 15
132e948693eSPhilip Paeps #define	ERF_DZ_EVQ_RPTR_VLD_WIDTH 1
133e948693eSPhilip Paeps #define	ERF_DZ_EVQ_RPTR_LBN 0
134e948693eSPhilip Paeps #define	ERF_DZ_EVQ_RPTR_WIDTH 15
135e948693eSPhilip Paeps 
136e948693eSPhilip Paeps 
137e948693eSPhilip Paeps /*
138e948693eSPhilip Paeps  * EVQ_TMR_REG(32bit):
139e948693eSPhilip Paeps  *
140e948693eSPhilip Paeps  */
141e948693eSPhilip Paeps 
1423c838a9fSAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_OFST 0x00000420
143*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
1443c838a9fSAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_STEP 8192
145e948693eSPhilip Paeps #define	ER_DZ_EVQ_TMR_REG_ROWS 2048
1463c838a9fSAndrew Rybchenko #define	ER_DZ_EVQ_TMR_REG_RESET 0x0
1473c838a9fSAndrew Rybchenko 
148e948693eSPhilip Paeps 
149e948693eSPhilip Paeps #define	ERF_DZ_TC_TIMER_MODE_LBN 14
150e948693eSPhilip Paeps #define	ERF_DZ_TC_TIMER_MODE_WIDTH 2
151e948693eSPhilip Paeps #define	ERF_DZ_TC_TIMER_VAL_LBN 0
152e948693eSPhilip Paeps #define	ERF_DZ_TC_TIMER_VAL_WIDTH 14
153e948693eSPhilip Paeps 
154e948693eSPhilip Paeps 
155e948693eSPhilip Paeps /*
156e948693eSPhilip Paeps  * RX_DESC_UPD_REG(32bit):
157e948693eSPhilip Paeps  *
158e948693eSPhilip Paeps  */
159e948693eSPhilip Paeps 
1603c838a9fSAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_OFST 0x00000830
161*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
1623c838a9fSAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_STEP 8192
163e948693eSPhilip Paeps #define	ER_DZ_RX_DESC_UPD_REG_ROWS 2048
1643c838a9fSAndrew Rybchenko #define	ER_DZ_RX_DESC_UPD_REG_RESET 0x0
1653c838a9fSAndrew Rybchenko 
166e948693eSPhilip Paeps 
167e948693eSPhilip Paeps #define	ERF_DZ_RX_DESC_WPTR_LBN 0
168e948693eSPhilip Paeps #define	ERF_DZ_RX_DESC_WPTR_WIDTH 12
169e948693eSPhilip Paeps 
170e948693eSPhilip Paeps 
171e948693eSPhilip Paeps /*
1723c838a9fSAndrew Rybchenko  * TX_DESC_UPD_REG(96bit):
173e948693eSPhilip Paeps  *
174e948693eSPhilip Paeps  */
175e948693eSPhilip Paeps 
1763c838a9fSAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_OFST 0x00000a10
177*e78e1b4dSAndrew Rybchenko /* hunta0,medforda0=pcie_pf_bar2 */
1783c838a9fSAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_STEP 8192
179e948693eSPhilip Paeps #define	ER_DZ_TX_DESC_UPD_REG_ROWS 2048
1803c838a9fSAndrew Rybchenko #define	ER_DZ_TX_DESC_UPD_REG_RESET 0x0
181e948693eSPhilip Paeps 
1823c838a9fSAndrew Rybchenko 
1833c838a9fSAndrew Rybchenko #define	ERF_DZ_RSVD_LBN 76
1843c838a9fSAndrew Rybchenko #define	ERF_DZ_RSVD_WIDTH 20
185e948693eSPhilip Paeps #define	ERF_DZ_TX_DESC_WPTR_LBN 64
186e948693eSPhilip Paeps #define	ERF_DZ_TX_DESC_WPTR_WIDTH 12
187e948693eSPhilip Paeps #define	ERF_DZ_TX_DESC_HWORD_LBN 32
188e948693eSPhilip Paeps #define	ERF_DZ_TX_DESC_HWORD_WIDTH 32
189e948693eSPhilip Paeps #define	ERF_DZ_TX_DESC_LWORD_LBN 0
190e948693eSPhilip Paeps #define	ERF_DZ_TX_DESC_LWORD_WIDTH 32
191e948693eSPhilip Paeps 
192f8806762SAndrew Rybchenko 
193e948693eSPhilip Paeps /* ES_DRIVER_EV */
194e948693eSPhilip Paeps #define	ESF_DZ_DRV_CODE_LBN 60
195e948693eSPhilip Paeps #define	ESF_DZ_DRV_CODE_WIDTH 4
196e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_CODE_LBN 56
197e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_CODE_WIDTH 4
1983c838a9fSAndrew Rybchenko #define	ESE_DZ_DRV_TIMER_EV 3
1993c838a9fSAndrew Rybchenko #define	ESE_DZ_DRV_START_UP_EV 2
2003c838a9fSAndrew Rybchenko #define	ESE_DZ_DRV_WAKE_UP_EV 1
201e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_DATA_DW0_LBN 0
202e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_DATA_DW0_WIDTH 32
203e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_DATA_DW1_LBN 32
204e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_DATA_DW1_WIDTH 24
205e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_DATA_LBN 0
206e948693eSPhilip Paeps #define	ESF_DZ_DRV_SUB_DATA_WIDTH 56
207e948693eSPhilip Paeps #define	ESF_DZ_DRV_EVQ_ID_LBN 0
208e948693eSPhilip Paeps #define	ESF_DZ_DRV_EVQ_ID_WIDTH 14
209e948693eSPhilip Paeps #define	ESF_DZ_DRV_TMR_ID_LBN 0
210e948693eSPhilip Paeps #define	ESF_DZ_DRV_TMR_ID_WIDTH 14
211e948693eSPhilip Paeps 
212e948693eSPhilip Paeps 
213e948693eSPhilip Paeps /* ES_EVENT_ENTRY */
214e948693eSPhilip Paeps #define	ESF_DZ_EV_CODE_LBN 60
215e948693eSPhilip Paeps #define	ESF_DZ_EV_CODE_WIDTH 4
216e948693eSPhilip Paeps #define	ESE_DZ_EV_CODE_MCDI_EV 12
217e948693eSPhilip Paeps #define	ESE_DZ_EV_CODE_DRIVER_EV 5
218e948693eSPhilip Paeps #define	ESE_DZ_EV_CODE_TX_EV 2
219e948693eSPhilip Paeps #define	ESE_DZ_EV_CODE_RX_EV 0
220e948693eSPhilip Paeps #define	ESE_DZ_OTHER other
221e948693eSPhilip Paeps #define	ESF_DZ_EV_DATA_DW0_LBN 0
222e948693eSPhilip Paeps #define	ESF_DZ_EV_DATA_DW0_WIDTH 32
223e948693eSPhilip Paeps #define	ESF_DZ_EV_DATA_DW1_LBN 32
224e948693eSPhilip Paeps #define	ESF_DZ_EV_DATA_DW1_WIDTH 28
225e948693eSPhilip Paeps #define	ESF_DZ_EV_DATA_LBN 0
226e948693eSPhilip Paeps #define	ESF_DZ_EV_DATA_WIDTH 60
227e948693eSPhilip Paeps 
228e948693eSPhilip Paeps 
229e948693eSPhilip Paeps /* ES_MC_EVENT */
230e948693eSPhilip Paeps #define	ESF_DZ_MC_CODE_LBN 60
231e948693eSPhilip Paeps #define	ESF_DZ_MC_CODE_WIDTH 4
232e948693eSPhilip Paeps #define	ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59
233e948693eSPhilip Paeps #define	ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1
234e948693eSPhilip Paeps #define	ESF_DZ_MC_DROP_EVENT_LBN 58
235e948693eSPhilip Paeps #define	ESF_DZ_MC_DROP_EVENT_WIDTH 1
236e948693eSPhilip Paeps #define	ESF_DZ_MC_SOFT_DW0_LBN 0
237e948693eSPhilip Paeps #define	ESF_DZ_MC_SOFT_DW0_WIDTH 32
238e948693eSPhilip Paeps #define	ESF_DZ_MC_SOFT_DW1_LBN 32
239e948693eSPhilip Paeps #define	ESF_DZ_MC_SOFT_DW1_WIDTH 26
240e948693eSPhilip Paeps #define	ESF_DZ_MC_SOFT_LBN 0
241e948693eSPhilip Paeps #define	ESF_DZ_MC_SOFT_WIDTH 58
242e948693eSPhilip Paeps 
243e948693eSPhilip Paeps 
244e948693eSPhilip Paeps /* ES_RX_EVENT */
245e948693eSPhilip Paeps #define	ESF_DZ_RX_CODE_LBN 60
246e948693eSPhilip Paeps #define	ESF_DZ_RX_CODE_WIDTH 4
247e948693eSPhilip Paeps #define	ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59
248e948693eSPhilip Paeps #define	ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1
249e948693eSPhilip Paeps #define	ESF_DZ_RX_DROP_EVENT_LBN 58
250e948693eSPhilip Paeps #define	ESF_DZ_RX_DROP_EVENT_WIDTH 1
251*e78e1b4dSAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD2_LBN 54
252*e78e1b4dSAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD2_WIDTH 4
253*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_LBN 57
254*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1
255*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_IP_INNER_CHKSUM_ERR_LBN 56
256*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_IP_INNER_CHKSUM_ERR_WIDTH 1
257*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD2_LBN 54
258*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD2_WIDTH 2
259e948693eSPhilip Paeps #define	ESF_DZ_RX_EV_SOFT2_LBN 52
2603c838a9fSAndrew Rybchenko #define	ESF_DZ_RX_EV_SOFT2_WIDTH 2
261e948693eSPhilip Paeps #define	ESF_DZ_RX_DSC_PTR_LBITS_LBN 48
262e948693eSPhilip Paeps #define	ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4
263e948693eSPhilip Paeps #define	ESF_DZ_RX_L4_CLASS_LBN 45
264e948693eSPhilip Paeps #define	ESF_DZ_RX_L4_CLASS_WIDTH 3
265e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_RSVD7 7
266e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_RSVD6 6
267e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_RSVD5 5
268e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_RSVD4 4
269e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_RSVD3 3
270e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_UDP 2
271e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_TCP 1
272e948693eSPhilip Paeps #define	ESE_DZ_L4_CLASS_UNKNOWN 0
273e948693eSPhilip Paeps #define	ESF_DZ_RX_L3_CLASS_LBN 42
274e948693eSPhilip Paeps #define	ESF_DZ_RX_L3_CLASS_WIDTH 3
275e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_RSVD7 7
276e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_IP6_FRAG 6
277e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_ARP 5
278e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_IP4_FRAG 4
279e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_FCOE 3
280e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_IP6 2
281e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_IP4 1
282e948693eSPhilip Paeps #define	ESE_DZ_L3_CLASS_UNKNOWN 0
283e948693eSPhilip Paeps #define	ESF_DZ_RX_ETH_TAG_CLASS_LBN 39
284e948693eSPhilip Paeps #define	ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3
285e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_RSVD7 7
286e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_RSVD6 6
287e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_RSVD5 5
288e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_RSVD4 4
289e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_RSVD3 3
290e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_VLAN2 2
291e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_VLAN1 1
292e948693eSPhilip Paeps #define	ESE_DZ_ETH_TAG_CLASS_NONE 0
293e948693eSPhilip Paeps #define	ESF_DZ_RX_ETH_BASE_CLASS_LBN 36
294e948693eSPhilip Paeps #define	ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3
295e948693eSPhilip Paeps #define	ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2
296e948693eSPhilip Paeps #define	ESE_DZ_ETH_BASE_CLASS_LLC 1
297e948693eSPhilip Paeps #define	ESE_DZ_ETH_BASE_CLASS_ETH2 0
298e948693eSPhilip Paeps #define	ESF_DZ_RX_MAC_CLASS_LBN 35
299e948693eSPhilip Paeps #define	ESF_DZ_RX_MAC_CLASS_WIDTH 1
300e948693eSPhilip Paeps #define	ESE_DZ_MAC_CLASS_MCAST 1
301e948693eSPhilip Paeps #define	ESE_DZ_MAC_CLASS_UCAST 0
302*e78e1b4dSAndrew Rybchenko #define	ESF_DD_RX_EV_SOFT1_LBN 32
303*e78e1b4dSAndrew Rybchenko #define	ESF_DD_RX_EV_SOFT1_WIDTH 3
304*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_EV_SOFT1_LBN 34
305*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_EV_SOFT1_WIDTH 1
306*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_ENCAP_HDR_LBN 32
307*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_ENCAP_HDR_WIDTH 2
308*e78e1b4dSAndrew Rybchenko #define	ESE_EZ_ENCAP_HDR_GRE 2
309*e78e1b4dSAndrew Rybchenko #define	ESE_EZ_ENCAP_HDR_VXLAN 1
310*e78e1b4dSAndrew Rybchenko #define	ESE_EZ_ENCAP_HDR_NONE 0
311*e78e1b4dSAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD1_LBN 30
312*e78e1b4dSAndrew Rybchenko #define	ESF_DD_RX_EV_RSVD1_WIDTH 2
313*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD1_LBN 31
314*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_EV_RSVD1_WIDTH 1
315*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_ABORT_LBN 30
316*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_RX_ABORT_WIDTH 1
317e948693eSPhilip Paeps #define	ESF_DZ_RX_ECC_ERR_LBN 29
318e948693eSPhilip Paeps #define	ESF_DZ_RX_ECC_ERR_WIDTH 1
319e948693eSPhilip Paeps #define	ESF_DZ_RX_CRC1_ERR_LBN 28
320e948693eSPhilip Paeps #define	ESF_DZ_RX_CRC1_ERR_WIDTH 1
321e948693eSPhilip Paeps #define	ESF_DZ_RX_CRC0_ERR_LBN 27
322e948693eSPhilip Paeps #define	ESF_DZ_RX_CRC0_ERR_WIDTH 1
323e948693eSPhilip Paeps #define	ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26
324e948693eSPhilip Paeps #define	ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1
325e948693eSPhilip Paeps #define	ESF_DZ_RX_IPCKSUM_ERR_LBN 25
326e948693eSPhilip Paeps #define	ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1
327e948693eSPhilip Paeps #define	ESF_DZ_RX_ECRC_ERR_LBN 24
328e948693eSPhilip Paeps #define	ESF_DZ_RX_ECRC_ERR_WIDTH 1
329e948693eSPhilip Paeps #define	ESF_DZ_RX_QLABEL_LBN 16
3303c838a9fSAndrew Rybchenko #define	ESF_DZ_RX_QLABEL_WIDTH 5
331e948693eSPhilip Paeps #define	ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15
332e948693eSPhilip Paeps #define	ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1
333e948693eSPhilip Paeps #define	ESF_DZ_RX_CONT_LBN 14
334e948693eSPhilip Paeps #define	ESF_DZ_RX_CONT_WIDTH 1
335e948693eSPhilip Paeps #define	ESF_DZ_RX_BYTES_LBN 0
336e948693eSPhilip Paeps #define	ESF_DZ_RX_BYTES_WIDTH 14
337e948693eSPhilip Paeps 
338e948693eSPhilip Paeps 
339e948693eSPhilip Paeps /* ES_RX_KER_DESC */
340e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_RESERVED_LBN 62
341e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_RESERVED_WIDTH 2
342e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BYTE_CNT_LBN 48
343e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14
344e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BUF_ADDR_DW0_LBN 0
345e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BUF_ADDR_DW0_WIDTH 32
346e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BUF_ADDR_DW1_LBN 32
347e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BUF_ADDR_DW1_WIDTH 16
348e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BUF_ADDR_LBN 0
349e948693eSPhilip Paeps #define	ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48
350e948693eSPhilip Paeps 
351e948693eSPhilip Paeps 
3523c838a9fSAndrew Rybchenko /* ES_TX_CSUM_TSTAMP_DESC */
3533c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
3543c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
3553c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
3563c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
3573c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
3583c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
3593c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
360f8806762SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8
361f8806762SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1
362f8806762SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7
363f8806762SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1
364f8806762SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6
365f8806762SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1
3663c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_TIMESTAMP_LBN 5
3673c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_TIMESTAMP_WIDTH 1
3683c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_CRC_MODE_LBN 2
3693c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3
3703c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5
3713c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4
3723c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3
3733c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2
3743c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_FCOE 1
3753c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_CRC_OFF 0
3763c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1
3773c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1
3783c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_IP_CSUM_LBN 0
3793c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1
3803c838a9fSAndrew Rybchenko 
3813c838a9fSAndrew Rybchenko 
382e948693eSPhilip Paeps /* ES_TX_EVENT */
383e948693eSPhilip Paeps #define	ESF_DZ_TX_CODE_LBN 60
384e948693eSPhilip Paeps #define	ESF_DZ_TX_CODE_WIDTH 4
385e948693eSPhilip Paeps #define	ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59
386e948693eSPhilip Paeps #define	ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1
387e948693eSPhilip Paeps #define	ESF_DZ_TX_DROP_EVENT_LBN 58
388e948693eSPhilip Paeps #define	ESF_DZ_TX_DROP_EVENT_WIDTH 1
389*e78e1b4dSAndrew Rybchenko #define	ESF_DD_TX_EV_RSVD_LBN 48
390*e78e1b4dSAndrew Rybchenko #define	ESF_DD_TX_EV_RSVD_WIDTH 10
391*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_LBN 57
392*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1
393*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_IP_INNER_CHKSUM_ERR_LBN 56
394*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_IP_INNER_CHKSUM_ERR_WIDTH 1
395*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TX_EV_RSVD_LBN 48
396*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TX_EV_RSVD_WIDTH 8
397e948693eSPhilip Paeps #define	ESF_DZ_TX_SOFT2_LBN 32
398e948693eSPhilip Paeps #define	ESF_DZ_TX_SOFT2_WIDTH 16
399*e78e1b4dSAndrew Rybchenko #define	ESF_DD_TX_SOFT1_LBN 24
400*e78e1b4dSAndrew Rybchenko #define	ESF_DD_TX_SOFT1_WIDTH 8
401*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TX_CAN_MERGE_LBN 31
402*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TX_CAN_MERGE_WIDTH 1
403*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TX_SOFT1_LBN 24
404*e78e1b4dSAndrew Rybchenko #define	ESF_EZ_TX_SOFT1_WIDTH 7
405e948693eSPhilip Paeps #define	ESF_DZ_TX_QLABEL_LBN 16
4063c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_QLABEL_WIDTH 5
407e948693eSPhilip Paeps #define	ESF_DZ_TX_DESCR_INDX_LBN 0
408e948693eSPhilip Paeps #define	ESF_DZ_TX_DESCR_INDX_WIDTH 16
409e948693eSPhilip Paeps 
410e948693eSPhilip Paeps 
411e948693eSPhilip Paeps /* ES_TX_KER_DESC */
412e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_TYPE_LBN 63
413e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_TYPE_WIDTH 1
414e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_CONT_LBN 62
415e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_CONT_WIDTH 1
416e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BYTE_CNT_LBN 48
417e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14
418e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BUF_ADDR_DW0_LBN 0
419e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BUF_ADDR_DW0_WIDTH 32
420e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BUF_ADDR_DW1_LBN 32
421e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BUF_ADDR_DW1_WIDTH 16
422e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BUF_ADDR_LBN 0
423e948693eSPhilip Paeps #define	ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48
424e948693eSPhilip Paeps 
425e948693eSPhilip Paeps 
4263c838a9fSAndrew Rybchenko /* ES_TX_PIO_DESC */
4273c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_TYPE_LBN 63
4283c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_TYPE_WIDTH 1
4293c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_OPT_LBN 60
4303c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_OPT_WIDTH 3
4313c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_CONT_LBN 59
4323c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_CONT_WIDTH 1
4333c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_BYTE_CNT_LBN 32
4343c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12
4353c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_BUF_ADDR_LBN 0
4363c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12
4373c838a9fSAndrew Rybchenko 
4383c838a9fSAndrew Rybchenko 
4393c838a9fSAndrew Rybchenko /* ES_TX_TSO_DESC */
440e948693eSPhilip Paeps #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
441e948693eSPhilip Paeps #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
442e948693eSPhilip Paeps #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
443e948693eSPhilip Paeps #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
4443c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
4453c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
446e948693eSPhilip Paeps #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
447f8806762SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
448f8806762SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
449f8806762SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
450f8806762SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
451e948693eSPhilip Paeps #define	ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48
452e948693eSPhilip Paeps #define	ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8
4533c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_LBN 32
4543c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_WIDTH 16
455e948693eSPhilip Paeps #define	ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0
456e948693eSPhilip Paeps #define	ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32
457e948693eSPhilip Paeps 
458e948693eSPhilip Paeps 
45951fd6441SAndrew Rybchenko /* TX_TSO_FATSO2A_DESC */
46051fd6441SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
46151fd6441SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
46251fd6441SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
46351fd6441SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
46451fd6441SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
46551fd6441SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
46651fd6441SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
46751fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
46851fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
46951fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
47051fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
47151fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
47251fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
47351fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_LBN 32
47451fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_IP_ID_WIDTH 16
47551fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0
47651fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32
47751fd6441SAndrew Rybchenko 
47851fd6441SAndrew Rybchenko 
47951fd6441SAndrew Rybchenko /* TX_TSO_FATSO2B_DESC */
48051fd6441SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
48151fd6441SAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
48251fd6441SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
48351fd6441SAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
48451fd6441SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
48551fd6441SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
48651fd6441SAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
48751fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
48851fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
48951fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
49051fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
49151fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
49251fd6441SAndrew Rybchenko #define	ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
49351fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OUTER_IP_ID_LBN 16
49451fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_OUTER_IP_ID_WIDTH 16
49551fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_MSS_LBN 32
49651fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16
49751fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_INNER_PE_CSUM_LBN 0
49851fd6441SAndrew Rybchenko #define	ESF_DZ_TX_TSO_INNER_PE_CSUM_WIDTH 16
49951fd6441SAndrew Rybchenko 
50051fd6441SAndrew Rybchenko 
5013c838a9fSAndrew Rybchenko /* ES_TX_VLAN_DESC */
5023c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_LBN 63
5033c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
5043c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_LBN 60
5053c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_OPTION_TYPE_WIDTH 3
5063c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_TSO 7
5073c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_VLAN 6
5083c838a9fSAndrew Rybchenko #define	ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
5093c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_VLAN_OP_LBN 32
5103c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_VLAN_OP_WIDTH 2
5113c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG2_LBN 16
5123c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG2_WIDTH 16
5133c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG1_LBN 0
5143c838a9fSAndrew Rybchenko #define	ESF_DZ_TX_VLAN_TAG1_WIDTH 16
5153c838a9fSAndrew Rybchenko 
5163c838a9fSAndrew Rybchenko 
517946b5480SAndrew Rybchenko /*************************************************************************
518946b5480SAndrew Rybchenko  * NOTE: the comment line above marks the end of the autogenerated section
519946b5480SAndrew Rybchenko  */
520946b5480SAndrew Rybchenko 
521946b5480SAndrew Rybchenko /*
522946b5480SAndrew Rybchenko  * The workaround for bug 35388 requires multiplexing writes through
523946b5480SAndrew Rybchenko  * the ERF_DZ_TX_DESC_WPTR address.
524946b5480SAndrew Rybchenko  * TX_DESC_UPD: 0ppppppppppp               (bit 11 lost)
525946b5480SAndrew Rybchenko  * EVQ_RPTR:    1000hhhhhhhh, 1001llllllll (split into high and low bits)
526946b5480SAndrew Rybchenko  * EVQ_TMR:     11mmvvvvvvvv               (bits 8:13 of value lost)
527946b5480SAndrew Rybchenko  */
528946b5480SAndrew Rybchenko #define	ER_DD_EVQ_INDIRECT_OFST (ER_DZ_TX_DESC_UPD_REG_OFST + 2 * 4)
529946b5480SAndrew Rybchenko #define	ER_DD_EVQ_INDIRECT_STEP ER_DZ_TX_DESC_UPD_REG_STEP
530946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8
531946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4
532946b5480SAndrew Rybchenko #define	EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8
533946b5480SAndrew Rybchenko #define	EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9
534946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_LBN 0
535946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_RPTR_WIDTH 8
536946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10
537946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2
538946b5480SAndrew Rybchenko #define	EFE_DD_EVQ_IND_TIMER_FLAGS 3
539946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_MODE_LBN 8
540946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2
541946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_VAL_LBN 0
542946b5480SAndrew Rybchenko #define	ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8
543946b5480SAndrew Rybchenko 
544946b5480SAndrew Rybchenko 
545e948693eSPhilip Paeps #ifdef	__cplusplus
546e948693eSPhilip Paeps }
547e948693eSPhilip Paeps #endif
548e948693eSPhilip Paeps 
549e948693eSPhilip Paeps #endif /* _SYS_EFX_EF10_REGS_H */
550