New upstream version 18.02
[deb_dpdk.git] / drivers / net / sfc / base / efx_regs_ef10.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  *
3  * Copyright (c) 2007-2018 Solarflare Communications Inc.
4  * All rights reserved.
5  */
6
7 #ifndef _SYS_EFX_EF10_REGS_H
8 #define _SYS_EFX_EF10_REGS_H
9
10 #ifdef  __cplusplus
11 extern "C" {
12 #endif
13
14 /**************************************************************************
15  * NOTE: the line below marks the start of the autogenerated section
16  * EF10 registers and descriptors
17  *
18  **************************************************************************
19  */
20
21 /*
22  * BIU_HW_REV_ID_REG(32bit):
23  *
24  */
25
26 #define ER_DZ_BIU_HW_REV_ID_REG_OFST 0x00000000
27 /* hunta0,medforda0=pcie_pf_bar2 */
28 #define ER_DZ_BIU_HW_REV_ID_REG_RESET 0xeb14face
29
30
31 #define ERF_DZ_HW_REV_ID_LBN 0
32 #define ERF_DZ_HW_REV_ID_WIDTH 32
33
34
35 /*
36  * BIU_MC_SFT_STATUS_REG(32bit):
37  *
38  */
39
40 #define ER_DZ_BIU_MC_SFT_STATUS_REG_OFST 0x00000010
41 /* hunta0,medforda0=pcie_pf_bar2 */
42 #define ER_DZ_BIU_MC_SFT_STATUS_REG_STEP 4
43 #define ER_DZ_BIU_MC_SFT_STATUS_REG_ROWS 8
44 #define ER_DZ_BIU_MC_SFT_STATUS_REG_RESET 0x1111face
45
46
47 #define ERF_DZ_MC_SFT_STATUS_LBN 0
48 #define ERF_DZ_MC_SFT_STATUS_WIDTH 32
49
50
51 /*
52  * BIU_INT_ISR_REG(32bit):
53  *
54  */
55
56 #define ER_DZ_BIU_INT_ISR_REG_OFST 0x00000090
57 /* hunta0,medforda0=pcie_pf_bar2 */
58 #define ER_DZ_BIU_INT_ISR_REG_RESET 0x0
59
60
61 #define ERF_DZ_ISR_REG_LBN 0
62 #define ERF_DZ_ISR_REG_WIDTH 32
63
64
65 /*
66  * MC_DB_LWRD_REG(32bit):
67  *
68  */
69
70 #define ER_DZ_MC_DB_LWRD_REG_OFST 0x00000200
71 /* hunta0,medforda0=pcie_pf_bar2 */
72 #define ER_DZ_MC_DB_LWRD_REG_RESET 0x0
73
74
75 #define ERF_DZ_MC_DOORBELL_L_LBN 0
76 #define ERF_DZ_MC_DOORBELL_L_WIDTH 32
77
78
79 /*
80  * MC_DB_HWRD_REG(32bit):
81  *
82  */
83
84 #define ER_DZ_MC_DB_HWRD_REG_OFST 0x00000204
85 /* hunta0,medforda0=pcie_pf_bar2 */
86 #define ER_DZ_MC_DB_HWRD_REG_RESET 0x0
87
88
89 #define ERF_DZ_MC_DOORBELL_H_LBN 0
90 #define ERF_DZ_MC_DOORBELL_H_WIDTH 32
91
92
93 /*
94  * EVQ_RPTR_REG(32bit):
95  *
96  */
97
98 #define ER_DZ_EVQ_RPTR_REG_OFST 0x00000400
99 /* hunta0,medforda0=pcie_pf_bar2 */
100 #define ER_DZ_EVQ_RPTR_REG_STEP 8192
101 #define ER_DZ_EVQ_RPTR_REG_ROWS 2048
102 #define ER_DZ_EVQ_RPTR_REG_RESET 0x0
103
104
105 #define ERF_DZ_EVQ_RPTR_VLD_LBN 15
106 #define ERF_DZ_EVQ_RPTR_VLD_WIDTH 1
107 #define ERF_DZ_EVQ_RPTR_LBN 0
108 #define ERF_DZ_EVQ_RPTR_WIDTH 15
109
110
111 /*
112  * EVQ_TMR_REG(32bit):
113  *
114  */
115
116 #define ER_DZ_EVQ_TMR_REG_OFST 0x00000420
117 /* hunta0,medforda0=pcie_pf_bar2 */
118 #define ER_DZ_EVQ_TMR_REG_STEP 8192
119 #define ER_DZ_EVQ_TMR_REG_ROWS 2048
120 #define ER_DZ_EVQ_TMR_REG_RESET 0x0
121
122
123 #define ERF_DZ_TC_TIMER_MODE_LBN 14
124 #define ERF_DZ_TC_TIMER_MODE_WIDTH 2
125 #define ERF_DZ_TC_TIMER_VAL_LBN 0
126 #define ERF_DZ_TC_TIMER_VAL_WIDTH 14
127
128
129 /*
130  * RX_DESC_UPD_REG(32bit):
131  *
132  */
133
134 #define ER_DZ_RX_DESC_UPD_REG_OFST 0x00000830
135 /* hunta0,medforda0=pcie_pf_bar2 */
136 #define ER_DZ_RX_DESC_UPD_REG_STEP 8192
137 #define ER_DZ_RX_DESC_UPD_REG_ROWS 2048
138 #define ER_DZ_RX_DESC_UPD_REG_RESET 0x0
139
140
141 #define ERF_DZ_RX_DESC_WPTR_LBN 0
142 #define ERF_DZ_RX_DESC_WPTR_WIDTH 12
143
144 /*
145  * TX_DESC_UPD_REG(96bit):
146  *
147  */
148
149 #define ER_DZ_TX_DESC_UPD_REG_OFST 0x00000a10
150 /* hunta0,medforda0=pcie_pf_bar2 */
151 #define ER_DZ_TX_DESC_UPD_REG_STEP 8192
152 #define ER_DZ_TX_DESC_UPD_REG_ROWS 2048
153 #define ER_DZ_TX_DESC_UPD_REG_RESET 0x0
154
155
156 #define ERF_DZ_RSVD_LBN 76
157 #define ERF_DZ_RSVD_WIDTH 20
158 #define ERF_DZ_TX_DESC_WPTR_LBN 64
159 #define ERF_DZ_TX_DESC_WPTR_WIDTH 12
160 #define ERF_DZ_TX_DESC_HWORD_LBN 32
161 #define ERF_DZ_TX_DESC_HWORD_WIDTH 32
162 #define ERF_DZ_TX_DESC_LWORD_LBN 0
163 #define ERF_DZ_TX_DESC_LWORD_WIDTH 32
164
165
166 /* ES_DRIVER_EV */
167 #define ESF_DZ_DRV_CODE_LBN 60
168 #define ESF_DZ_DRV_CODE_WIDTH 4
169 #define ESF_DZ_DRV_SUB_CODE_LBN 56
170 #define ESF_DZ_DRV_SUB_CODE_WIDTH 4
171 #define ESE_DZ_DRV_TIMER_EV 3
172 #define ESE_DZ_DRV_START_UP_EV 2
173 #define ESE_DZ_DRV_WAKE_UP_EV 1
174 #define ESF_DZ_DRV_SUB_DATA_DW0_LBN 0
175 #define ESF_DZ_DRV_SUB_DATA_DW0_WIDTH 32
176 #define ESF_DZ_DRV_SUB_DATA_DW1_LBN 32
177 #define ESF_DZ_DRV_SUB_DATA_DW1_WIDTH 24
178 #define ESF_DZ_DRV_SUB_DATA_LBN 0
179 #define ESF_DZ_DRV_SUB_DATA_WIDTH 56
180 #define ESF_DZ_DRV_EVQ_ID_LBN 0
181 #define ESF_DZ_DRV_EVQ_ID_WIDTH 14
182 #define ESF_DZ_DRV_TMR_ID_LBN 0
183 #define ESF_DZ_DRV_TMR_ID_WIDTH 14
184
185
186 /* ES_EVENT_ENTRY */
187 #define ESF_DZ_EV_CODE_LBN 60
188 #define ESF_DZ_EV_CODE_WIDTH 4
189 #define ESE_DZ_EV_CODE_MCDI_EV 12
190 #define ESE_DZ_EV_CODE_DRIVER_EV 5
191 #define ESE_DZ_EV_CODE_TX_EV 2
192 #define ESE_DZ_EV_CODE_RX_EV 0
193 #define ESE_DZ_OTHER other
194 #define ESF_DZ_EV_DATA_DW0_LBN 0
195 #define ESF_DZ_EV_DATA_DW0_WIDTH 32
196 #define ESF_DZ_EV_DATA_DW1_LBN 32
197 #define ESF_DZ_EV_DATA_DW1_WIDTH 28
198 #define ESF_DZ_EV_DATA_LBN 0
199 #define ESF_DZ_EV_DATA_WIDTH 60
200
201
202 /* ES_MC_EVENT */
203 #define ESF_DZ_MC_CODE_LBN 60
204 #define ESF_DZ_MC_CODE_WIDTH 4
205 #define ESF_DZ_MC_OVERRIDE_HOLDOFF_LBN 59
206 #define ESF_DZ_MC_OVERRIDE_HOLDOFF_WIDTH 1
207 #define ESF_DZ_MC_DROP_EVENT_LBN 58
208 #define ESF_DZ_MC_DROP_EVENT_WIDTH 1
209 #define ESF_DZ_MC_SOFT_DW0_LBN 0
210 #define ESF_DZ_MC_SOFT_DW0_WIDTH 32
211 #define ESF_DZ_MC_SOFT_DW1_LBN 32
212 #define ESF_DZ_MC_SOFT_DW1_WIDTH 26
213 #define ESF_DZ_MC_SOFT_LBN 0
214 #define ESF_DZ_MC_SOFT_WIDTH 58
215
216
217 /* ES_RX_EVENT */
218 #define ESF_DZ_RX_CODE_LBN 60
219 #define ESF_DZ_RX_CODE_WIDTH 4
220 #define ESF_DZ_RX_OVERRIDE_HOLDOFF_LBN 59
221 #define ESF_DZ_RX_OVERRIDE_HOLDOFF_WIDTH 1
222 #define ESF_DZ_RX_DROP_EVENT_LBN 58
223 #define ESF_DZ_RX_DROP_EVENT_WIDTH 1
224 #define ESF_DD_RX_EV_RSVD2_LBN 54
225 #define ESF_DD_RX_EV_RSVD2_WIDTH 4
226 #define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_LBN 57
227 #define ESF_EZ_RX_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1
228 #define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_LBN 56
229 #define ESF_EZ_RX_IP_INNER_CHKSUM_ERR_WIDTH 1
230 #define ESF_EZ_RX_EV_RSVD2_LBN 54
231 #define ESF_EZ_RX_EV_RSVD2_WIDTH 2
232 #define ESF_DZ_RX_EV_SOFT2_LBN 52
233 #define ESF_DZ_RX_EV_SOFT2_WIDTH 2
234 #define ESF_DZ_RX_DSC_PTR_LBITS_LBN 48
235 #define ESF_DZ_RX_DSC_PTR_LBITS_WIDTH 4
236 #define ESF_DZ_RX_L4_CLASS_LBN 45
237 #define ESF_DZ_RX_L4_CLASS_WIDTH 3
238 #define ESE_DZ_L4_CLASS_RSVD7 7
239 #define ESE_DZ_L4_CLASS_RSVD6 6
240 #define ESE_DZ_L4_CLASS_RSVD5 5
241 #define ESE_DZ_L4_CLASS_RSVD4 4
242 #define ESE_DZ_L4_CLASS_RSVD3 3
243 #define ESE_DZ_L4_CLASS_UDP 2
244 #define ESE_DZ_L4_CLASS_TCP 1
245 #define ESE_DZ_L4_CLASS_UNKNOWN 0
246 #define ESF_DZ_RX_L3_CLASS_LBN 42
247 #define ESF_DZ_RX_L3_CLASS_WIDTH 3
248 #define ESE_DZ_L3_CLASS_RSVD7 7
249 #define ESE_DZ_L3_CLASS_IP6_FRAG 6
250 #define ESE_DZ_L3_CLASS_ARP 5
251 #define ESE_DZ_L3_CLASS_IP4_FRAG 4
252 #define ESE_DZ_L3_CLASS_FCOE 3
253 #define ESE_DZ_L3_CLASS_IP6 2
254 #define ESE_DZ_L3_CLASS_IP4 1
255 #define ESE_DZ_L3_CLASS_UNKNOWN 0
256 #define ESF_DZ_RX_ETH_TAG_CLASS_LBN 39
257 #define ESF_DZ_RX_ETH_TAG_CLASS_WIDTH 3
258 #define ESE_DZ_ETH_TAG_CLASS_RSVD7 7
259 #define ESE_DZ_ETH_TAG_CLASS_RSVD6 6
260 #define ESE_DZ_ETH_TAG_CLASS_RSVD5 5
261 #define ESE_DZ_ETH_TAG_CLASS_RSVD4 4
262 #define ESE_DZ_ETH_TAG_CLASS_RSVD3 3
263 #define ESE_DZ_ETH_TAG_CLASS_VLAN2 2
264 #define ESE_DZ_ETH_TAG_CLASS_VLAN1 1
265 #define ESE_DZ_ETH_TAG_CLASS_NONE 0
266 #define ESF_DZ_RX_ETH_BASE_CLASS_LBN 36
267 #define ESF_DZ_RX_ETH_BASE_CLASS_WIDTH 3
268 #define ESE_DZ_ETH_BASE_CLASS_LLC_SNAP 2
269 #define ESE_DZ_ETH_BASE_CLASS_LLC 1
270 #define ESE_DZ_ETH_BASE_CLASS_ETH2 0
271 #define ESF_DZ_RX_MAC_CLASS_LBN 35
272 #define ESF_DZ_RX_MAC_CLASS_WIDTH 1
273 #define ESE_DZ_MAC_CLASS_MCAST 1
274 #define ESE_DZ_MAC_CLASS_UCAST 0
275 #define ESF_DD_RX_EV_SOFT1_LBN 32
276 #define ESF_DD_RX_EV_SOFT1_WIDTH 3
277 #define ESF_EZ_RX_EV_SOFT1_LBN 34
278 #define ESF_EZ_RX_EV_SOFT1_WIDTH 1
279 #define ESF_EZ_RX_ENCAP_HDR_LBN 32
280 #define ESF_EZ_RX_ENCAP_HDR_WIDTH 2
281 #define ESE_EZ_ENCAP_HDR_GRE 2
282 #define ESE_EZ_ENCAP_HDR_VXLAN 1
283 #define ESE_EZ_ENCAP_HDR_NONE 0
284 #define ESF_DD_RX_EV_RSVD1_LBN 30
285 #define ESF_DD_RX_EV_RSVD1_WIDTH 2
286 #define ESF_EZ_RX_EV_RSVD1_LBN 31
287 #define ESF_EZ_RX_EV_RSVD1_WIDTH 1
288 #define ESF_EZ_RX_ABORT_LBN 30
289 #define ESF_EZ_RX_ABORT_WIDTH 1
290 #define ESF_DZ_RX_ECC_ERR_LBN 29
291 #define ESF_DZ_RX_ECC_ERR_WIDTH 1
292 #define ESF_DZ_RX_CRC1_ERR_LBN 28
293 #define ESF_DZ_RX_CRC1_ERR_WIDTH 1
294 #define ESF_DZ_RX_CRC0_ERR_LBN 27
295 #define ESF_DZ_RX_CRC0_ERR_WIDTH 1
296 #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_LBN 26
297 #define ESF_DZ_RX_TCPUDP_CKSUM_ERR_WIDTH 1
298 #define ESF_DZ_RX_IPCKSUM_ERR_LBN 25
299 #define ESF_DZ_RX_IPCKSUM_ERR_WIDTH 1
300 #define ESF_DZ_RX_ECRC_ERR_LBN 24
301 #define ESF_DZ_RX_ECRC_ERR_WIDTH 1
302 #define ESF_DZ_RX_QLABEL_LBN 16
303 #define ESF_DZ_RX_QLABEL_WIDTH 5
304 #define ESF_DZ_RX_PARSE_INCOMPLETE_LBN 15
305 #define ESF_DZ_RX_PARSE_INCOMPLETE_WIDTH 1
306 #define ESF_DZ_RX_CONT_LBN 14
307 #define ESF_DZ_RX_CONT_WIDTH 1
308 #define ESF_DZ_RX_BYTES_LBN 0
309 #define ESF_DZ_RX_BYTES_WIDTH 14
310
311
312 /* ES_RX_KER_DESC */
313 #define ESF_DZ_RX_KER_RESERVED_LBN 62
314 #define ESF_DZ_RX_KER_RESERVED_WIDTH 2
315 #define ESF_DZ_RX_KER_BYTE_CNT_LBN 48
316 #define ESF_DZ_RX_KER_BYTE_CNT_WIDTH 14
317 #define ESF_DZ_RX_KER_BUF_ADDR_DW0_LBN 0
318 #define ESF_DZ_RX_KER_BUF_ADDR_DW0_WIDTH 32
319 #define ESF_DZ_RX_KER_BUF_ADDR_DW1_LBN 32
320 #define ESF_DZ_RX_KER_BUF_ADDR_DW1_WIDTH 16
321 #define ESF_DZ_RX_KER_BUF_ADDR_LBN 0
322 #define ESF_DZ_RX_KER_BUF_ADDR_WIDTH 48
323
324
325 /* ES_TX_CSUM_TSTAMP_DESC */
326 #define ESF_DZ_TX_DESC_IS_OPT_LBN 63
327 #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
328 #define ESF_DZ_TX_OPTION_TYPE_LBN 60
329 #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3
330 #define ESE_DZ_TX_OPTION_DESC_TSO 7
331 #define ESE_DZ_TX_OPTION_DESC_VLAN 6
332 #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
333 #define ESF_DZ_TX_OPTION_TS_AT_TXDP_LBN 8
334 #define ESF_DZ_TX_OPTION_TS_AT_TXDP_WIDTH 1
335 #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_LBN 7
336 #define ESF_DZ_TX_OPTION_INNER_UDP_TCP_CSUM_WIDTH 1
337 #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_LBN 6
338 #define ESF_DZ_TX_OPTION_INNER_IP_CSUM_WIDTH 1
339 #define ESF_DZ_TX_TIMESTAMP_LBN 5
340 #define ESF_DZ_TX_TIMESTAMP_WIDTH 1
341 #define ESF_DZ_TX_OPTION_CRC_MODE_LBN 2
342 #define ESF_DZ_TX_OPTION_CRC_MODE_WIDTH 3
343 #define ESE_DZ_TX_OPTION_CRC_FCOIP_MPA 5
344 #define ESE_DZ_TX_OPTION_CRC_FCOIP_FCOE 4
345 #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR_AND_PYLD 3
346 #define ESE_DZ_TX_OPTION_CRC_ISCSI_HDR 2
347 #define ESE_DZ_TX_OPTION_CRC_FCOE 1
348 #define ESE_DZ_TX_OPTION_CRC_OFF 0
349 #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_LBN 1
350 #define ESF_DZ_TX_OPTION_UDP_TCP_CSUM_WIDTH 1
351 #define ESF_DZ_TX_OPTION_IP_CSUM_LBN 0
352 #define ESF_DZ_TX_OPTION_IP_CSUM_WIDTH 1
353
354
355 /* ES_TX_EVENT */
356 #define ESF_DZ_TX_CODE_LBN 60
357 #define ESF_DZ_TX_CODE_WIDTH 4
358 #define ESF_DZ_TX_OVERRIDE_HOLDOFF_LBN 59
359 #define ESF_DZ_TX_OVERRIDE_HOLDOFF_WIDTH 1
360 #define ESF_DZ_TX_DROP_EVENT_LBN 58
361 #define ESF_DZ_TX_DROP_EVENT_WIDTH 1
362 #define ESF_DD_TX_EV_RSVD_LBN 48
363 #define ESF_DD_TX_EV_RSVD_WIDTH 10
364 #define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_LBN 57
365 #define ESF_EZ_TCP_UDP_INNER_CHKSUM_ERR_WIDTH 1
366 #define ESF_EZ_IP_INNER_CHKSUM_ERR_LBN 56
367 #define ESF_EZ_IP_INNER_CHKSUM_ERR_WIDTH 1
368 #define ESF_EZ_TX_EV_RSVD_LBN 48
369 #define ESF_EZ_TX_EV_RSVD_WIDTH 8
370 #define ESF_DZ_TX_SOFT2_LBN 32
371 #define ESF_DZ_TX_SOFT2_WIDTH 16
372 #define ESF_DD_TX_SOFT1_LBN 24
373 #define ESF_DD_TX_SOFT1_WIDTH 8
374 #define ESF_EZ_TX_CAN_MERGE_LBN 31
375 #define ESF_EZ_TX_CAN_MERGE_WIDTH 1
376 #define ESF_EZ_TX_SOFT1_LBN 24
377 #define ESF_EZ_TX_SOFT1_WIDTH 7
378 #define ESF_DZ_TX_QLABEL_LBN 16
379 #define ESF_DZ_TX_QLABEL_WIDTH 5
380 #define ESF_DZ_TX_DESCR_INDX_LBN 0
381 #define ESF_DZ_TX_DESCR_INDX_WIDTH 16
382
383
384 /* ES_TX_KER_DESC */
385 #define ESF_DZ_TX_KER_TYPE_LBN 63
386 #define ESF_DZ_TX_KER_TYPE_WIDTH 1
387 #define ESF_DZ_TX_KER_CONT_LBN 62
388 #define ESF_DZ_TX_KER_CONT_WIDTH 1
389 #define ESF_DZ_TX_KER_BYTE_CNT_LBN 48
390 #define ESF_DZ_TX_KER_BYTE_CNT_WIDTH 14
391 #define ESF_DZ_TX_KER_BUF_ADDR_DW0_LBN 0
392 #define ESF_DZ_TX_KER_BUF_ADDR_DW0_WIDTH 32
393 #define ESF_DZ_TX_KER_BUF_ADDR_DW1_LBN 32
394 #define ESF_DZ_TX_KER_BUF_ADDR_DW1_WIDTH 16
395 #define ESF_DZ_TX_KER_BUF_ADDR_LBN 0
396 #define ESF_DZ_TX_KER_BUF_ADDR_WIDTH 48
397
398
399 /* ES_TX_PIO_DESC */
400 #define ESF_DZ_TX_PIO_TYPE_LBN 63
401 #define ESF_DZ_TX_PIO_TYPE_WIDTH 1
402 #define ESF_DZ_TX_PIO_OPT_LBN 60
403 #define ESF_DZ_TX_PIO_OPT_WIDTH 3
404 #define ESF_DZ_TX_PIO_CONT_LBN 59
405 #define ESF_DZ_TX_PIO_CONT_WIDTH 1
406 #define ESF_DZ_TX_PIO_BYTE_CNT_LBN 32
407 #define ESF_DZ_TX_PIO_BYTE_CNT_WIDTH 12
408 #define ESF_DZ_TX_PIO_BUF_ADDR_LBN 0
409 #define ESF_DZ_TX_PIO_BUF_ADDR_WIDTH 12
410
411
412 /* ES_TX_TSO_DESC */
413 #define ESF_DZ_TX_DESC_IS_OPT_LBN 63
414 #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
415 #define ESF_DZ_TX_OPTION_TYPE_LBN 60
416 #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3
417 #define ESE_DZ_TX_OPTION_DESC_TSO 7
418 #define ESE_DZ_TX_OPTION_DESC_VLAN 6
419 #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
420 #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
421 #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
422 #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
423 #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
424 #define ESF_DZ_TX_TSO_TCP_FLAGS_LBN 48
425 #define ESF_DZ_TX_TSO_TCP_FLAGS_WIDTH 8
426 #define ESF_DZ_TX_TSO_IP_ID_LBN 32
427 #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16
428 #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0
429 #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32
430
431
432 /* TX_TSO_FATSO2A_DESC */
433 #define ESF_DZ_TX_DESC_IS_OPT_LBN 63
434 #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
435 #define ESF_DZ_TX_OPTION_TYPE_LBN 60
436 #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3
437 #define ESE_DZ_TX_OPTION_DESC_TSO 7
438 #define ESE_DZ_TX_OPTION_DESC_VLAN 6
439 #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
440 #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
441 #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
442 #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
443 #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
444 #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
445 #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
446 #define ESF_DZ_TX_TSO_IP_ID_LBN 32
447 #define ESF_DZ_TX_TSO_IP_ID_WIDTH 16
448 #define ESF_DZ_TX_TSO_TCP_SEQNO_LBN 0
449 #define ESF_DZ_TX_TSO_TCP_SEQNO_WIDTH 32
450
451
452 /* TX_TSO_FATSO2B_DESC */
453 #define ESF_DZ_TX_DESC_IS_OPT_LBN 63
454 #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
455 #define ESF_DZ_TX_OPTION_TYPE_LBN 60
456 #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3
457 #define ESE_DZ_TX_OPTION_DESC_TSO 7
458 #define ESE_DZ_TX_OPTION_DESC_VLAN 6
459 #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
460 #define ESF_DZ_TX_TSO_OPTION_TYPE_LBN 56
461 #define ESF_DZ_TX_TSO_OPTION_TYPE_WIDTH 4
462 #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2B 3
463 #define ESE_DZ_TX_TSO_OPTION_DESC_FATSO2A 2
464 #define ESE_DZ_TX_TSO_OPTION_DESC_ENCAP 1
465 #define ESE_DZ_TX_TSO_OPTION_DESC_NORMAL 0
466 #define ESF_DZ_TX_TSO_OUTER_IP_ID_LBN 16
467 #define ESF_DZ_TX_TSO_OUTER_IP_ID_WIDTH 16
468 #define ESF_DZ_TX_TSO_TCP_MSS_LBN 32
469 #define ESF_DZ_TX_TSO_TCP_MSS_WIDTH 16
470 #define ESF_DZ_TX_TSO_INNER_PE_CSUM_LBN 0
471 #define ESF_DZ_TX_TSO_INNER_PE_CSUM_WIDTH 16
472
473
474 /* ES_TX_VLAN_DESC */
475 #define ESF_DZ_TX_DESC_IS_OPT_LBN 63
476 #define ESF_DZ_TX_DESC_IS_OPT_WIDTH 1
477 #define ESF_DZ_TX_OPTION_TYPE_LBN 60
478 #define ESF_DZ_TX_OPTION_TYPE_WIDTH 3
479 #define ESE_DZ_TX_OPTION_DESC_TSO 7
480 #define ESE_DZ_TX_OPTION_DESC_VLAN 6
481 #define ESE_DZ_TX_OPTION_DESC_CRC_CSUM 0
482 #define ESF_DZ_TX_VLAN_OP_LBN 32
483 #define ESF_DZ_TX_VLAN_OP_WIDTH 2
484 #define ESF_DZ_TX_VLAN_TAG2_LBN 16
485 #define ESF_DZ_TX_VLAN_TAG2_WIDTH 16
486 #define ESF_DZ_TX_VLAN_TAG1_LBN 0
487 #define ESF_DZ_TX_VLAN_TAG1_WIDTH 16
488
489
490 /*************************************************************************
491  * NOTE: the comment line above marks the end of the autogenerated section
492  */
493
494 /*
495  * The workaround for bug 35388 requires multiplexing writes through
496  * the ERF_DZ_TX_DESC_WPTR address.
497  * TX_DESC_UPD: 0ppppppppppp               (bit 11 lost)
498  * EVQ_RPTR:    1000hhhhhhhh, 1001llllllll (split into high and low bits)
499  * EVQ_TMR:     11mmvvvvvvvv               (bits 8:13 of value lost)
500  */
501 #define ER_DD_EVQ_INDIRECT_OFST (ER_DZ_TX_DESC_UPD_REG_OFST + 2 * 4)
502 #define ER_DD_EVQ_INDIRECT_STEP ER_DZ_TX_DESC_UPD_REG_STEP
503 #define ERF_DD_EVQ_IND_RPTR_FLAGS_LBN 8
504 #define ERF_DD_EVQ_IND_RPTR_FLAGS_WIDTH 4
505 #define EFE_DD_EVQ_IND_RPTR_FLAGS_HIGH 8
506 #define EFE_DD_EVQ_IND_RPTR_FLAGS_LOW 9
507 #define ERF_DD_EVQ_IND_RPTR_LBN 0
508 #define ERF_DD_EVQ_IND_RPTR_WIDTH 8
509 #define ERF_DD_EVQ_IND_TIMER_FLAGS_LBN 10
510 #define ERF_DD_EVQ_IND_TIMER_FLAGS_WIDTH 2
511 #define EFE_DD_EVQ_IND_TIMER_FLAGS 3
512 #define ERF_DD_EVQ_IND_TIMER_MODE_LBN 8
513 #define ERF_DD_EVQ_IND_TIMER_MODE_WIDTH 2
514 #define ERF_DD_EVQ_IND_TIMER_VAL_LBN 0
515 #define ERF_DD_EVQ_IND_TIMER_VAL_WIDTH 8
516
517 /* Packed stream magic doorbell command */
518 #define ERF_DZ_RX_DESC_MAGIC_DOORBELL_LBN 11
519 #define ERF_DZ_RX_DESC_MAGIC_DOORBELL_WIDTH 1
520
521 #define ERF_DZ_RX_DESC_MAGIC_CMD_LBN 8
522 #define ERF_DZ_RX_DESC_MAGIC_CMD_WIDTH 3
523 #define ERE_DZ_RX_DESC_MAGIC_CMD_PS_CREDITS 0
524
525 #define ERF_DZ_RX_DESC_MAGIC_DATA_LBN 0
526 #define ERF_DZ_RX_DESC_MAGIC_DATA_WIDTH 8
527
528 /* Packed stream RX packet prefix */
529 #define ES_DZ_PS_RX_PREFIX_TSTAMP_LBN 0
530 #define ES_DZ_PS_RX_PREFIX_TSTAMP_WIDTH 32
531 #define ES_DZ_PS_RX_PREFIX_CAP_LEN_LBN 32
532 #define ES_DZ_PS_RX_PREFIX_CAP_LEN_WIDTH 16
533 #define ES_DZ_PS_RX_PREFIX_ORIG_LEN_LBN 48
534 #define ES_DZ_PS_RX_PREFIX_ORIG_LEN_WIDTH 16
535
536 /*
537  * An extra flag for the packed stream mode,
538  * signalling the start of a new buffer
539  */
540 #define ESF_DZ_RX_EV_ROTATE_LBN 53
541 #define ESF_DZ_RX_EV_ROTATE_WIDTH 1
542
543 #ifdef  __cplusplus
544 }
545 #endif
546
547 #endif /* _SYS_EFX_EF10_REGS_H */