Loading...
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2010 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_IPD_DEFS_H__
29#define __CVMX_IPD_DEFS_H__
30
31#define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
32#define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
33#define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
34#define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
35#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
36#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
37#define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
38#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
39#define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
40#define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
41#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
42#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
43#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
44#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
45#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
46#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
47#define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
48#define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
49#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
50#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
51#define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
52#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
53#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
54#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
55#define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull))
56#define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
57#define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
58#define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
59#define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
60#define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
61#define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
62#define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
63#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
64#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
65#define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
66#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
67#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
68#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
69#define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
70#define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
71#define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
72#define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
73#define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
74#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
75#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
76#define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
77#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
78#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
79#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
80#define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull))
81#define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull))
82
83union cvmx_ipd_1st_mbuff_skip {
84 uint64_t u64;
85 struct cvmx_ipd_1st_mbuff_skip_s {
86 uint64_t reserved_6_63:58;
87 uint64_t skip_sz:6;
88 } s;
89 struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
90 struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
91 struct cvmx_ipd_1st_mbuff_skip_s cn38xx;
92 struct cvmx_ipd_1st_mbuff_skip_s cn38xxp2;
93 struct cvmx_ipd_1st_mbuff_skip_s cn50xx;
94 struct cvmx_ipd_1st_mbuff_skip_s cn52xx;
95 struct cvmx_ipd_1st_mbuff_skip_s cn52xxp1;
96 struct cvmx_ipd_1st_mbuff_skip_s cn56xx;
97 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
98 struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
99 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
100 struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
101 struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1;
102};
103
104union cvmx_ipd_1st_next_ptr_back {
105 uint64_t u64;
106 struct cvmx_ipd_1st_next_ptr_back_s {
107 uint64_t reserved_4_63:60;
108 uint64_t back:4;
109 } s;
110 struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
111 struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
112 struct cvmx_ipd_1st_next_ptr_back_s cn38xx;
113 struct cvmx_ipd_1st_next_ptr_back_s cn38xxp2;
114 struct cvmx_ipd_1st_next_ptr_back_s cn50xx;
115 struct cvmx_ipd_1st_next_ptr_back_s cn52xx;
116 struct cvmx_ipd_1st_next_ptr_back_s cn52xxp1;
117 struct cvmx_ipd_1st_next_ptr_back_s cn56xx;
118 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
119 struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
120 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
121 struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
122 struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1;
123};
124
125union cvmx_ipd_2nd_next_ptr_back {
126 uint64_t u64;
127 struct cvmx_ipd_2nd_next_ptr_back_s {
128 uint64_t reserved_4_63:60;
129 uint64_t back:4;
130 } s;
131 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
132 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
133 struct cvmx_ipd_2nd_next_ptr_back_s cn38xx;
134 struct cvmx_ipd_2nd_next_ptr_back_s cn38xxp2;
135 struct cvmx_ipd_2nd_next_ptr_back_s cn50xx;
136 struct cvmx_ipd_2nd_next_ptr_back_s cn52xx;
137 struct cvmx_ipd_2nd_next_ptr_back_s cn52xxp1;
138 struct cvmx_ipd_2nd_next_ptr_back_s cn56xx;
139 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
140 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
141 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
142 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
143 struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1;
144};
145
146union cvmx_ipd_bist_status {
147 uint64_t u64;
148 struct cvmx_ipd_bist_status_s {
149 uint64_t reserved_18_63:46;
150 uint64_t csr_mem:1;
151 uint64_t csr_ncmd:1;
152 uint64_t pwq_wqed:1;
153 uint64_t pwq_wp1:1;
154 uint64_t pwq_pow:1;
155 uint64_t ipq_pbe1:1;
156 uint64_t ipq_pbe0:1;
157 uint64_t pbm3:1;
158 uint64_t pbm2:1;
159 uint64_t pbm1:1;
160 uint64_t pbm0:1;
161 uint64_t pbm_word:1;
162 uint64_t pwq1:1;
163 uint64_t pwq0:1;
164 uint64_t prc_off:1;
165 uint64_t ipd_old:1;
166 uint64_t ipd_new:1;
167 uint64_t pwp:1;
168 } s;
169 struct cvmx_ipd_bist_status_cn30xx {
170 uint64_t reserved_16_63:48;
171 uint64_t pwq_wqed:1;
172 uint64_t pwq_wp1:1;
173 uint64_t pwq_pow:1;
174 uint64_t ipq_pbe1:1;
175 uint64_t ipq_pbe0:1;
176 uint64_t pbm3:1;
177 uint64_t pbm2:1;
178 uint64_t pbm1:1;
179 uint64_t pbm0:1;
180 uint64_t pbm_word:1;
181 uint64_t pwq1:1;
182 uint64_t pwq0:1;
183 uint64_t prc_off:1;
184 uint64_t ipd_old:1;
185 uint64_t ipd_new:1;
186 uint64_t pwp:1;
187 } cn30xx;
188 struct cvmx_ipd_bist_status_cn30xx cn31xx;
189 struct cvmx_ipd_bist_status_cn30xx cn38xx;
190 struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
191 struct cvmx_ipd_bist_status_cn30xx cn50xx;
192 struct cvmx_ipd_bist_status_s cn52xx;
193 struct cvmx_ipd_bist_status_s cn52xxp1;
194 struct cvmx_ipd_bist_status_s cn56xx;
195 struct cvmx_ipd_bist_status_s cn56xxp1;
196 struct cvmx_ipd_bist_status_cn30xx cn58xx;
197 struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
198 struct cvmx_ipd_bist_status_s cn63xx;
199 struct cvmx_ipd_bist_status_s cn63xxp1;
200};
201
202union cvmx_ipd_bp_prt_red_end {
203 uint64_t u64;
204 struct cvmx_ipd_bp_prt_red_end_s {
205 uint64_t reserved_44_63:20;
206 uint64_t prt_enb:44;
207 } s;
208 struct cvmx_ipd_bp_prt_red_end_cn30xx {
209 uint64_t reserved_36_63:28;
210 uint64_t prt_enb:36;
211 } cn30xx;
212 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
213 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
214 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
215 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
216 struct cvmx_ipd_bp_prt_red_end_cn52xx {
217 uint64_t reserved_40_63:24;
218 uint64_t prt_enb:40;
219 } cn52xx;
220 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
221 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
222 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
223 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
224 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
225 struct cvmx_ipd_bp_prt_red_end_s cn63xx;
226 struct cvmx_ipd_bp_prt_red_end_s cn63xxp1;
227};
228
229union cvmx_ipd_clk_count {
230 uint64_t u64;
231 struct cvmx_ipd_clk_count_s {
232 uint64_t clk_cnt:64;
233 } s;
234 struct cvmx_ipd_clk_count_s cn30xx;
235 struct cvmx_ipd_clk_count_s cn31xx;
236 struct cvmx_ipd_clk_count_s cn38xx;
237 struct cvmx_ipd_clk_count_s cn38xxp2;
238 struct cvmx_ipd_clk_count_s cn50xx;
239 struct cvmx_ipd_clk_count_s cn52xx;
240 struct cvmx_ipd_clk_count_s cn52xxp1;
241 struct cvmx_ipd_clk_count_s cn56xx;
242 struct cvmx_ipd_clk_count_s cn56xxp1;
243 struct cvmx_ipd_clk_count_s cn58xx;
244 struct cvmx_ipd_clk_count_s cn58xxp1;
245 struct cvmx_ipd_clk_count_s cn63xx;
246 struct cvmx_ipd_clk_count_s cn63xxp1;
247};
248
249union cvmx_ipd_ctl_status {
250 uint64_t u64;
251 struct cvmx_ipd_ctl_status_s {
252 uint64_t reserved_18_63:46;
253 uint64_t use_sop:1;
254 uint64_t rst_done:1;
255 uint64_t clken:1;
256 uint64_t no_wptr:1;
257 uint64_t pq_apkt:1;
258 uint64_t pq_nabuf:1;
259 uint64_t ipd_full:1;
260 uint64_t pkt_off:1;
261 uint64_t len_m8:1;
262 uint64_t reset:1;
263 uint64_t addpkt:1;
264 uint64_t naddbuf:1;
265 uint64_t pkt_lend:1;
266 uint64_t wqe_lend:1;
267 uint64_t pbp_en:1;
268 uint64_t opc_mode:2;
269 uint64_t ipd_en:1;
270 } s;
271 struct cvmx_ipd_ctl_status_cn30xx {
272 uint64_t reserved_10_63:54;
273 uint64_t len_m8:1;
274 uint64_t reset:1;
275 uint64_t addpkt:1;
276 uint64_t naddbuf:1;
277 uint64_t pkt_lend:1;
278 uint64_t wqe_lend:1;
279 uint64_t pbp_en:1;
280 uint64_t opc_mode:2;
281 uint64_t ipd_en:1;
282 } cn30xx;
283 struct cvmx_ipd_ctl_status_cn30xx cn31xx;
284 struct cvmx_ipd_ctl_status_cn30xx cn38xx;
285 struct cvmx_ipd_ctl_status_cn38xxp2 {
286 uint64_t reserved_9_63:55;
287 uint64_t reset:1;
288 uint64_t addpkt:1;
289 uint64_t naddbuf:1;
290 uint64_t pkt_lend:1;
291 uint64_t wqe_lend:1;
292 uint64_t pbp_en:1;
293 uint64_t opc_mode:2;
294 uint64_t ipd_en:1;
295 } cn38xxp2;
296 struct cvmx_ipd_ctl_status_cn50xx {
297 uint64_t reserved_15_63:49;
298 uint64_t no_wptr:1;
299 uint64_t pq_apkt:1;
300 uint64_t pq_nabuf:1;
301 uint64_t ipd_full:1;
302 uint64_t pkt_off:1;
303 uint64_t len_m8:1;
304 uint64_t reset:1;
305 uint64_t addpkt:1;
306 uint64_t naddbuf:1;
307 uint64_t pkt_lend:1;
308 uint64_t wqe_lend:1;
309 uint64_t pbp_en:1;
310 uint64_t opc_mode:2;
311 uint64_t ipd_en:1;
312 } cn50xx;
313 struct cvmx_ipd_ctl_status_cn50xx cn52xx;
314 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
315 struct cvmx_ipd_ctl_status_cn50xx cn56xx;
316 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
317 struct cvmx_ipd_ctl_status_cn58xx {
318 uint64_t reserved_12_63:52;
319 uint64_t ipd_full:1;
320 uint64_t pkt_off:1;
321 uint64_t len_m8:1;
322 uint64_t reset:1;
323 uint64_t addpkt:1;
324 uint64_t naddbuf:1;
325 uint64_t pkt_lend:1;
326 uint64_t wqe_lend:1;
327 uint64_t pbp_en:1;
328 uint64_t opc_mode:2;
329 uint64_t ipd_en:1;
330 } cn58xx;
331 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
332 struct cvmx_ipd_ctl_status_s cn63xx;
333 struct cvmx_ipd_ctl_status_cn63xxp1 {
334 uint64_t reserved_16_63:48;
335 uint64_t clken:1;
336 uint64_t no_wptr:1;
337 uint64_t pq_apkt:1;
338 uint64_t pq_nabuf:1;
339 uint64_t ipd_full:1;
340 uint64_t pkt_off:1;
341 uint64_t len_m8:1;
342 uint64_t reset:1;
343 uint64_t addpkt:1;
344 uint64_t naddbuf:1;
345 uint64_t pkt_lend:1;
346 uint64_t wqe_lend:1;
347 uint64_t pbp_en:1;
348 uint64_t opc_mode:2;
349 uint64_t ipd_en:1;
350 } cn63xxp1;
351};
352
353union cvmx_ipd_int_enb {
354 uint64_t u64;
355 struct cvmx_ipd_int_enb_s {
356 uint64_t reserved_12_63:52;
357 uint64_t pq_sub:1;
358 uint64_t pq_add:1;
359 uint64_t bc_ovr:1;
360 uint64_t d_coll:1;
361 uint64_t c_coll:1;
362 uint64_t cc_ovr:1;
363 uint64_t dc_ovr:1;
364 uint64_t bp_sub:1;
365 uint64_t prc_par3:1;
366 uint64_t prc_par2:1;
367 uint64_t prc_par1:1;
368 uint64_t prc_par0:1;
369 } s;
370 struct cvmx_ipd_int_enb_cn30xx {
371 uint64_t reserved_5_63:59;
372 uint64_t bp_sub:1;
373 uint64_t prc_par3:1;
374 uint64_t prc_par2:1;
375 uint64_t prc_par1:1;
376 uint64_t prc_par0:1;
377 } cn30xx;
378 struct cvmx_ipd_int_enb_cn30xx cn31xx;
379 struct cvmx_ipd_int_enb_cn38xx {
380 uint64_t reserved_10_63:54;
381 uint64_t bc_ovr:1;
382 uint64_t d_coll:1;
383 uint64_t c_coll:1;
384 uint64_t cc_ovr:1;
385 uint64_t dc_ovr:1;
386 uint64_t bp_sub:1;
387 uint64_t prc_par3:1;
388 uint64_t prc_par2:1;
389 uint64_t prc_par1:1;
390 uint64_t prc_par0:1;
391 } cn38xx;
392 struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
393 struct cvmx_ipd_int_enb_cn38xx cn50xx;
394 struct cvmx_ipd_int_enb_s cn52xx;
395 struct cvmx_ipd_int_enb_s cn52xxp1;
396 struct cvmx_ipd_int_enb_s cn56xx;
397 struct cvmx_ipd_int_enb_s cn56xxp1;
398 struct cvmx_ipd_int_enb_cn38xx cn58xx;
399 struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
400 struct cvmx_ipd_int_enb_s cn63xx;
401 struct cvmx_ipd_int_enb_s cn63xxp1;
402};
403
404union cvmx_ipd_int_sum {
405 uint64_t u64;
406 struct cvmx_ipd_int_sum_s {
407 uint64_t reserved_12_63:52;
408 uint64_t pq_sub:1;
409 uint64_t pq_add:1;
410 uint64_t bc_ovr:1;
411 uint64_t d_coll:1;
412 uint64_t c_coll:1;
413 uint64_t cc_ovr:1;
414 uint64_t dc_ovr:1;
415 uint64_t bp_sub:1;
416 uint64_t prc_par3:1;
417 uint64_t prc_par2:1;
418 uint64_t prc_par1:1;
419 uint64_t prc_par0:1;
420 } s;
421 struct cvmx_ipd_int_sum_cn30xx {
422 uint64_t reserved_5_63:59;
423 uint64_t bp_sub:1;
424 uint64_t prc_par3:1;
425 uint64_t prc_par2:1;
426 uint64_t prc_par1:1;
427 uint64_t prc_par0:1;
428 } cn30xx;
429 struct cvmx_ipd_int_sum_cn30xx cn31xx;
430 struct cvmx_ipd_int_sum_cn38xx {
431 uint64_t reserved_10_63:54;
432 uint64_t bc_ovr:1;
433 uint64_t d_coll:1;
434 uint64_t c_coll:1;
435 uint64_t cc_ovr:1;
436 uint64_t dc_ovr:1;
437 uint64_t bp_sub:1;
438 uint64_t prc_par3:1;
439 uint64_t prc_par2:1;
440 uint64_t prc_par1:1;
441 uint64_t prc_par0:1;
442 } cn38xx;
443 struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
444 struct cvmx_ipd_int_sum_cn38xx cn50xx;
445 struct cvmx_ipd_int_sum_s cn52xx;
446 struct cvmx_ipd_int_sum_s cn52xxp1;
447 struct cvmx_ipd_int_sum_s cn56xx;
448 struct cvmx_ipd_int_sum_s cn56xxp1;
449 struct cvmx_ipd_int_sum_cn38xx cn58xx;
450 struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
451 struct cvmx_ipd_int_sum_s cn63xx;
452 struct cvmx_ipd_int_sum_s cn63xxp1;
453};
454
455union cvmx_ipd_not_1st_mbuff_skip {
456 uint64_t u64;
457 struct cvmx_ipd_not_1st_mbuff_skip_s {
458 uint64_t reserved_6_63:58;
459 uint64_t skip_sz:6;
460 } s;
461 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
462 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
463 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xx;
464 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xxp2;
465 struct cvmx_ipd_not_1st_mbuff_skip_s cn50xx;
466 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xx;
467 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xxp1;
468 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xx;
469 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
470 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
471 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
472 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
473 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1;
474};
475
476union cvmx_ipd_packet_mbuff_size {
477 uint64_t u64;
478 struct cvmx_ipd_packet_mbuff_size_s {
479 uint64_t reserved_12_63:52;
480 uint64_t mb_size:12;
481 } s;
482 struct cvmx_ipd_packet_mbuff_size_s cn30xx;
483 struct cvmx_ipd_packet_mbuff_size_s cn31xx;
484 struct cvmx_ipd_packet_mbuff_size_s cn38xx;
485 struct cvmx_ipd_packet_mbuff_size_s cn38xxp2;
486 struct cvmx_ipd_packet_mbuff_size_s cn50xx;
487 struct cvmx_ipd_packet_mbuff_size_s cn52xx;
488 struct cvmx_ipd_packet_mbuff_size_s cn52xxp1;
489 struct cvmx_ipd_packet_mbuff_size_s cn56xx;
490 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
491 struct cvmx_ipd_packet_mbuff_size_s cn58xx;
492 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
493 struct cvmx_ipd_packet_mbuff_size_s cn63xx;
494 struct cvmx_ipd_packet_mbuff_size_s cn63xxp1;
495};
496
497union cvmx_ipd_pkt_ptr_valid {
498 uint64_t u64;
499 struct cvmx_ipd_pkt_ptr_valid_s {
500 uint64_t reserved_29_63:35;
501 uint64_t ptr:29;
502 } s;
503 struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
504 struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
505 struct cvmx_ipd_pkt_ptr_valid_s cn38xx;
506 struct cvmx_ipd_pkt_ptr_valid_s cn50xx;
507 struct cvmx_ipd_pkt_ptr_valid_s cn52xx;
508 struct cvmx_ipd_pkt_ptr_valid_s cn52xxp1;
509 struct cvmx_ipd_pkt_ptr_valid_s cn56xx;
510 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
511 struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
512 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
513 struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
514 struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1;
515};
516
517union cvmx_ipd_portx_bp_page_cnt {
518 uint64_t u64;
519 struct cvmx_ipd_portx_bp_page_cnt_s {
520 uint64_t reserved_18_63:46;
521 uint64_t bp_enb:1;
522 uint64_t page_cnt:17;
523 } s;
524 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
525 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
526 struct cvmx_ipd_portx_bp_page_cnt_s cn38xx;
527 struct cvmx_ipd_portx_bp_page_cnt_s cn38xxp2;
528 struct cvmx_ipd_portx_bp_page_cnt_s cn50xx;
529 struct cvmx_ipd_portx_bp_page_cnt_s cn52xx;
530 struct cvmx_ipd_portx_bp_page_cnt_s cn52xxp1;
531 struct cvmx_ipd_portx_bp_page_cnt_s cn56xx;
532 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
533 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
534 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
535 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
536 struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1;
537};
538
539union cvmx_ipd_portx_bp_page_cnt2 {
540 uint64_t u64;
541 struct cvmx_ipd_portx_bp_page_cnt2_s {
542 uint64_t reserved_18_63:46;
543 uint64_t bp_enb:1;
544 uint64_t page_cnt:17;
545 } s;
546 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
547 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
548 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
549 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
550 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
551 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1;
552};
553
554union cvmx_ipd_portx_bp_page_cnt3 {
555 uint64_t u64;
556 struct cvmx_ipd_portx_bp_page_cnt3_s {
557 uint64_t reserved_18_63:46;
558 uint64_t bp_enb:1;
559 uint64_t page_cnt:17;
560 } s;
561 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
562 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1;
563};
564
565union cvmx_ipd_port_bp_counters2_pairx {
566 uint64_t u64;
567 struct cvmx_ipd_port_bp_counters2_pairx_s {
568 uint64_t reserved_25_63:39;
569 uint64_t cnt_val:25;
570 } s;
571 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
572 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
573 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
574 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
575 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
576 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1;
577};
578
579union cvmx_ipd_port_bp_counters3_pairx {
580 uint64_t u64;
581 struct cvmx_ipd_port_bp_counters3_pairx_s {
582 uint64_t reserved_25_63:39;
583 uint64_t cnt_val:25;
584 } s;
585 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
586 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1;
587};
588
589union cvmx_ipd_port_bp_counters_pairx {
590 uint64_t u64;
591 struct cvmx_ipd_port_bp_counters_pairx_s {
592 uint64_t reserved_25_63:39;
593 uint64_t cnt_val:25;
594 } s;
595 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
596 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
597 struct cvmx_ipd_port_bp_counters_pairx_s cn38xx;
598 struct cvmx_ipd_port_bp_counters_pairx_s cn38xxp2;
599 struct cvmx_ipd_port_bp_counters_pairx_s cn50xx;
600 struct cvmx_ipd_port_bp_counters_pairx_s cn52xx;
601 struct cvmx_ipd_port_bp_counters_pairx_s cn52xxp1;
602 struct cvmx_ipd_port_bp_counters_pairx_s cn56xx;
603 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
604 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
605 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
606 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
607 struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1;
608};
609
610union cvmx_ipd_port_qos_x_cnt {
611 uint64_t u64;
612 struct cvmx_ipd_port_qos_x_cnt_s {
613 uint64_t wmark:32;
614 uint64_t cnt:32;
615 } s;
616 struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
617 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
618 struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
619 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
620 struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
621 struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1;
622};
623
624union cvmx_ipd_port_qos_intx {
625 uint64_t u64;
626 struct cvmx_ipd_port_qos_intx_s {
627 uint64_t intr:64;
628 } s;
629 struct cvmx_ipd_port_qos_intx_s cn52xx;
630 struct cvmx_ipd_port_qos_intx_s cn52xxp1;
631 struct cvmx_ipd_port_qos_intx_s cn56xx;
632 struct cvmx_ipd_port_qos_intx_s cn56xxp1;
633 struct cvmx_ipd_port_qos_intx_s cn63xx;
634 struct cvmx_ipd_port_qos_intx_s cn63xxp1;
635};
636
637union cvmx_ipd_port_qos_int_enbx {
638 uint64_t u64;
639 struct cvmx_ipd_port_qos_int_enbx_s {
640 uint64_t enb:64;
641 } s;
642 struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
643 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
644 struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
645 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
646 struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
647 struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1;
648};
649
650union cvmx_ipd_prc_hold_ptr_fifo_ctl {
651 uint64_t u64;
652 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
653 uint64_t reserved_39_63:25;
654 uint64_t max_pkt:3;
655 uint64_t praddr:3;
656 uint64_t ptr:29;
657 uint64_t cena:1;
658 uint64_t raddr:3;
659 } s;
660 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
661 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
662 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn38xx;
663 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn50xx;
664 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xx;
665 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xxp1;
666 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xx;
667 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
668 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
669 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
670 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
671 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1;
672};
673
674union cvmx_ipd_prc_port_ptr_fifo_ctl {
675 uint64_t u64;
676 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
677 uint64_t reserved_44_63:20;
678 uint64_t max_pkt:7;
679 uint64_t ptr:29;
680 uint64_t cena:1;
681 uint64_t raddr:7;
682 } s;
683 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
684 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
685 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn38xx;
686 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn50xx;
687 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xx;
688 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xxp1;
689 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xx;
690 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
691 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
692 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
693 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
694 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1;
695};
696
697union cvmx_ipd_ptr_count {
698 uint64_t u64;
699 struct cvmx_ipd_ptr_count_s {
700 uint64_t reserved_19_63:45;
701 uint64_t pktv_cnt:1;
702 uint64_t wqev_cnt:1;
703 uint64_t pfif_cnt:3;
704 uint64_t pkt_pcnt:7;
705 uint64_t wqe_pcnt:7;
706 } s;
707 struct cvmx_ipd_ptr_count_s cn30xx;
708 struct cvmx_ipd_ptr_count_s cn31xx;
709 struct cvmx_ipd_ptr_count_s cn38xx;
710 struct cvmx_ipd_ptr_count_s cn38xxp2;
711 struct cvmx_ipd_ptr_count_s cn50xx;
712 struct cvmx_ipd_ptr_count_s cn52xx;
713 struct cvmx_ipd_ptr_count_s cn52xxp1;
714 struct cvmx_ipd_ptr_count_s cn56xx;
715 struct cvmx_ipd_ptr_count_s cn56xxp1;
716 struct cvmx_ipd_ptr_count_s cn58xx;
717 struct cvmx_ipd_ptr_count_s cn58xxp1;
718 struct cvmx_ipd_ptr_count_s cn63xx;
719 struct cvmx_ipd_ptr_count_s cn63xxp1;
720};
721
722union cvmx_ipd_pwp_ptr_fifo_ctl {
723 uint64_t u64;
724 struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
725 uint64_t reserved_61_63:3;
726 uint64_t max_cnts:7;
727 uint64_t wraddr:8;
728 uint64_t praddr:8;
729 uint64_t ptr:29;
730 uint64_t cena:1;
731 uint64_t raddr:8;
732 } s;
733 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
734 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
735 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn38xx;
736 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn50xx;
737 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xx;
738 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xxp1;
739 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xx;
740 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
741 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
742 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
743 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
744 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1;
745};
746
747union cvmx_ipd_qosx_red_marks {
748 uint64_t u64;
749 struct cvmx_ipd_qosx_red_marks_s {
750 uint64_t drop:32;
751 uint64_t pass:32;
752 } s;
753 struct cvmx_ipd_qosx_red_marks_s cn30xx;
754 struct cvmx_ipd_qosx_red_marks_s cn31xx;
755 struct cvmx_ipd_qosx_red_marks_s cn38xx;
756 struct cvmx_ipd_qosx_red_marks_s cn38xxp2;
757 struct cvmx_ipd_qosx_red_marks_s cn50xx;
758 struct cvmx_ipd_qosx_red_marks_s cn52xx;
759 struct cvmx_ipd_qosx_red_marks_s cn52xxp1;
760 struct cvmx_ipd_qosx_red_marks_s cn56xx;
761 struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
762 struct cvmx_ipd_qosx_red_marks_s cn58xx;
763 struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
764 struct cvmx_ipd_qosx_red_marks_s cn63xx;
765 struct cvmx_ipd_qosx_red_marks_s cn63xxp1;
766};
767
768union cvmx_ipd_que0_free_page_cnt {
769 uint64_t u64;
770 struct cvmx_ipd_que0_free_page_cnt_s {
771 uint64_t reserved_32_63:32;
772 uint64_t q0_pcnt:32;
773 } s;
774 struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
775 struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
776 struct cvmx_ipd_que0_free_page_cnt_s cn38xx;
777 struct cvmx_ipd_que0_free_page_cnt_s cn38xxp2;
778 struct cvmx_ipd_que0_free_page_cnt_s cn50xx;
779 struct cvmx_ipd_que0_free_page_cnt_s cn52xx;
780 struct cvmx_ipd_que0_free_page_cnt_s cn52xxp1;
781 struct cvmx_ipd_que0_free_page_cnt_s cn56xx;
782 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
783 struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
784 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
785 struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
786 struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1;
787};
788
789union cvmx_ipd_red_port_enable {
790 uint64_t u64;
791 struct cvmx_ipd_red_port_enable_s {
792 uint64_t prb_dly:14;
793 uint64_t avg_dly:14;
794 uint64_t prt_enb:36;
795 } s;
796 struct cvmx_ipd_red_port_enable_s cn30xx;
797 struct cvmx_ipd_red_port_enable_s cn31xx;
798 struct cvmx_ipd_red_port_enable_s cn38xx;
799 struct cvmx_ipd_red_port_enable_s cn38xxp2;
800 struct cvmx_ipd_red_port_enable_s cn50xx;
801 struct cvmx_ipd_red_port_enable_s cn52xx;
802 struct cvmx_ipd_red_port_enable_s cn52xxp1;
803 struct cvmx_ipd_red_port_enable_s cn56xx;
804 struct cvmx_ipd_red_port_enable_s cn56xxp1;
805 struct cvmx_ipd_red_port_enable_s cn58xx;
806 struct cvmx_ipd_red_port_enable_s cn58xxp1;
807 struct cvmx_ipd_red_port_enable_s cn63xx;
808 struct cvmx_ipd_red_port_enable_s cn63xxp1;
809};
810
811union cvmx_ipd_red_port_enable2 {
812 uint64_t u64;
813 struct cvmx_ipd_red_port_enable2_s {
814 uint64_t reserved_8_63:56;
815 uint64_t prt_enb:8;
816 } s;
817 struct cvmx_ipd_red_port_enable2_cn52xx {
818 uint64_t reserved_4_63:60;
819 uint64_t prt_enb:4;
820 } cn52xx;
821 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
822 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
823 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
824 struct cvmx_ipd_red_port_enable2_s cn63xx;
825 struct cvmx_ipd_red_port_enable2_s cn63xxp1;
826};
827
828union cvmx_ipd_red_quex_param {
829 uint64_t u64;
830 struct cvmx_ipd_red_quex_param_s {
831 uint64_t reserved_49_63:15;
832 uint64_t use_pcnt:1;
833 uint64_t new_con:8;
834 uint64_t avg_con:8;
835 uint64_t prb_con:32;
836 } s;
837 struct cvmx_ipd_red_quex_param_s cn30xx;
838 struct cvmx_ipd_red_quex_param_s cn31xx;
839 struct cvmx_ipd_red_quex_param_s cn38xx;
840 struct cvmx_ipd_red_quex_param_s cn38xxp2;
841 struct cvmx_ipd_red_quex_param_s cn50xx;
842 struct cvmx_ipd_red_quex_param_s cn52xx;
843 struct cvmx_ipd_red_quex_param_s cn52xxp1;
844 struct cvmx_ipd_red_quex_param_s cn56xx;
845 struct cvmx_ipd_red_quex_param_s cn56xxp1;
846 struct cvmx_ipd_red_quex_param_s cn58xx;
847 struct cvmx_ipd_red_quex_param_s cn58xxp1;
848 struct cvmx_ipd_red_quex_param_s cn63xx;
849 struct cvmx_ipd_red_quex_param_s cn63xxp1;
850};
851
852union cvmx_ipd_sub_port_bp_page_cnt {
853 uint64_t u64;
854 struct cvmx_ipd_sub_port_bp_page_cnt_s {
855 uint64_t reserved_31_63:33;
856 uint64_t port:6;
857 uint64_t page_cnt:25;
858 } s;
859 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
860 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
861 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xx;
862 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xxp2;
863 struct cvmx_ipd_sub_port_bp_page_cnt_s cn50xx;
864 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xx;
865 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xxp1;
866 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xx;
867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
870 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
871 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1;
872};
873
874union cvmx_ipd_sub_port_fcs {
875 uint64_t u64;
876 struct cvmx_ipd_sub_port_fcs_s {
877 uint64_t reserved_40_63:24;
878 uint64_t port_bit2:4;
879 uint64_t reserved_32_35:4;
880 uint64_t port_bit:32;
881 } s;
882 struct cvmx_ipd_sub_port_fcs_cn30xx {
883 uint64_t reserved_3_63:61;
884 uint64_t port_bit:3;
885 } cn30xx;
886 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
887 struct cvmx_ipd_sub_port_fcs_cn38xx {
888 uint64_t reserved_32_63:32;
889 uint64_t port_bit:32;
890 } cn38xx;
891 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
892 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
893 struct cvmx_ipd_sub_port_fcs_s cn52xx;
894 struct cvmx_ipd_sub_port_fcs_s cn52xxp1;
895 struct cvmx_ipd_sub_port_fcs_s cn56xx;
896 struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
897 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
898 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
899 struct cvmx_ipd_sub_port_fcs_s cn63xx;
900 struct cvmx_ipd_sub_port_fcs_s cn63xxp1;
901};
902
903union cvmx_ipd_sub_port_qos_cnt {
904 uint64_t u64;
905 struct cvmx_ipd_sub_port_qos_cnt_s {
906 uint64_t reserved_41_63:23;
907 uint64_t port_qos:9;
908 uint64_t cnt:32;
909 } s;
910 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
911 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
912 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
913 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
914 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
915 struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1;
916};
917
918union cvmx_ipd_wqe_fpa_queue {
919 uint64_t u64;
920 struct cvmx_ipd_wqe_fpa_queue_s {
921 uint64_t reserved_3_63:61;
922 uint64_t wqe_pool:3;
923 } s;
924 struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
925 struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
926 struct cvmx_ipd_wqe_fpa_queue_s cn38xx;
927 struct cvmx_ipd_wqe_fpa_queue_s cn38xxp2;
928 struct cvmx_ipd_wqe_fpa_queue_s cn50xx;
929 struct cvmx_ipd_wqe_fpa_queue_s cn52xx;
930 struct cvmx_ipd_wqe_fpa_queue_s cn52xxp1;
931 struct cvmx_ipd_wqe_fpa_queue_s cn56xx;
932 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
933 struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
934 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
935 struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
936 struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1;
937};
938
939union cvmx_ipd_wqe_ptr_valid {
940 uint64_t u64;
941 struct cvmx_ipd_wqe_ptr_valid_s {
942 uint64_t reserved_29_63:35;
943 uint64_t ptr:29;
944 } s;
945 struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
946 struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
947 struct cvmx_ipd_wqe_ptr_valid_s cn38xx;
948 struct cvmx_ipd_wqe_ptr_valid_s cn50xx;
949 struct cvmx_ipd_wqe_ptr_valid_s cn52xx;
950 struct cvmx_ipd_wqe_ptr_valid_s cn52xxp1;
951 struct cvmx_ipd_wqe_ptr_valid_s cn56xx;
952 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
953 struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
954 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
955 struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
956 struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1;
957};
958
959#endif
1/***********************license start***************
2 * Author: Cavium Networks
3 *
4 * Contact: support@caviumnetworks.com
5 * This file is part of the OCTEON SDK
6 *
7 * Copyright (c) 2003-2012 Cavium Networks
8 *
9 * This file is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License, Version 2, as
11 * published by the Free Software Foundation.
12 *
13 * This file is distributed in the hope that it will be useful, but
14 * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
16 * NONINFRINGEMENT. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this file; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 * or visit http://www.gnu.org/licenses/.
23 *
24 * This file may also be available under a different license from Cavium.
25 * Contact Cavium Networks for more information
26 ***********************license end**************************************/
27
28#ifndef __CVMX_IPD_DEFS_H__
29#define __CVMX_IPD_DEFS_H__
30
31#define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
32#define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
33#define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
34#define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
35#define CVMX_IPD_BPIDX_MBUF_TH(offset) (CVMX_ADD_IO_SEG(0x00014F0000002000ull) + ((offset) & 63) * 8)
36#define CVMX_IPD_BPID_BP_COUNTERX(offset) (CVMX_ADD_IO_SEG(0x00014F0000003000ull) + ((offset) & 63) * 8)
37#define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
38#define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
39#define CVMX_IPD_CREDITS (CVMX_ADD_IO_SEG(0x00014F0000004410ull))
40#define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
41#define CVMX_IPD_ECC_CTL (CVMX_ADD_IO_SEG(0x00014F0000004408ull))
42#define CVMX_IPD_FREE_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000780ull))
43#define CVMX_IPD_FREE_PTR_VALUE (CVMX_ADD_IO_SEG(0x00014F0000000788ull))
44#define CVMX_IPD_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000790ull))
45#define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
46#define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
47#define CVMX_IPD_NEXT_PKT_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A0ull))
48#define CVMX_IPD_NEXT_WQE_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A8ull))
49#define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
50#define CVMX_IPD_ON_BP_DROP_PKTX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004100ull))
51#define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
52#define CVMX_IPD_PKT_ERR (CVMX_ADD_IO_SEG(0x00014F00000003F0ull))
53#define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
54#define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
55#define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
56#define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
57#define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
58#define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
59#define CVMX_IPD_PORT_BP_COUNTERS4_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000410ull) + ((offset) & 63) * 8 - 8*44)
60#define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
61#define CVMX_IPD_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000798ull))
62#define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
63#define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
64#define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
65#define CVMX_IPD_PORT_SOPX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004400ull))
66#define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
67#define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
68#define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
69#define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull))
70#define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
71#define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
72#define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
73#define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
74#define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
75#define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
76#define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
77#define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
78#define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
79#define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
80#define CVMX_IPD_RED_BPID_ENABLEX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004200ull))
81#define CVMX_IPD_RED_DELAY (CVMX_ADD_IO_SEG(0x00014F0000004300ull))
82#define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
83#define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
84#define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
85#define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
86#define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
87#define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
88#define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
89#define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
90#define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
91#define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
92#define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
93#define CVMX_IPD_REQ_WGT (CVMX_ADD_IO_SEG(0x00014F0000004418ull))
94#define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
95#define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
96#define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
97#define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull))
98#define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull))
99
100union cvmx_ipd_1st_mbuff_skip {
101 uint64_t u64;
102 struct cvmx_ipd_1st_mbuff_skip_s {
103#ifdef __BIG_ENDIAN_BITFIELD
104 uint64_t reserved_6_63:58;
105 uint64_t skip_sz:6;
106#else
107 uint64_t skip_sz:6;
108 uint64_t reserved_6_63:58;
109#endif
110 } s;
111 struct cvmx_ipd_1st_mbuff_skip_s cn30xx;
112 struct cvmx_ipd_1st_mbuff_skip_s cn31xx;
113 struct cvmx_ipd_1st_mbuff_skip_s cn38xx;
114 struct cvmx_ipd_1st_mbuff_skip_s cn38xxp2;
115 struct cvmx_ipd_1st_mbuff_skip_s cn50xx;
116 struct cvmx_ipd_1st_mbuff_skip_s cn52xx;
117 struct cvmx_ipd_1st_mbuff_skip_s cn52xxp1;
118 struct cvmx_ipd_1st_mbuff_skip_s cn56xx;
119 struct cvmx_ipd_1st_mbuff_skip_s cn56xxp1;
120 struct cvmx_ipd_1st_mbuff_skip_s cn58xx;
121 struct cvmx_ipd_1st_mbuff_skip_s cn58xxp1;
122 struct cvmx_ipd_1st_mbuff_skip_s cn61xx;
123 struct cvmx_ipd_1st_mbuff_skip_s cn63xx;
124 struct cvmx_ipd_1st_mbuff_skip_s cn63xxp1;
125 struct cvmx_ipd_1st_mbuff_skip_s cn66xx;
126 struct cvmx_ipd_1st_mbuff_skip_s cn68xx;
127 struct cvmx_ipd_1st_mbuff_skip_s cn68xxp1;
128 struct cvmx_ipd_1st_mbuff_skip_s cnf71xx;
129};
130
131union cvmx_ipd_1st_next_ptr_back {
132 uint64_t u64;
133 struct cvmx_ipd_1st_next_ptr_back_s {
134#ifdef __BIG_ENDIAN_BITFIELD
135 uint64_t reserved_4_63:60;
136 uint64_t back:4;
137#else
138 uint64_t back:4;
139 uint64_t reserved_4_63:60;
140#endif
141 } s;
142 struct cvmx_ipd_1st_next_ptr_back_s cn30xx;
143 struct cvmx_ipd_1st_next_ptr_back_s cn31xx;
144 struct cvmx_ipd_1st_next_ptr_back_s cn38xx;
145 struct cvmx_ipd_1st_next_ptr_back_s cn38xxp2;
146 struct cvmx_ipd_1st_next_ptr_back_s cn50xx;
147 struct cvmx_ipd_1st_next_ptr_back_s cn52xx;
148 struct cvmx_ipd_1st_next_ptr_back_s cn52xxp1;
149 struct cvmx_ipd_1st_next_ptr_back_s cn56xx;
150 struct cvmx_ipd_1st_next_ptr_back_s cn56xxp1;
151 struct cvmx_ipd_1st_next_ptr_back_s cn58xx;
152 struct cvmx_ipd_1st_next_ptr_back_s cn58xxp1;
153 struct cvmx_ipd_1st_next_ptr_back_s cn61xx;
154 struct cvmx_ipd_1st_next_ptr_back_s cn63xx;
155 struct cvmx_ipd_1st_next_ptr_back_s cn63xxp1;
156 struct cvmx_ipd_1st_next_ptr_back_s cn66xx;
157 struct cvmx_ipd_1st_next_ptr_back_s cn68xx;
158 struct cvmx_ipd_1st_next_ptr_back_s cn68xxp1;
159 struct cvmx_ipd_1st_next_ptr_back_s cnf71xx;
160};
161
162union cvmx_ipd_2nd_next_ptr_back {
163 uint64_t u64;
164 struct cvmx_ipd_2nd_next_ptr_back_s {
165#ifdef __BIG_ENDIAN_BITFIELD
166 uint64_t reserved_4_63:60;
167 uint64_t back:4;
168#else
169 uint64_t back:4;
170 uint64_t reserved_4_63:60;
171#endif
172 } s;
173 struct cvmx_ipd_2nd_next_ptr_back_s cn30xx;
174 struct cvmx_ipd_2nd_next_ptr_back_s cn31xx;
175 struct cvmx_ipd_2nd_next_ptr_back_s cn38xx;
176 struct cvmx_ipd_2nd_next_ptr_back_s cn38xxp2;
177 struct cvmx_ipd_2nd_next_ptr_back_s cn50xx;
178 struct cvmx_ipd_2nd_next_ptr_back_s cn52xx;
179 struct cvmx_ipd_2nd_next_ptr_back_s cn52xxp1;
180 struct cvmx_ipd_2nd_next_ptr_back_s cn56xx;
181 struct cvmx_ipd_2nd_next_ptr_back_s cn56xxp1;
182 struct cvmx_ipd_2nd_next_ptr_back_s cn58xx;
183 struct cvmx_ipd_2nd_next_ptr_back_s cn58xxp1;
184 struct cvmx_ipd_2nd_next_ptr_back_s cn61xx;
185 struct cvmx_ipd_2nd_next_ptr_back_s cn63xx;
186 struct cvmx_ipd_2nd_next_ptr_back_s cn63xxp1;
187 struct cvmx_ipd_2nd_next_ptr_back_s cn66xx;
188 struct cvmx_ipd_2nd_next_ptr_back_s cn68xx;
189 struct cvmx_ipd_2nd_next_ptr_back_s cn68xxp1;
190 struct cvmx_ipd_2nd_next_ptr_back_s cnf71xx;
191};
192
193union cvmx_ipd_bist_status {
194 uint64_t u64;
195 struct cvmx_ipd_bist_status_s {
196#ifdef __BIG_ENDIAN_BITFIELD
197 uint64_t reserved_23_63:41;
198 uint64_t iiwo1:1;
199 uint64_t iiwo0:1;
200 uint64_t iio1:1;
201 uint64_t iio0:1;
202 uint64_t pbm4:1;
203 uint64_t csr_mem:1;
204 uint64_t csr_ncmd:1;
205 uint64_t pwq_wqed:1;
206 uint64_t pwq_wp1:1;
207 uint64_t pwq_pow:1;
208 uint64_t ipq_pbe1:1;
209 uint64_t ipq_pbe0:1;
210 uint64_t pbm3:1;
211 uint64_t pbm2:1;
212 uint64_t pbm1:1;
213 uint64_t pbm0:1;
214 uint64_t pbm_word:1;
215 uint64_t pwq1:1;
216 uint64_t pwq0:1;
217 uint64_t prc_off:1;
218 uint64_t ipd_old:1;
219 uint64_t ipd_new:1;
220 uint64_t pwp:1;
221#else
222 uint64_t pwp:1;
223 uint64_t ipd_new:1;
224 uint64_t ipd_old:1;
225 uint64_t prc_off:1;
226 uint64_t pwq0:1;
227 uint64_t pwq1:1;
228 uint64_t pbm_word:1;
229 uint64_t pbm0:1;
230 uint64_t pbm1:1;
231 uint64_t pbm2:1;
232 uint64_t pbm3:1;
233 uint64_t ipq_pbe0:1;
234 uint64_t ipq_pbe1:1;
235 uint64_t pwq_pow:1;
236 uint64_t pwq_wp1:1;
237 uint64_t pwq_wqed:1;
238 uint64_t csr_ncmd:1;
239 uint64_t csr_mem:1;
240 uint64_t pbm4:1;
241 uint64_t iio0:1;
242 uint64_t iio1:1;
243 uint64_t iiwo0:1;
244 uint64_t iiwo1:1;
245 uint64_t reserved_23_63:41;
246#endif
247 } s;
248 struct cvmx_ipd_bist_status_cn30xx {
249#ifdef __BIG_ENDIAN_BITFIELD
250 uint64_t reserved_16_63:48;
251 uint64_t pwq_wqed:1;
252 uint64_t pwq_wp1:1;
253 uint64_t pwq_pow:1;
254 uint64_t ipq_pbe1:1;
255 uint64_t ipq_pbe0:1;
256 uint64_t pbm3:1;
257 uint64_t pbm2:1;
258 uint64_t pbm1:1;
259 uint64_t pbm0:1;
260 uint64_t pbm_word:1;
261 uint64_t pwq1:1;
262 uint64_t pwq0:1;
263 uint64_t prc_off:1;
264 uint64_t ipd_old:1;
265 uint64_t ipd_new:1;
266 uint64_t pwp:1;
267#else
268 uint64_t pwp:1;
269 uint64_t ipd_new:1;
270 uint64_t ipd_old:1;
271 uint64_t prc_off:1;
272 uint64_t pwq0:1;
273 uint64_t pwq1:1;
274 uint64_t pbm_word:1;
275 uint64_t pbm0:1;
276 uint64_t pbm1:1;
277 uint64_t pbm2:1;
278 uint64_t pbm3:1;
279 uint64_t ipq_pbe0:1;
280 uint64_t ipq_pbe1:1;
281 uint64_t pwq_pow:1;
282 uint64_t pwq_wp1:1;
283 uint64_t pwq_wqed:1;
284 uint64_t reserved_16_63:48;
285#endif
286 } cn30xx;
287 struct cvmx_ipd_bist_status_cn30xx cn31xx;
288 struct cvmx_ipd_bist_status_cn30xx cn38xx;
289 struct cvmx_ipd_bist_status_cn30xx cn38xxp2;
290 struct cvmx_ipd_bist_status_cn30xx cn50xx;
291 struct cvmx_ipd_bist_status_cn52xx {
292#ifdef __BIG_ENDIAN_BITFIELD
293 uint64_t reserved_18_63:46;
294 uint64_t csr_mem:1;
295 uint64_t csr_ncmd:1;
296 uint64_t pwq_wqed:1;
297 uint64_t pwq_wp1:1;
298 uint64_t pwq_pow:1;
299 uint64_t ipq_pbe1:1;
300 uint64_t ipq_pbe0:1;
301 uint64_t pbm3:1;
302 uint64_t pbm2:1;
303 uint64_t pbm1:1;
304 uint64_t pbm0:1;
305 uint64_t pbm_word:1;
306 uint64_t pwq1:1;
307 uint64_t pwq0:1;
308 uint64_t prc_off:1;
309 uint64_t ipd_old:1;
310 uint64_t ipd_new:1;
311 uint64_t pwp:1;
312#else
313 uint64_t pwp:1;
314 uint64_t ipd_new:1;
315 uint64_t ipd_old:1;
316 uint64_t prc_off:1;
317 uint64_t pwq0:1;
318 uint64_t pwq1:1;
319 uint64_t pbm_word:1;
320 uint64_t pbm0:1;
321 uint64_t pbm1:1;
322 uint64_t pbm2:1;
323 uint64_t pbm3:1;
324 uint64_t ipq_pbe0:1;
325 uint64_t ipq_pbe1:1;
326 uint64_t pwq_pow:1;
327 uint64_t pwq_wp1:1;
328 uint64_t pwq_wqed:1;
329 uint64_t csr_ncmd:1;
330 uint64_t csr_mem:1;
331 uint64_t reserved_18_63:46;
332#endif
333 } cn52xx;
334 struct cvmx_ipd_bist_status_cn52xx cn52xxp1;
335 struct cvmx_ipd_bist_status_cn52xx cn56xx;
336 struct cvmx_ipd_bist_status_cn52xx cn56xxp1;
337 struct cvmx_ipd_bist_status_cn30xx cn58xx;
338 struct cvmx_ipd_bist_status_cn30xx cn58xxp1;
339 struct cvmx_ipd_bist_status_cn52xx cn61xx;
340 struct cvmx_ipd_bist_status_cn52xx cn63xx;
341 struct cvmx_ipd_bist_status_cn52xx cn63xxp1;
342 struct cvmx_ipd_bist_status_cn52xx cn66xx;
343 struct cvmx_ipd_bist_status_s cn68xx;
344 struct cvmx_ipd_bist_status_s cn68xxp1;
345 struct cvmx_ipd_bist_status_cn52xx cnf71xx;
346};
347
348union cvmx_ipd_bp_prt_red_end {
349 uint64_t u64;
350 struct cvmx_ipd_bp_prt_red_end_s {
351#ifdef __BIG_ENDIAN_BITFIELD
352 uint64_t reserved_48_63:16;
353 uint64_t prt_enb:48;
354#else
355 uint64_t prt_enb:48;
356 uint64_t reserved_48_63:16;
357#endif
358 } s;
359 struct cvmx_ipd_bp_prt_red_end_cn30xx {
360#ifdef __BIG_ENDIAN_BITFIELD
361 uint64_t reserved_36_63:28;
362 uint64_t prt_enb:36;
363#else
364 uint64_t prt_enb:36;
365 uint64_t reserved_36_63:28;
366#endif
367 } cn30xx;
368 struct cvmx_ipd_bp_prt_red_end_cn30xx cn31xx;
369 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xx;
370 struct cvmx_ipd_bp_prt_red_end_cn30xx cn38xxp2;
371 struct cvmx_ipd_bp_prt_red_end_cn30xx cn50xx;
372 struct cvmx_ipd_bp_prt_red_end_cn52xx {
373#ifdef __BIG_ENDIAN_BITFIELD
374 uint64_t reserved_40_63:24;
375 uint64_t prt_enb:40;
376#else
377 uint64_t prt_enb:40;
378 uint64_t reserved_40_63:24;
379#endif
380 } cn52xx;
381 struct cvmx_ipd_bp_prt_red_end_cn52xx cn52xxp1;
382 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xx;
383 struct cvmx_ipd_bp_prt_red_end_cn52xx cn56xxp1;
384 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xx;
385 struct cvmx_ipd_bp_prt_red_end_cn30xx cn58xxp1;
386 struct cvmx_ipd_bp_prt_red_end_s cn61xx;
387 struct cvmx_ipd_bp_prt_red_end_cn63xx {
388#ifdef __BIG_ENDIAN_BITFIELD
389 uint64_t reserved_44_63:20;
390 uint64_t prt_enb:44;
391#else
392 uint64_t prt_enb:44;
393 uint64_t reserved_44_63:20;
394#endif
395 } cn63xx;
396 struct cvmx_ipd_bp_prt_red_end_cn63xx cn63xxp1;
397 struct cvmx_ipd_bp_prt_red_end_s cn66xx;
398 struct cvmx_ipd_bp_prt_red_end_s cnf71xx;
399};
400
401union cvmx_ipd_bpidx_mbuf_th {
402 uint64_t u64;
403 struct cvmx_ipd_bpidx_mbuf_th_s {
404#ifdef __BIG_ENDIAN_BITFIELD
405 uint64_t reserved_18_63:46;
406 uint64_t bp_enb:1;
407 uint64_t page_cnt:17;
408#else
409 uint64_t page_cnt:17;
410 uint64_t bp_enb:1;
411 uint64_t reserved_18_63:46;
412#endif
413 } s;
414 struct cvmx_ipd_bpidx_mbuf_th_s cn68xx;
415 struct cvmx_ipd_bpidx_mbuf_th_s cn68xxp1;
416};
417
418union cvmx_ipd_bpid_bp_counterx {
419 uint64_t u64;
420 struct cvmx_ipd_bpid_bp_counterx_s {
421#ifdef __BIG_ENDIAN_BITFIELD
422 uint64_t reserved_25_63:39;
423 uint64_t cnt_val:25;
424#else
425 uint64_t cnt_val:25;
426 uint64_t reserved_25_63:39;
427#endif
428 } s;
429 struct cvmx_ipd_bpid_bp_counterx_s cn68xx;
430 struct cvmx_ipd_bpid_bp_counterx_s cn68xxp1;
431};
432
433union cvmx_ipd_clk_count {
434 uint64_t u64;
435 struct cvmx_ipd_clk_count_s {
436#ifdef __BIG_ENDIAN_BITFIELD
437 uint64_t clk_cnt:64;
438#else
439 uint64_t clk_cnt:64;
440#endif
441 } s;
442 struct cvmx_ipd_clk_count_s cn30xx;
443 struct cvmx_ipd_clk_count_s cn31xx;
444 struct cvmx_ipd_clk_count_s cn38xx;
445 struct cvmx_ipd_clk_count_s cn38xxp2;
446 struct cvmx_ipd_clk_count_s cn50xx;
447 struct cvmx_ipd_clk_count_s cn52xx;
448 struct cvmx_ipd_clk_count_s cn52xxp1;
449 struct cvmx_ipd_clk_count_s cn56xx;
450 struct cvmx_ipd_clk_count_s cn56xxp1;
451 struct cvmx_ipd_clk_count_s cn58xx;
452 struct cvmx_ipd_clk_count_s cn58xxp1;
453 struct cvmx_ipd_clk_count_s cn61xx;
454 struct cvmx_ipd_clk_count_s cn63xx;
455 struct cvmx_ipd_clk_count_s cn63xxp1;
456 struct cvmx_ipd_clk_count_s cn66xx;
457 struct cvmx_ipd_clk_count_s cn68xx;
458 struct cvmx_ipd_clk_count_s cn68xxp1;
459 struct cvmx_ipd_clk_count_s cnf71xx;
460};
461
462union cvmx_ipd_credits {
463 uint64_t u64;
464 struct cvmx_ipd_credits_s {
465#ifdef __BIG_ENDIAN_BITFIELD
466 uint64_t reserved_16_63:48;
467 uint64_t iob_wrc:8;
468 uint64_t iob_wr:8;
469#else
470 uint64_t iob_wr:8;
471 uint64_t iob_wrc:8;
472 uint64_t reserved_16_63:48;
473#endif
474 } s;
475 struct cvmx_ipd_credits_s cn68xx;
476 struct cvmx_ipd_credits_s cn68xxp1;
477};
478
479union cvmx_ipd_ctl_status {
480 uint64_t u64;
481 struct cvmx_ipd_ctl_status_s {
482#ifdef __BIG_ENDIAN_BITFIELD
483 uint64_t reserved_18_63:46;
484 uint64_t use_sop:1;
485 uint64_t rst_done:1;
486 uint64_t clken:1;
487 uint64_t no_wptr:1;
488 uint64_t pq_apkt:1;
489 uint64_t pq_nabuf:1;
490 uint64_t ipd_full:1;
491 uint64_t pkt_off:1;
492 uint64_t len_m8:1;
493 uint64_t reset:1;
494 uint64_t addpkt:1;
495 uint64_t naddbuf:1;
496 uint64_t pkt_lend:1;
497 uint64_t wqe_lend:1;
498 uint64_t pbp_en:1;
499 uint64_t opc_mode:2;
500 uint64_t ipd_en:1;
501#else
502 uint64_t ipd_en:1;
503 uint64_t opc_mode:2;
504 uint64_t pbp_en:1;
505 uint64_t wqe_lend:1;
506 uint64_t pkt_lend:1;
507 uint64_t naddbuf:1;
508 uint64_t addpkt:1;
509 uint64_t reset:1;
510 uint64_t len_m8:1;
511 uint64_t pkt_off:1;
512 uint64_t ipd_full:1;
513 uint64_t pq_nabuf:1;
514 uint64_t pq_apkt:1;
515 uint64_t no_wptr:1;
516 uint64_t clken:1;
517 uint64_t rst_done:1;
518 uint64_t use_sop:1;
519 uint64_t reserved_18_63:46;
520#endif
521 } s;
522 struct cvmx_ipd_ctl_status_cn30xx {
523#ifdef __BIG_ENDIAN_BITFIELD
524 uint64_t reserved_10_63:54;
525 uint64_t len_m8:1;
526 uint64_t reset:1;
527 uint64_t addpkt:1;
528 uint64_t naddbuf:1;
529 uint64_t pkt_lend:1;
530 uint64_t wqe_lend:1;
531 uint64_t pbp_en:1;
532 uint64_t opc_mode:2;
533 uint64_t ipd_en:1;
534#else
535 uint64_t ipd_en:1;
536 uint64_t opc_mode:2;
537 uint64_t pbp_en:1;
538 uint64_t wqe_lend:1;
539 uint64_t pkt_lend:1;
540 uint64_t naddbuf:1;
541 uint64_t addpkt:1;
542 uint64_t reset:1;
543 uint64_t len_m8:1;
544 uint64_t reserved_10_63:54;
545#endif
546 } cn30xx;
547 struct cvmx_ipd_ctl_status_cn30xx cn31xx;
548 struct cvmx_ipd_ctl_status_cn30xx cn38xx;
549 struct cvmx_ipd_ctl_status_cn38xxp2 {
550#ifdef __BIG_ENDIAN_BITFIELD
551 uint64_t reserved_9_63:55;
552 uint64_t reset:1;
553 uint64_t addpkt:1;
554 uint64_t naddbuf:1;
555 uint64_t pkt_lend:1;
556 uint64_t wqe_lend:1;
557 uint64_t pbp_en:1;
558 uint64_t opc_mode:2;
559 uint64_t ipd_en:1;
560#else
561 uint64_t ipd_en:1;
562 uint64_t opc_mode:2;
563 uint64_t pbp_en:1;
564 uint64_t wqe_lend:1;
565 uint64_t pkt_lend:1;
566 uint64_t naddbuf:1;
567 uint64_t addpkt:1;
568 uint64_t reset:1;
569 uint64_t reserved_9_63:55;
570#endif
571 } cn38xxp2;
572 struct cvmx_ipd_ctl_status_cn50xx {
573#ifdef __BIG_ENDIAN_BITFIELD
574 uint64_t reserved_15_63:49;
575 uint64_t no_wptr:1;
576 uint64_t pq_apkt:1;
577 uint64_t pq_nabuf:1;
578 uint64_t ipd_full:1;
579 uint64_t pkt_off:1;
580 uint64_t len_m8:1;
581 uint64_t reset:1;
582 uint64_t addpkt:1;
583 uint64_t naddbuf:1;
584 uint64_t pkt_lend:1;
585 uint64_t wqe_lend:1;
586 uint64_t pbp_en:1;
587 uint64_t opc_mode:2;
588 uint64_t ipd_en:1;
589#else
590 uint64_t ipd_en:1;
591 uint64_t opc_mode:2;
592 uint64_t pbp_en:1;
593 uint64_t wqe_lend:1;
594 uint64_t pkt_lend:1;
595 uint64_t naddbuf:1;
596 uint64_t addpkt:1;
597 uint64_t reset:1;
598 uint64_t len_m8:1;
599 uint64_t pkt_off:1;
600 uint64_t ipd_full:1;
601 uint64_t pq_nabuf:1;
602 uint64_t pq_apkt:1;
603 uint64_t no_wptr:1;
604 uint64_t reserved_15_63:49;
605#endif
606 } cn50xx;
607 struct cvmx_ipd_ctl_status_cn50xx cn52xx;
608 struct cvmx_ipd_ctl_status_cn50xx cn52xxp1;
609 struct cvmx_ipd_ctl_status_cn50xx cn56xx;
610 struct cvmx_ipd_ctl_status_cn50xx cn56xxp1;
611 struct cvmx_ipd_ctl_status_cn58xx {
612#ifdef __BIG_ENDIAN_BITFIELD
613 uint64_t reserved_12_63:52;
614 uint64_t ipd_full:1;
615 uint64_t pkt_off:1;
616 uint64_t len_m8:1;
617 uint64_t reset:1;
618 uint64_t addpkt:1;
619 uint64_t naddbuf:1;
620 uint64_t pkt_lend:1;
621 uint64_t wqe_lend:1;
622 uint64_t pbp_en:1;
623 uint64_t opc_mode:2;
624 uint64_t ipd_en:1;
625#else
626 uint64_t ipd_en:1;
627 uint64_t opc_mode:2;
628 uint64_t pbp_en:1;
629 uint64_t wqe_lend:1;
630 uint64_t pkt_lend:1;
631 uint64_t naddbuf:1;
632 uint64_t addpkt:1;
633 uint64_t reset:1;
634 uint64_t len_m8:1;
635 uint64_t pkt_off:1;
636 uint64_t ipd_full:1;
637 uint64_t reserved_12_63:52;
638#endif
639 } cn58xx;
640 struct cvmx_ipd_ctl_status_cn58xx cn58xxp1;
641 struct cvmx_ipd_ctl_status_s cn61xx;
642 struct cvmx_ipd_ctl_status_s cn63xx;
643 struct cvmx_ipd_ctl_status_cn63xxp1 {
644#ifdef __BIG_ENDIAN_BITFIELD
645 uint64_t reserved_16_63:48;
646 uint64_t clken:1;
647 uint64_t no_wptr:1;
648 uint64_t pq_apkt:1;
649 uint64_t pq_nabuf:1;
650 uint64_t ipd_full:1;
651 uint64_t pkt_off:1;
652 uint64_t len_m8:1;
653 uint64_t reset:1;
654 uint64_t addpkt:1;
655 uint64_t naddbuf:1;
656 uint64_t pkt_lend:1;
657 uint64_t wqe_lend:1;
658 uint64_t pbp_en:1;
659 uint64_t opc_mode:2;
660 uint64_t ipd_en:1;
661#else
662 uint64_t ipd_en:1;
663 uint64_t opc_mode:2;
664 uint64_t pbp_en:1;
665 uint64_t wqe_lend:1;
666 uint64_t pkt_lend:1;
667 uint64_t naddbuf:1;
668 uint64_t addpkt:1;
669 uint64_t reset:1;
670 uint64_t len_m8:1;
671 uint64_t pkt_off:1;
672 uint64_t ipd_full:1;
673 uint64_t pq_nabuf:1;
674 uint64_t pq_apkt:1;
675 uint64_t no_wptr:1;
676 uint64_t clken:1;
677 uint64_t reserved_16_63:48;
678#endif
679 } cn63xxp1;
680 struct cvmx_ipd_ctl_status_s cn66xx;
681 struct cvmx_ipd_ctl_status_s cn68xx;
682 struct cvmx_ipd_ctl_status_s cn68xxp1;
683 struct cvmx_ipd_ctl_status_s cnf71xx;
684};
685
686union cvmx_ipd_ecc_ctl {
687 uint64_t u64;
688 struct cvmx_ipd_ecc_ctl_s {
689#ifdef __BIG_ENDIAN_BITFIELD
690 uint64_t reserved_8_63:56;
691 uint64_t pm3_syn:2;
692 uint64_t pm2_syn:2;
693 uint64_t pm1_syn:2;
694 uint64_t pm0_syn:2;
695#else
696 uint64_t pm0_syn:2;
697 uint64_t pm1_syn:2;
698 uint64_t pm2_syn:2;
699 uint64_t pm3_syn:2;
700 uint64_t reserved_8_63:56;
701#endif
702 } s;
703 struct cvmx_ipd_ecc_ctl_s cn68xx;
704 struct cvmx_ipd_ecc_ctl_s cn68xxp1;
705};
706
707union cvmx_ipd_free_ptr_fifo_ctl {
708 uint64_t u64;
709 struct cvmx_ipd_free_ptr_fifo_ctl_s {
710#ifdef __BIG_ENDIAN_BITFIELD
711 uint64_t reserved_32_63:32;
712 uint64_t max_cnts:7;
713 uint64_t wraddr:8;
714 uint64_t praddr:8;
715 uint64_t cena:1;
716 uint64_t raddr:8;
717#else
718 uint64_t raddr:8;
719 uint64_t cena:1;
720 uint64_t praddr:8;
721 uint64_t wraddr:8;
722 uint64_t max_cnts:7;
723 uint64_t reserved_32_63:32;
724#endif
725 } s;
726 struct cvmx_ipd_free_ptr_fifo_ctl_s cn68xx;
727 struct cvmx_ipd_free_ptr_fifo_ctl_s cn68xxp1;
728};
729
730union cvmx_ipd_free_ptr_value {
731 uint64_t u64;
732 struct cvmx_ipd_free_ptr_value_s {
733#ifdef __BIG_ENDIAN_BITFIELD
734 uint64_t reserved_33_63:31;
735 uint64_t ptr:33;
736#else
737 uint64_t ptr:33;
738 uint64_t reserved_33_63:31;
739#endif
740 } s;
741 struct cvmx_ipd_free_ptr_value_s cn68xx;
742 struct cvmx_ipd_free_ptr_value_s cn68xxp1;
743};
744
745union cvmx_ipd_hold_ptr_fifo_ctl {
746 uint64_t u64;
747 struct cvmx_ipd_hold_ptr_fifo_ctl_s {
748#ifdef __BIG_ENDIAN_BITFIELD
749 uint64_t reserved_43_63:21;
750 uint64_t ptr:33;
751 uint64_t max_pkt:3;
752 uint64_t praddr:3;
753 uint64_t cena:1;
754 uint64_t raddr:3;
755#else
756 uint64_t raddr:3;
757 uint64_t cena:1;
758 uint64_t praddr:3;
759 uint64_t max_pkt:3;
760 uint64_t ptr:33;
761 uint64_t reserved_43_63:21;
762#endif
763 } s;
764 struct cvmx_ipd_hold_ptr_fifo_ctl_s cn68xx;
765 struct cvmx_ipd_hold_ptr_fifo_ctl_s cn68xxp1;
766};
767
768union cvmx_ipd_int_enb {
769 uint64_t u64;
770 struct cvmx_ipd_int_enb_s {
771#ifdef __BIG_ENDIAN_BITFIELD
772 uint64_t reserved_23_63:41;
773 uint64_t pw3_dbe:1;
774 uint64_t pw3_sbe:1;
775 uint64_t pw2_dbe:1;
776 uint64_t pw2_sbe:1;
777 uint64_t pw1_dbe:1;
778 uint64_t pw1_sbe:1;
779 uint64_t pw0_dbe:1;
780 uint64_t pw0_sbe:1;
781 uint64_t dat:1;
782 uint64_t eop:1;
783 uint64_t sop:1;
784 uint64_t pq_sub:1;
785 uint64_t pq_add:1;
786 uint64_t bc_ovr:1;
787 uint64_t d_coll:1;
788 uint64_t c_coll:1;
789 uint64_t cc_ovr:1;
790 uint64_t dc_ovr:1;
791 uint64_t bp_sub:1;
792 uint64_t prc_par3:1;
793 uint64_t prc_par2:1;
794 uint64_t prc_par1:1;
795 uint64_t prc_par0:1;
796#else
797 uint64_t prc_par0:1;
798 uint64_t prc_par1:1;
799 uint64_t prc_par2:1;
800 uint64_t prc_par3:1;
801 uint64_t bp_sub:1;
802 uint64_t dc_ovr:1;
803 uint64_t cc_ovr:1;
804 uint64_t c_coll:1;
805 uint64_t d_coll:1;
806 uint64_t bc_ovr:1;
807 uint64_t pq_add:1;
808 uint64_t pq_sub:1;
809 uint64_t sop:1;
810 uint64_t eop:1;
811 uint64_t dat:1;
812 uint64_t pw0_sbe:1;
813 uint64_t pw0_dbe:1;
814 uint64_t pw1_sbe:1;
815 uint64_t pw1_dbe:1;
816 uint64_t pw2_sbe:1;
817 uint64_t pw2_dbe:1;
818 uint64_t pw3_sbe:1;
819 uint64_t pw3_dbe:1;
820 uint64_t reserved_23_63:41;
821#endif
822 } s;
823 struct cvmx_ipd_int_enb_cn30xx {
824#ifdef __BIG_ENDIAN_BITFIELD
825 uint64_t reserved_5_63:59;
826 uint64_t bp_sub:1;
827 uint64_t prc_par3:1;
828 uint64_t prc_par2:1;
829 uint64_t prc_par1:1;
830 uint64_t prc_par0:1;
831#else
832 uint64_t prc_par0:1;
833 uint64_t prc_par1:1;
834 uint64_t prc_par2:1;
835 uint64_t prc_par3:1;
836 uint64_t bp_sub:1;
837 uint64_t reserved_5_63:59;
838#endif
839 } cn30xx;
840 struct cvmx_ipd_int_enb_cn30xx cn31xx;
841 struct cvmx_ipd_int_enb_cn38xx {
842#ifdef __BIG_ENDIAN_BITFIELD
843 uint64_t reserved_10_63:54;
844 uint64_t bc_ovr:1;
845 uint64_t d_coll:1;
846 uint64_t c_coll:1;
847 uint64_t cc_ovr:1;
848 uint64_t dc_ovr:1;
849 uint64_t bp_sub:1;
850 uint64_t prc_par3:1;
851 uint64_t prc_par2:1;
852 uint64_t prc_par1:1;
853 uint64_t prc_par0:1;
854#else
855 uint64_t prc_par0:1;
856 uint64_t prc_par1:1;
857 uint64_t prc_par2:1;
858 uint64_t prc_par3:1;
859 uint64_t bp_sub:1;
860 uint64_t dc_ovr:1;
861 uint64_t cc_ovr:1;
862 uint64_t c_coll:1;
863 uint64_t d_coll:1;
864 uint64_t bc_ovr:1;
865 uint64_t reserved_10_63:54;
866#endif
867 } cn38xx;
868 struct cvmx_ipd_int_enb_cn30xx cn38xxp2;
869 struct cvmx_ipd_int_enb_cn38xx cn50xx;
870 struct cvmx_ipd_int_enb_cn52xx {
871#ifdef __BIG_ENDIAN_BITFIELD
872 uint64_t reserved_12_63:52;
873 uint64_t pq_sub:1;
874 uint64_t pq_add:1;
875 uint64_t bc_ovr:1;
876 uint64_t d_coll:1;
877 uint64_t c_coll:1;
878 uint64_t cc_ovr:1;
879 uint64_t dc_ovr:1;
880 uint64_t bp_sub:1;
881 uint64_t prc_par3:1;
882 uint64_t prc_par2:1;
883 uint64_t prc_par1:1;
884 uint64_t prc_par0:1;
885#else
886 uint64_t prc_par0:1;
887 uint64_t prc_par1:1;
888 uint64_t prc_par2:1;
889 uint64_t prc_par3:1;
890 uint64_t bp_sub:1;
891 uint64_t dc_ovr:1;
892 uint64_t cc_ovr:1;
893 uint64_t c_coll:1;
894 uint64_t d_coll:1;
895 uint64_t bc_ovr:1;
896 uint64_t pq_add:1;
897 uint64_t pq_sub:1;
898 uint64_t reserved_12_63:52;
899#endif
900 } cn52xx;
901 struct cvmx_ipd_int_enb_cn52xx cn52xxp1;
902 struct cvmx_ipd_int_enb_cn52xx cn56xx;
903 struct cvmx_ipd_int_enb_cn52xx cn56xxp1;
904 struct cvmx_ipd_int_enb_cn38xx cn58xx;
905 struct cvmx_ipd_int_enb_cn38xx cn58xxp1;
906 struct cvmx_ipd_int_enb_cn52xx cn61xx;
907 struct cvmx_ipd_int_enb_cn52xx cn63xx;
908 struct cvmx_ipd_int_enb_cn52xx cn63xxp1;
909 struct cvmx_ipd_int_enb_cn52xx cn66xx;
910 struct cvmx_ipd_int_enb_s cn68xx;
911 struct cvmx_ipd_int_enb_s cn68xxp1;
912 struct cvmx_ipd_int_enb_cn52xx cnf71xx;
913};
914
915union cvmx_ipd_int_sum {
916 uint64_t u64;
917 struct cvmx_ipd_int_sum_s {
918#ifdef __BIG_ENDIAN_BITFIELD
919 uint64_t reserved_23_63:41;
920 uint64_t pw3_dbe:1;
921 uint64_t pw3_sbe:1;
922 uint64_t pw2_dbe:1;
923 uint64_t pw2_sbe:1;
924 uint64_t pw1_dbe:1;
925 uint64_t pw1_sbe:1;
926 uint64_t pw0_dbe:1;
927 uint64_t pw0_sbe:1;
928 uint64_t dat:1;
929 uint64_t eop:1;
930 uint64_t sop:1;
931 uint64_t pq_sub:1;
932 uint64_t pq_add:1;
933 uint64_t bc_ovr:1;
934 uint64_t d_coll:1;
935 uint64_t c_coll:1;
936 uint64_t cc_ovr:1;
937 uint64_t dc_ovr:1;
938 uint64_t bp_sub:1;
939 uint64_t prc_par3:1;
940 uint64_t prc_par2:1;
941 uint64_t prc_par1:1;
942 uint64_t prc_par0:1;
943#else
944 uint64_t prc_par0:1;
945 uint64_t prc_par1:1;
946 uint64_t prc_par2:1;
947 uint64_t prc_par3:1;
948 uint64_t bp_sub:1;
949 uint64_t dc_ovr:1;
950 uint64_t cc_ovr:1;
951 uint64_t c_coll:1;
952 uint64_t d_coll:1;
953 uint64_t bc_ovr:1;
954 uint64_t pq_add:1;
955 uint64_t pq_sub:1;
956 uint64_t sop:1;
957 uint64_t eop:1;
958 uint64_t dat:1;
959 uint64_t pw0_sbe:1;
960 uint64_t pw0_dbe:1;
961 uint64_t pw1_sbe:1;
962 uint64_t pw1_dbe:1;
963 uint64_t pw2_sbe:1;
964 uint64_t pw2_dbe:1;
965 uint64_t pw3_sbe:1;
966 uint64_t pw3_dbe:1;
967 uint64_t reserved_23_63:41;
968#endif
969 } s;
970 struct cvmx_ipd_int_sum_cn30xx {
971#ifdef __BIG_ENDIAN_BITFIELD
972 uint64_t reserved_5_63:59;
973 uint64_t bp_sub:1;
974 uint64_t prc_par3:1;
975 uint64_t prc_par2:1;
976 uint64_t prc_par1:1;
977 uint64_t prc_par0:1;
978#else
979 uint64_t prc_par0:1;
980 uint64_t prc_par1:1;
981 uint64_t prc_par2:1;
982 uint64_t prc_par3:1;
983 uint64_t bp_sub:1;
984 uint64_t reserved_5_63:59;
985#endif
986 } cn30xx;
987 struct cvmx_ipd_int_sum_cn30xx cn31xx;
988 struct cvmx_ipd_int_sum_cn38xx {
989#ifdef __BIG_ENDIAN_BITFIELD
990 uint64_t reserved_10_63:54;
991 uint64_t bc_ovr:1;
992 uint64_t d_coll:1;
993 uint64_t c_coll:1;
994 uint64_t cc_ovr:1;
995 uint64_t dc_ovr:1;
996 uint64_t bp_sub:1;
997 uint64_t prc_par3:1;
998 uint64_t prc_par2:1;
999 uint64_t prc_par1:1;
1000 uint64_t prc_par0:1;
1001#else
1002 uint64_t prc_par0:1;
1003 uint64_t prc_par1:1;
1004 uint64_t prc_par2:1;
1005 uint64_t prc_par3:1;
1006 uint64_t bp_sub:1;
1007 uint64_t dc_ovr:1;
1008 uint64_t cc_ovr:1;
1009 uint64_t c_coll:1;
1010 uint64_t d_coll:1;
1011 uint64_t bc_ovr:1;
1012 uint64_t reserved_10_63:54;
1013#endif
1014 } cn38xx;
1015 struct cvmx_ipd_int_sum_cn30xx cn38xxp2;
1016 struct cvmx_ipd_int_sum_cn38xx cn50xx;
1017 struct cvmx_ipd_int_sum_cn52xx {
1018#ifdef __BIG_ENDIAN_BITFIELD
1019 uint64_t reserved_12_63:52;
1020 uint64_t pq_sub:1;
1021 uint64_t pq_add:1;
1022 uint64_t bc_ovr:1;
1023 uint64_t d_coll:1;
1024 uint64_t c_coll:1;
1025 uint64_t cc_ovr:1;
1026 uint64_t dc_ovr:1;
1027 uint64_t bp_sub:1;
1028 uint64_t prc_par3:1;
1029 uint64_t prc_par2:1;
1030 uint64_t prc_par1:1;
1031 uint64_t prc_par0:1;
1032#else
1033 uint64_t prc_par0:1;
1034 uint64_t prc_par1:1;
1035 uint64_t prc_par2:1;
1036 uint64_t prc_par3:1;
1037 uint64_t bp_sub:1;
1038 uint64_t dc_ovr:1;
1039 uint64_t cc_ovr:1;
1040 uint64_t c_coll:1;
1041 uint64_t d_coll:1;
1042 uint64_t bc_ovr:1;
1043 uint64_t pq_add:1;
1044 uint64_t pq_sub:1;
1045 uint64_t reserved_12_63:52;
1046#endif
1047 } cn52xx;
1048 struct cvmx_ipd_int_sum_cn52xx cn52xxp1;
1049 struct cvmx_ipd_int_sum_cn52xx cn56xx;
1050 struct cvmx_ipd_int_sum_cn52xx cn56xxp1;
1051 struct cvmx_ipd_int_sum_cn38xx cn58xx;
1052 struct cvmx_ipd_int_sum_cn38xx cn58xxp1;
1053 struct cvmx_ipd_int_sum_cn52xx cn61xx;
1054 struct cvmx_ipd_int_sum_cn52xx cn63xx;
1055 struct cvmx_ipd_int_sum_cn52xx cn63xxp1;
1056 struct cvmx_ipd_int_sum_cn52xx cn66xx;
1057 struct cvmx_ipd_int_sum_s cn68xx;
1058 struct cvmx_ipd_int_sum_s cn68xxp1;
1059 struct cvmx_ipd_int_sum_cn52xx cnf71xx;
1060};
1061
1062union cvmx_ipd_next_pkt_ptr {
1063 uint64_t u64;
1064 struct cvmx_ipd_next_pkt_ptr_s {
1065#ifdef __BIG_ENDIAN_BITFIELD
1066 uint64_t reserved_33_63:31;
1067 uint64_t ptr:33;
1068#else
1069 uint64_t ptr:33;
1070 uint64_t reserved_33_63:31;
1071#endif
1072 } s;
1073 struct cvmx_ipd_next_pkt_ptr_s cn68xx;
1074 struct cvmx_ipd_next_pkt_ptr_s cn68xxp1;
1075};
1076
1077union cvmx_ipd_next_wqe_ptr {
1078 uint64_t u64;
1079 struct cvmx_ipd_next_wqe_ptr_s {
1080#ifdef __BIG_ENDIAN_BITFIELD
1081 uint64_t reserved_33_63:31;
1082 uint64_t ptr:33;
1083#else
1084 uint64_t ptr:33;
1085 uint64_t reserved_33_63:31;
1086#endif
1087 } s;
1088 struct cvmx_ipd_next_wqe_ptr_s cn68xx;
1089 struct cvmx_ipd_next_wqe_ptr_s cn68xxp1;
1090};
1091
1092union cvmx_ipd_not_1st_mbuff_skip {
1093 uint64_t u64;
1094 struct cvmx_ipd_not_1st_mbuff_skip_s {
1095#ifdef __BIG_ENDIAN_BITFIELD
1096 uint64_t reserved_6_63:58;
1097 uint64_t skip_sz:6;
1098#else
1099 uint64_t skip_sz:6;
1100 uint64_t reserved_6_63:58;
1101#endif
1102 } s;
1103 struct cvmx_ipd_not_1st_mbuff_skip_s cn30xx;
1104 struct cvmx_ipd_not_1st_mbuff_skip_s cn31xx;
1105 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xx;
1106 struct cvmx_ipd_not_1st_mbuff_skip_s cn38xxp2;
1107 struct cvmx_ipd_not_1st_mbuff_skip_s cn50xx;
1108 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xx;
1109 struct cvmx_ipd_not_1st_mbuff_skip_s cn52xxp1;
1110 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xx;
1111 struct cvmx_ipd_not_1st_mbuff_skip_s cn56xxp1;
1112 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xx;
1113 struct cvmx_ipd_not_1st_mbuff_skip_s cn58xxp1;
1114 struct cvmx_ipd_not_1st_mbuff_skip_s cn61xx;
1115 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xx;
1116 struct cvmx_ipd_not_1st_mbuff_skip_s cn63xxp1;
1117 struct cvmx_ipd_not_1st_mbuff_skip_s cn66xx;
1118 struct cvmx_ipd_not_1st_mbuff_skip_s cn68xx;
1119 struct cvmx_ipd_not_1st_mbuff_skip_s cn68xxp1;
1120 struct cvmx_ipd_not_1st_mbuff_skip_s cnf71xx;
1121};
1122
1123union cvmx_ipd_on_bp_drop_pktx {
1124 uint64_t u64;
1125 struct cvmx_ipd_on_bp_drop_pktx_s {
1126#ifdef __BIG_ENDIAN_BITFIELD
1127 uint64_t prt_enb:64;
1128#else
1129 uint64_t prt_enb:64;
1130#endif
1131 } s;
1132 struct cvmx_ipd_on_bp_drop_pktx_s cn68xx;
1133 struct cvmx_ipd_on_bp_drop_pktx_s cn68xxp1;
1134};
1135
1136union cvmx_ipd_packet_mbuff_size {
1137 uint64_t u64;
1138 struct cvmx_ipd_packet_mbuff_size_s {
1139#ifdef __BIG_ENDIAN_BITFIELD
1140 uint64_t reserved_12_63:52;
1141 uint64_t mb_size:12;
1142#else
1143 uint64_t mb_size:12;
1144 uint64_t reserved_12_63:52;
1145#endif
1146 } s;
1147 struct cvmx_ipd_packet_mbuff_size_s cn30xx;
1148 struct cvmx_ipd_packet_mbuff_size_s cn31xx;
1149 struct cvmx_ipd_packet_mbuff_size_s cn38xx;
1150 struct cvmx_ipd_packet_mbuff_size_s cn38xxp2;
1151 struct cvmx_ipd_packet_mbuff_size_s cn50xx;
1152 struct cvmx_ipd_packet_mbuff_size_s cn52xx;
1153 struct cvmx_ipd_packet_mbuff_size_s cn52xxp1;
1154 struct cvmx_ipd_packet_mbuff_size_s cn56xx;
1155 struct cvmx_ipd_packet_mbuff_size_s cn56xxp1;
1156 struct cvmx_ipd_packet_mbuff_size_s cn58xx;
1157 struct cvmx_ipd_packet_mbuff_size_s cn58xxp1;
1158 struct cvmx_ipd_packet_mbuff_size_s cn61xx;
1159 struct cvmx_ipd_packet_mbuff_size_s cn63xx;
1160 struct cvmx_ipd_packet_mbuff_size_s cn63xxp1;
1161 struct cvmx_ipd_packet_mbuff_size_s cn66xx;
1162 struct cvmx_ipd_packet_mbuff_size_s cn68xx;
1163 struct cvmx_ipd_packet_mbuff_size_s cn68xxp1;
1164 struct cvmx_ipd_packet_mbuff_size_s cnf71xx;
1165};
1166
1167union cvmx_ipd_pkt_err {
1168 uint64_t u64;
1169 struct cvmx_ipd_pkt_err_s {
1170#ifdef __BIG_ENDIAN_BITFIELD
1171 uint64_t reserved_6_63:58;
1172 uint64_t reasm:6;
1173#else
1174 uint64_t reasm:6;
1175 uint64_t reserved_6_63:58;
1176#endif
1177 } s;
1178 struct cvmx_ipd_pkt_err_s cn68xx;
1179 struct cvmx_ipd_pkt_err_s cn68xxp1;
1180};
1181
1182union cvmx_ipd_pkt_ptr_valid {
1183 uint64_t u64;
1184 struct cvmx_ipd_pkt_ptr_valid_s {
1185#ifdef __BIG_ENDIAN_BITFIELD
1186 uint64_t reserved_29_63:35;
1187 uint64_t ptr:29;
1188#else
1189 uint64_t ptr:29;
1190 uint64_t reserved_29_63:35;
1191#endif
1192 } s;
1193 struct cvmx_ipd_pkt_ptr_valid_s cn30xx;
1194 struct cvmx_ipd_pkt_ptr_valid_s cn31xx;
1195 struct cvmx_ipd_pkt_ptr_valid_s cn38xx;
1196 struct cvmx_ipd_pkt_ptr_valid_s cn50xx;
1197 struct cvmx_ipd_pkt_ptr_valid_s cn52xx;
1198 struct cvmx_ipd_pkt_ptr_valid_s cn52xxp1;
1199 struct cvmx_ipd_pkt_ptr_valid_s cn56xx;
1200 struct cvmx_ipd_pkt_ptr_valid_s cn56xxp1;
1201 struct cvmx_ipd_pkt_ptr_valid_s cn58xx;
1202 struct cvmx_ipd_pkt_ptr_valid_s cn58xxp1;
1203 struct cvmx_ipd_pkt_ptr_valid_s cn61xx;
1204 struct cvmx_ipd_pkt_ptr_valid_s cn63xx;
1205 struct cvmx_ipd_pkt_ptr_valid_s cn63xxp1;
1206 struct cvmx_ipd_pkt_ptr_valid_s cn66xx;
1207 struct cvmx_ipd_pkt_ptr_valid_s cnf71xx;
1208};
1209
1210union cvmx_ipd_portx_bp_page_cnt {
1211 uint64_t u64;
1212 struct cvmx_ipd_portx_bp_page_cnt_s {
1213#ifdef __BIG_ENDIAN_BITFIELD
1214 uint64_t reserved_18_63:46;
1215 uint64_t bp_enb:1;
1216 uint64_t page_cnt:17;
1217#else
1218 uint64_t page_cnt:17;
1219 uint64_t bp_enb:1;
1220 uint64_t reserved_18_63:46;
1221#endif
1222 } s;
1223 struct cvmx_ipd_portx_bp_page_cnt_s cn30xx;
1224 struct cvmx_ipd_portx_bp_page_cnt_s cn31xx;
1225 struct cvmx_ipd_portx_bp_page_cnt_s cn38xx;
1226 struct cvmx_ipd_portx_bp_page_cnt_s cn38xxp2;
1227 struct cvmx_ipd_portx_bp_page_cnt_s cn50xx;
1228 struct cvmx_ipd_portx_bp_page_cnt_s cn52xx;
1229 struct cvmx_ipd_portx_bp_page_cnt_s cn52xxp1;
1230 struct cvmx_ipd_portx_bp_page_cnt_s cn56xx;
1231 struct cvmx_ipd_portx_bp_page_cnt_s cn56xxp1;
1232 struct cvmx_ipd_portx_bp_page_cnt_s cn58xx;
1233 struct cvmx_ipd_portx_bp_page_cnt_s cn58xxp1;
1234 struct cvmx_ipd_portx_bp_page_cnt_s cn61xx;
1235 struct cvmx_ipd_portx_bp_page_cnt_s cn63xx;
1236 struct cvmx_ipd_portx_bp_page_cnt_s cn63xxp1;
1237 struct cvmx_ipd_portx_bp_page_cnt_s cn66xx;
1238 struct cvmx_ipd_portx_bp_page_cnt_s cnf71xx;
1239};
1240
1241union cvmx_ipd_portx_bp_page_cnt2 {
1242 uint64_t u64;
1243 struct cvmx_ipd_portx_bp_page_cnt2_s {
1244#ifdef __BIG_ENDIAN_BITFIELD
1245 uint64_t reserved_18_63:46;
1246 uint64_t bp_enb:1;
1247 uint64_t page_cnt:17;
1248#else
1249 uint64_t page_cnt:17;
1250 uint64_t bp_enb:1;
1251 uint64_t reserved_18_63:46;
1252#endif
1253 } s;
1254 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xx;
1255 struct cvmx_ipd_portx_bp_page_cnt2_s cn52xxp1;
1256 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xx;
1257 struct cvmx_ipd_portx_bp_page_cnt2_s cn56xxp1;
1258 struct cvmx_ipd_portx_bp_page_cnt2_s cn61xx;
1259 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xx;
1260 struct cvmx_ipd_portx_bp_page_cnt2_s cn63xxp1;
1261 struct cvmx_ipd_portx_bp_page_cnt2_s cn66xx;
1262 struct cvmx_ipd_portx_bp_page_cnt2_s cnf71xx;
1263};
1264
1265union cvmx_ipd_portx_bp_page_cnt3 {
1266 uint64_t u64;
1267 struct cvmx_ipd_portx_bp_page_cnt3_s {
1268#ifdef __BIG_ENDIAN_BITFIELD
1269 uint64_t reserved_18_63:46;
1270 uint64_t bp_enb:1;
1271 uint64_t page_cnt:17;
1272#else
1273 uint64_t page_cnt:17;
1274 uint64_t bp_enb:1;
1275 uint64_t reserved_18_63:46;
1276#endif
1277 } s;
1278 struct cvmx_ipd_portx_bp_page_cnt3_s cn61xx;
1279 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xx;
1280 struct cvmx_ipd_portx_bp_page_cnt3_s cn63xxp1;
1281 struct cvmx_ipd_portx_bp_page_cnt3_s cn66xx;
1282 struct cvmx_ipd_portx_bp_page_cnt3_s cnf71xx;
1283};
1284
1285union cvmx_ipd_port_bp_counters2_pairx {
1286 uint64_t u64;
1287 struct cvmx_ipd_port_bp_counters2_pairx_s {
1288#ifdef __BIG_ENDIAN_BITFIELD
1289 uint64_t reserved_25_63:39;
1290 uint64_t cnt_val:25;
1291#else
1292 uint64_t cnt_val:25;
1293 uint64_t reserved_25_63:39;
1294#endif
1295 } s;
1296 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xx;
1297 struct cvmx_ipd_port_bp_counters2_pairx_s cn52xxp1;
1298 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xx;
1299 struct cvmx_ipd_port_bp_counters2_pairx_s cn56xxp1;
1300 struct cvmx_ipd_port_bp_counters2_pairx_s cn61xx;
1301 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xx;
1302 struct cvmx_ipd_port_bp_counters2_pairx_s cn63xxp1;
1303 struct cvmx_ipd_port_bp_counters2_pairx_s cn66xx;
1304 struct cvmx_ipd_port_bp_counters2_pairx_s cnf71xx;
1305};
1306
1307union cvmx_ipd_port_bp_counters3_pairx {
1308 uint64_t u64;
1309 struct cvmx_ipd_port_bp_counters3_pairx_s {
1310#ifdef __BIG_ENDIAN_BITFIELD
1311 uint64_t reserved_25_63:39;
1312 uint64_t cnt_val:25;
1313#else
1314 uint64_t cnt_val:25;
1315 uint64_t reserved_25_63:39;
1316#endif
1317 } s;
1318 struct cvmx_ipd_port_bp_counters3_pairx_s cn61xx;
1319 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xx;
1320 struct cvmx_ipd_port_bp_counters3_pairx_s cn63xxp1;
1321 struct cvmx_ipd_port_bp_counters3_pairx_s cn66xx;
1322 struct cvmx_ipd_port_bp_counters3_pairx_s cnf71xx;
1323};
1324
1325union cvmx_ipd_port_bp_counters4_pairx {
1326 uint64_t u64;
1327 struct cvmx_ipd_port_bp_counters4_pairx_s {
1328#ifdef __BIG_ENDIAN_BITFIELD
1329 uint64_t reserved_25_63:39;
1330 uint64_t cnt_val:25;
1331#else
1332 uint64_t cnt_val:25;
1333 uint64_t reserved_25_63:39;
1334#endif
1335 } s;
1336 struct cvmx_ipd_port_bp_counters4_pairx_s cn61xx;
1337 struct cvmx_ipd_port_bp_counters4_pairx_s cn66xx;
1338 struct cvmx_ipd_port_bp_counters4_pairx_s cnf71xx;
1339};
1340
1341union cvmx_ipd_port_bp_counters_pairx {
1342 uint64_t u64;
1343 struct cvmx_ipd_port_bp_counters_pairx_s {
1344#ifdef __BIG_ENDIAN_BITFIELD
1345 uint64_t reserved_25_63:39;
1346 uint64_t cnt_val:25;
1347#else
1348 uint64_t cnt_val:25;
1349 uint64_t reserved_25_63:39;
1350#endif
1351 } s;
1352 struct cvmx_ipd_port_bp_counters_pairx_s cn30xx;
1353 struct cvmx_ipd_port_bp_counters_pairx_s cn31xx;
1354 struct cvmx_ipd_port_bp_counters_pairx_s cn38xx;
1355 struct cvmx_ipd_port_bp_counters_pairx_s cn38xxp2;
1356 struct cvmx_ipd_port_bp_counters_pairx_s cn50xx;
1357 struct cvmx_ipd_port_bp_counters_pairx_s cn52xx;
1358 struct cvmx_ipd_port_bp_counters_pairx_s cn52xxp1;
1359 struct cvmx_ipd_port_bp_counters_pairx_s cn56xx;
1360 struct cvmx_ipd_port_bp_counters_pairx_s cn56xxp1;
1361 struct cvmx_ipd_port_bp_counters_pairx_s cn58xx;
1362 struct cvmx_ipd_port_bp_counters_pairx_s cn58xxp1;
1363 struct cvmx_ipd_port_bp_counters_pairx_s cn61xx;
1364 struct cvmx_ipd_port_bp_counters_pairx_s cn63xx;
1365 struct cvmx_ipd_port_bp_counters_pairx_s cn63xxp1;
1366 struct cvmx_ipd_port_bp_counters_pairx_s cn66xx;
1367 struct cvmx_ipd_port_bp_counters_pairx_s cnf71xx;
1368};
1369
1370union cvmx_ipd_port_ptr_fifo_ctl {
1371 uint64_t u64;
1372 struct cvmx_ipd_port_ptr_fifo_ctl_s {
1373#ifdef __BIG_ENDIAN_BITFIELD
1374 uint64_t reserved_48_63:16;
1375 uint64_t ptr:33;
1376 uint64_t max_pkt:7;
1377 uint64_t cena:1;
1378 uint64_t raddr:7;
1379#else
1380 uint64_t raddr:7;
1381 uint64_t cena:1;
1382 uint64_t max_pkt:7;
1383 uint64_t ptr:33;
1384 uint64_t reserved_48_63:16;
1385#endif
1386 } s;
1387 struct cvmx_ipd_port_ptr_fifo_ctl_s cn68xx;
1388 struct cvmx_ipd_port_ptr_fifo_ctl_s cn68xxp1;
1389};
1390
1391union cvmx_ipd_port_qos_x_cnt {
1392 uint64_t u64;
1393 struct cvmx_ipd_port_qos_x_cnt_s {
1394#ifdef __BIG_ENDIAN_BITFIELD
1395 uint64_t wmark:32;
1396 uint64_t cnt:32;
1397#else
1398 uint64_t cnt:32;
1399 uint64_t wmark:32;
1400#endif
1401 } s;
1402 struct cvmx_ipd_port_qos_x_cnt_s cn52xx;
1403 struct cvmx_ipd_port_qos_x_cnt_s cn52xxp1;
1404 struct cvmx_ipd_port_qos_x_cnt_s cn56xx;
1405 struct cvmx_ipd_port_qos_x_cnt_s cn56xxp1;
1406 struct cvmx_ipd_port_qos_x_cnt_s cn61xx;
1407 struct cvmx_ipd_port_qos_x_cnt_s cn63xx;
1408 struct cvmx_ipd_port_qos_x_cnt_s cn63xxp1;
1409 struct cvmx_ipd_port_qos_x_cnt_s cn66xx;
1410 struct cvmx_ipd_port_qos_x_cnt_s cn68xx;
1411 struct cvmx_ipd_port_qos_x_cnt_s cn68xxp1;
1412 struct cvmx_ipd_port_qos_x_cnt_s cnf71xx;
1413};
1414
1415union cvmx_ipd_port_qos_intx {
1416 uint64_t u64;
1417 struct cvmx_ipd_port_qos_intx_s {
1418#ifdef __BIG_ENDIAN_BITFIELD
1419 uint64_t intr:64;
1420#else
1421 uint64_t intr:64;
1422#endif
1423 } s;
1424 struct cvmx_ipd_port_qos_intx_s cn52xx;
1425 struct cvmx_ipd_port_qos_intx_s cn52xxp1;
1426 struct cvmx_ipd_port_qos_intx_s cn56xx;
1427 struct cvmx_ipd_port_qos_intx_s cn56xxp1;
1428 struct cvmx_ipd_port_qos_intx_s cn61xx;
1429 struct cvmx_ipd_port_qos_intx_s cn63xx;
1430 struct cvmx_ipd_port_qos_intx_s cn63xxp1;
1431 struct cvmx_ipd_port_qos_intx_s cn66xx;
1432 struct cvmx_ipd_port_qos_intx_s cn68xx;
1433 struct cvmx_ipd_port_qos_intx_s cn68xxp1;
1434 struct cvmx_ipd_port_qos_intx_s cnf71xx;
1435};
1436
1437union cvmx_ipd_port_qos_int_enbx {
1438 uint64_t u64;
1439 struct cvmx_ipd_port_qos_int_enbx_s {
1440#ifdef __BIG_ENDIAN_BITFIELD
1441 uint64_t enb:64;
1442#else
1443 uint64_t enb:64;
1444#endif
1445 } s;
1446 struct cvmx_ipd_port_qos_int_enbx_s cn52xx;
1447 struct cvmx_ipd_port_qos_int_enbx_s cn52xxp1;
1448 struct cvmx_ipd_port_qos_int_enbx_s cn56xx;
1449 struct cvmx_ipd_port_qos_int_enbx_s cn56xxp1;
1450 struct cvmx_ipd_port_qos_int_enbx_s cn61xx;
1451 struct cvmx_ipd_port_qos_int_enbx_s cn63xx;
1452 struct cvmx_ipd_port_qos_int_enbx_s cn63xxp1;
1453 struct cvmx_ipd_port_qos_int_enbx_s cn66xx;
1454 struct cvmx_ipd_port_qos_int_enbx_s cn68xx;
1455 struct cvmx_ipd_port_qos_int_enbx_s cn68xxp1;
1456 struct cvmx_ipd_port_qos_int_enbx_s cnf71xx;
1457};
1458
1459union cvmx_ipd_port_sopx {
1460 uint64_t u64;
1461 struct cvmx_ipd_port_sopx_s {
1462#ifdef __BIG_ENDIAN_BITFIELD
1463 uint64_t sop:64;
1464#else
1465 uint64_t sop:64;
1466#endif
1467 } s;
1468 struct cvmx_ipd_port_sopx_s cn68xx;
1469 struct cvmx_ipd_port_sopx_s cn68xxp1;
1470};
1471
1472union cvmx_ipd_prc_hold_ptr_fifo_ctl {
1473 uint64_t u64;
1474 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
1475#ifdef __BIG_ENDIAN_BITFIELD
1476 uint64_t reserved_39_63:25;
1477 uint64_t max_pkt:3;
1478 uint64_t praddr:3;
1479 uint64_t ptr:29;
1480 uint64_t cena:1;
1481 uint64_t raddr:3;
1482#else
1483 uint64_t raddr:3;
1484 uint64_t cena:1;
1485 uint64_t ptr:29;
1486 uint64_t praddr:3;
1487 uint64_t max_pkt:3;
1488 uint64_t reserved_39_63:25;
1489#endif
1490 } s;
1491 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn30xx;
1492 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn31xx;
1493 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn38xx;
1494 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn50xx;
1495 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xx;
1496 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn52xxp1;
1497 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xx;
1498 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn56xxp1;
1499 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xx;
1500 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn58xxp1;
1501 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn61xx;
1502 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xx;
1503 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn63xxp1;
1504 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cn66xx;
1505 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s cnf71xx;
1506};
1507
1508union cvmx_ipd_prc_port_ptr_fifo_ctl {
1509 uint64_t u64;
1510 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
1511#ifdef __BIG_ENDIAN_BITFIELD
1512 uint64_t reserved_44_63:20;
1513 uint64_t max_pkt:7;
1514 uint64_t ptr:29;
1515 uint64_t cena:1;
1516 uint64_t raddr:7;
1517#else
1518 uint64_t raddr:7;
1519 uint64_t cena:1;
1520 uint64_t ptr:29;
1521 uint64_t max_pkt:7;
1522 uint64_t reserved_44_63:20;
1523#endif
1524 } s;
1525 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn30xx;
1526 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn31xx;
1527 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn38xx;
1528 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn50xx;
1529 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xx;
1530 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn52xxp1;
1531 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xx;
1532 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn56xxp1;
1533 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xx;
1534 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn58xxp1;
1535 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn61xx;
1536 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xx;
1537 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn63xxp1;
1538 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cn66xx;
1539 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s cnf71xx;
1540};
1541
1542union cvmx_ipd_ptr_count {
1543 uint64_t u64;
1544 struct cvmx_ipd_ptr_count_s {
1545#ifdef __BIG_ENDIAN_BITFIELD
1546 uint64_t reserved_19_63:45;
1547 uint64_t pktv_cnt:1;
1548 uint64_t wqev_cnt:1;
1549 uint64_t pfif_cnt:3;
1550 uint64_t pkt_pcnt:7;
1551 uint64_t wqe_pcnt:7;
1552#else
1553 uint64_t wqe_pcnt:7;
1554 uint64_t pkt_pcnt:7;
1555 uint64_t pfif_cnt:3;
1556 uint64_t wqev_cnt:1;
1557 uint64_t pktv_cnt:1;
1558 uint64_t reserved_19_63:45;
1559#endif
1560 } s;
1561 struct cvmx_ipd_ptr_count_s cn30xx;
1562 struct cvmx_ipd_ptr_count_s cn31xx;
1563 struct cvmx_ipd_ptr_count_s cn38xx;
1564 struct cvmx_ipd_ptr_count_s cn38xxp2;
1565 struct cvmx_ipd_ptr_count_s cn50xx;
1566 struct cvmx_ipd_ptr_count_s cn52xx;
1567 struct cvmx_ipd_ptr_count_s cn52xxp1;
1568 struct cvmx_ipd_ptr_count_s cn56xx;
1569 struct cvmx_ipd_ptr_count_s cn56xxp1;
1570 struct cvmx_ipd_ptr_count_s cn58xx;
1571 struct cvmx_ipd_ptr_count_s cn58xxp1;
1572 struct cvmx_ipd_ptr_count_s cn61xx;
1573 struct cvmx_ipd_ptr_count_s cn63xx;
1574 struct cvmx_ipd_ptr_count_s cn63xxp1;
1575 struct cvmx_ipd_ptr_count_s cn66xx;
1576 struct cvmx_ipd_ptr_count_s cn68xx;
1577 struct cvmx_ipd_ptr_count_s cn68xxp1;
1578 struct cvmx_ipd_ptr_count_s cnf71xx;
1579};
1580
1581union cvmx_ipd_pwp_ptr_fifo_ctl {
1582 uint64_t u64;
1583 struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
1584#ifdef __BIG_ENDIAN_BITFIELD
1585 uint64_t reserved_61_63:3;
1586 uint64_t max_cnts:7;
1587 uint64_t wraddr:8;
1588 uint64_t praddr:8;
1589 uint64_t ptr:29;
1590 uint64_t cena:1;
1591 uint64_t raddr:8;
1592#else
1593 uint64_t raddr:8;
1594 uint64_t cena:1;
1595 uint64_t ptr:29;
1596 uint64_t praddr:8;
1597 uint64_t wraddr:8;
1598 uint64_t max_cnts:7;
1599 uint64_t reserved_61_63:3;
1600#endif
1601 } s;
1602 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn30xx;
1603 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn31xx;
1604 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn38xx;
1605 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn50xx;
1606 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xx;
1607 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn52xxp1;
1608 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xx;
1609 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn56xxp1;
1610 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xx;
1611 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn58xxp1;
1612 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn61xx;
1613 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xx;
1614 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn63xxp1;
1615 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cn66xx;
1616 struct cvmx_ipd_pwp_ptr_fifo_ctl_s cnf71xx;
1617};
1618
1619union cvmx_ipd_qosx_red_marks {
1620 uint64_t u64;
1621 struct cvmx_ipd_qosx_red_marks_s {
1622#ifdef __BIG_ENDIAN_BITFIELD
1623 uint64_t drop:32;
1624 uint64_t pass:32;
1625#else
1626 uint64_t pass:32;
1627 uint64_t drop:32;
1628#endif
1629 } s;
1630 struct cvmx_ipd_qosx_red_marks_s cn30xx;
1631 struct cvmx_ipd_qosx_red_marks_s cn31xx;
1632 struct cvmx_ipd_qosx_red_marks_s cn38xx;
1633 struct cvmx_ipd_qosx_red_marks_s cn38xxp2;
1634 struct cvmx_ipd_qosx_red_marks_s cn50xx;
1635 struct cvmx_ipd_qosx_red_marks_s cn52xx;
1636 struct cvmx_ipd_qosx_red_marks_s cn52xxp1;
1637 struct cvmx_ipd_qosx_red_marks_s cn56xx;
1638 struct cvmx_ipd_qosx_red_marks_s cn56xxp1;
1639 struct cvmx_ipd_qosx_red_marks_s cn58xx;
1640 struct cvmx_ipd_qosx_red_marks_s cn58xxp1;
1641 struct cvmx_ipd_qosx_red_marks_s cn61xx;
1642 struct cvmx_ipd_qosx_red_marks_s cn63xx;
1643 struct cvmx_ipd_qosx_red_marks_s cn63xxp1;
1644 struct cvmx_ipd_qosx_red_marks_s cn66xx;
1645 struct cvmx_ipd_qosx_red_marks_s cn68xx;
1646 struct cvmx_ipd_qosx_red_marks_s cn68xxp1;
1647 struct cvmx_ipd_qosx_red_marks_s cnf71xx;
1648};
1649
1650union cvmx_ipd_que0_free_page_cnt {
1651 uint64_t u64;
1652 struct cvmx_ipd_que0_free_page_cnt_s {
1653#ifdef __BIG_ENDIAN_BITFIELD
1654 uint64_t reserved_32_63:32;
1655 uint64_t q0_pcnt:32;
1656#else
1657 uint64_t q0_pcnt:32;
1658 uint64_t reserved_32_63:32;
1659#endif
1660 } s;
1661 struct cvmx_ipd_que0_free_page_cnt_s cn30xx;
1662 struct cvmx_ipd_que0_free_page_cnt_s cn31xx;
1663 struct cvmx_ipd_que0_free_page_cnt_s cn38xx;
1664 struct cvmx_ipd_que0_free_page_cnt_s cn38xxp2;
1665 struct cvmx_ipd_que0_free_page_cnt_s cn50xx;
1666 struct cvmx_ipd_que0_free_page_cnt_s cn52xx;
1667 struct cvmx_ipd_que0_free_page_cnt_s cn52xxp1;
1668 struct cvmx_ipd_que0_free_page_cnt_s cn56xx;
1669 struct cvmx_ipd_que0_free_page_cnt_s cn56xxp1;
1670 struct cvmx_ipd_que0_free_page_cnt_s cn58xx;
1671 struct cvmx_ipd_que0_free_page_cnt_s cn58xxp1;
1672 struct cvmx_ipd_que0_free_page_cnt_s cn61xx;
1673 struct cvmx_ipd_que0_free_page_cnt_s cn63xx;
1674 struct cvmx_ipd_que0_free_page_cnt_s cn63xxp1;
1675 struct cvmx_ipd_que0_free_page_cnt_s cn66xx;
1676 struct cvmx_ipd_que0_free_page_cnt_s cn68xx;
1677 struct cvmx_ipd_que0_free_page_cnt_s cn68xxp1;
1678 struct cvmx_ipd_que0_free_page_cnt_s cnf71xx;
1679};
1680
1681union cvmx_ipd_red_bpid_enablex {
1682 uint64_t u64;
1683 struct cvmx_ipd_red_bpid_enablex_s {
1684#ifdef __BIG_ENDIAN_BITFIELD
1685 uint64_t prt_enb:64;
1686#else
1687 uint64_t prt_enb:64;
1688#endif
1689 } s;
1690 struct cvmx_ipd_red_bpid_enablex_s cn68xx;
1691 struct cvmx_ipd_red_bpid_enablex_s cn68xxp1;
1692};
1693
1694union cvmx_ipd_red_delay {
1695 uint64_t u64;
1696 struct cvmx_ipd_red_delay_s {
1697#ifdef __BIG_ENDIAN_BITFIELD
1698 uint64_t reserved_28_63:36;
1699 uint64_t prb_dly:14;
1700 uint64_t avg_dly:14;
1701#else
1702 uint64_t avg_dly:14;
1703 uint64_t prb_dly:14;
1704 uint64_t reserved_28_63:36;
1705#endif
1706 } s;
1707 struct cvmx_ipd_red_delay_s cn68xx;
1708 struct cvmx_ipd_red_delay_s cn68xxp1;
1709};
1710
1711union cvmx_ipd_red_port_enable {
1712 uint64_t u64;
1713 struct cvmx_ipd_red_port_enable_s {
1714#ifdef __BIG_ENDIAN_BITFIELD
1715 uint64_t prb_dly:14;
1716 uint64_t avg_dly:14;
1717 uint64_t prt_enb:36;
1718#else
1719 uint64_t prt_enb:36;
1720 uint64_t avg_dly:14;
1721 uint64_t prb_dly:14;
1722#endif
1723 } s;
1724 struct cvmx_ipd_red_port_enable_s cn30xx;
1725 struct cvmx_ipd_red_port_enable_s cn31xx;
1726 struct cvmx_ipd_red_port_enable_s cn38xx;
1727 struct cvmx_ipd_red_port_enable_s cn38xxp2;
1728 struct cvmx_ipd_red_port_enable_s cn50xx;
1729 struct cvmx_ipd_red_port_enable_s cn52xx;
1730 struct cvmx_ipd_red_port_enable_s cn52xxp1;
1731 struct cvmx_ipd_red_port_enable_s cn56xx;
1732 struct cvmx_ipd_red_port_enable_s cn56xxp1;
1733 struct cvmx_ipd_red_port_enable_s cn58xx;
1734 struct cvmx_ipd_red_port_enable_s cn58xxp1;
1735 struct cvmx_ipd_red_port_enable_s cn61xx;
1736 struct cvmx_ipd_red_port_enable_s cn63xx;
1737 struct cvmx_ipd_red_port_enable_s cn63xxp1;
1738 struct cvmx_ipd_red_port_enable_s cn66xx;
1739 struct cvmx_ipd_red_port_enable_s cnf71xx;
1740};
1741
1742union cvmx_ipd_red_port_enable2 {
1743 uint64_t u64;
1744 struct cvmx_ipd_red_port_enable2_s {
1745#ifdef __BIG_ENDIAN_BITFIELD
1746 uint64_t reserved_12_63:52;
1747 uint64_t prt_enb:12;
1748#else
1749 uint64_t prt_enb:12;
1750 uint64_t reserved_12_63:52;
1751#endif
1752 } s;
1753 struct cvmx_ipd_red_port_enable2_cn52xx {
1754#ifdef __BIG_ENDIAN_BITFIELD
1755 uint64_t reserved_4_63:60;
1756 uint64_t prt_enb:4;
1757#else
1758 uint64_t prt_enb:4;
1759 uint64_t reserved_4_63:60;
1760#endif
1761 } cn52xx;
1762 struct cvmx_ipd_red_port_enable2_cn52xx cn52xxp1;
1763 struct cvmx_ipd_red_port_enable2_cn52xx cn56xx;
1764 struct cvmx_ipd_red_port_enable2_cn52xx cn56xxp1;
1765 struct cvmx_ipd_red_port_enable2_s cn61xx;
1766 struct cvmx_ipd_red_port_enable2_cn63xx {
1767#ifdef __BIG_ENDIAN_BITFIELD
1768 uint64_t reserved_8_63:56;
1769 uint64_t prt_enb:8;
1770#else
1771 uint64_t prt_enb:8;
1772 uint64_t reserved_8_63:56;
1773#endif
1774 } cn63xx;
1775 struct cvmx_ipd_red_port_enable2_cn63xx cn63xxp1;
1776 struct cvmx_ipd_red_port_enable2_s cn66xx;
1777 struct cvmx_ipd_red_port_enable2_s cnf71xx;
1778};
1779
1780union cvmx_ipd_red_quex_param {
1781 uint64_t u64;
1782 struct cvmx_ipd_red_quex_param_s {
1783#ifdef __BIG_ENDIAN_BITFIELD
1784 uint64_t reserved_49_63:15;
1785 uint64_t use_pcnt:1;
1786 uint64_t new_con:8;
1787 uint64_t avg_con:8;
1788 uint64_t prb_con:32;
1789#else
1790 uint64_t prb_con:32;
1791 uint64_t avg_con:8;
1792 uint64_t new_con:8;
1793 uint64_t use_pcnt:1;
1794 uint64_t reserved_49_63:15;
1795#endif
1796 } s;
1797 struct cvmx_ipd_red_quex_param_s cn30xx;
1798 struct cvmx_ipd_red_quex_param_s cn31xx;
1799 struct cvmx_ipd_red_quex_param_s cn38xx;
1800 struct cvmx_ipd_red_quex_param_s cn38xxp2;
1801 struct cvmx_ipd_red_quex_param_s cn50xx;
1802 struct cvmx_ipd_red_quex_param_s cn52xx;
1803 struct cvmx_ipd_red_quex_param_s cn52xxp1;
1804 struct cvmx_ipd_red_quex_param_s cn56xx;
1805 struct cvmx_ipd_red_quex_param_s cn56xxp1;
1806 struct cvmx_ipd_red_quex_param_s cn58xx;
1807 struct cvmx_ipd_red_quex_param_s cn58xxp1;
1808 struct cvmx_ipd_red_quex_param_s cn61xx;
1809 struct cvmx_ipd_red_quex_param_s cn63xx;
1810 struct cvmx_ipd_red_quex_param_s cn63xxp1;
1811 struct cvmx_ipd_red_quex_param_s cn66xx;
1812 struct cvmx_ipd_red_quex_param_s cn68xx;
1813 struct cvmx_ipd_red_quex_param_s cn68xxp1;
1814 struct cvmx_ipd_red_quex_param_s cnf71xx;
1815};
1816
1817union cvmx_ipd_req_wgt {
1818 uint64_t u64;
1819 struct cvmx_ipd_req_wgt_s {
1820#ifdef __BIG_ENDIAN_BITFIELD
1821 uint64_t wgt7:8;
1822 uint64_t wgt6:8;
1823 uint64_t wgt5:8;
1824 uint64_t wgt4:8;
1825 uint64_t wgt3:8;
1826 uint64_t wgt2:8;
1827 uint64_t wgt1:8;
1828 uint64_t wgt0:8;
1829#else
1830 uint64_t wgt0:8;
1831 uint64_t wgt1:8;
1832 uint64_t wgt2:8;
1833 uint64_t wgt3:8;
1834 uint64_t wgt4:8;
1835 uint64_t wgt5:8;
1836 uint64_t wgt6:8;
1837 uint64_t wgt7:8;
1838#endif
1839 } s;
1840 struct cvmx_ipd_req_wgt_s cn68xx;
1841};
1842
1843union cvmx_ipd_sub_port_bp_page_cnt {
1844 uint64_t u64;
1845 struct cvmx_ipd_sub_port_bp_page_cnt_s {
1846#ifdef __BIG_ENDIAN_BITFIELD
1847 uint64_t reserved_31_63:33;
1848 uint64_t port:6;
1849 uint64_t page_cnt:25;
1850#else
1851 uint64_t page_cnt:25;
1852 uint64_t port:6;
1853 uint64_t reserved_31_63:33;
1854#endif
1855 } s;
1856 struct cvmx_ipd_sub_port_bp_page_cnt_s cn30xx;
1857 struct cvmx_ipd_sub_port_bp_page_cnt_s cn31xx;
1858 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xx;
1859 struct cvmx_ipd_sub_port_bp_page_cnt_s cn38xxp2;
1860 struct cvmx_ipd_sub_port_bp_page_cnt_s cn50xx;
1861 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xx;
1862 struct cvmx_ipd_sub_port_bp_page_cnt_s cn52xxp1;
1863 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xx;
1864 struct cvmx_ipd_sub_port_bp_page_cnt_s cn56xxp1;
1865 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xx;
1866 struct cvmx_ipd_sub_port_bp_page_cnt_s cn58xxp1;
1867 struct cvmx_ipd_sub_port_bp_page_cnt_s cn61xx;
1868 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xx;
1869 struct cvmx_ipd_sub_port_bp_page_cnt_s cn63xxp1;
1870 struct cvmx_ipd_sub_port_bp_page_cnt_s cn66xx;
1871 struct cvmx_ipd_sub_port_bp_page_cnt_s cn68xx;
1872 struct cvmx_ipd_sub_port_bp_page_cnt_s cn68xxp1;
1873 struct cvmx_ipd_sub_port_bp_page_cnt_s cnf71xx;
1874};
1875
1876union cvmx_ipd_sub_port_fcs {
1877 uint64_t u64;
1878 struct cvmx_ipd_sub_port_fcs_s {
1879#ifdef __BIG_ENDIAN_BITFIELD
1880 uint64_t reserved_40_63:24;
1881 uint64_t port_bit2:4;
1882 uint64_t reserved_32_35:4;
1883 uint64_t port_bit:32;
1884#else
1885 uint64_t port_bit:32;
1886 uint64_t reserved_32_35:4;
1887 uint64_t port_bit2:4;
1888 uint64_t reserved_40_63:24;
1889#endif
1890 } s;
1891 struct cvmx_ipd_sub_port_fcs_cn30xx {
1892#ifdef __BIG_ENDIAN_BITFIELD
1893 uint64_t reserved_3_63:61;
1894 uint64_t port_bit:3;
1895#else
1896 uint64_t port_bit:3;
1897 uint64_t reserved_3_63:61;
1898#endif
1899 } cn30xx;
1900 struct cvmx_ipd_sub_port_fcs_cn30xx cn31xx;
1901 struct cvmx_ipd_sub_port_fcs_cn38xx {
1902#ifdef __BIG_ENDIAN_BITFIELD
1903 uint64_t reserved_32_63:32;
1904 uint64_t port_bit:32;
1905#else
1906 uint64_t port_bit:32;
1907 uint64_t reserved_32_63:32;
1908#endif
1909 } cn38xx;
1910 struct cvmx_ipd_sub_port_fcs_cn38xx cn38xxp2;
1911 struct cvmx_ipd_sub_port_fcs_cn30xx cn50xx;
1912 struct cvmx_ipd_sub_port_fcs_s cn52xx;
1913 struct cvmx_ipd_sub_port_fcs_s cn52xxp1;
1914 struct cvmx_ipd_sub_port_fcs_s cn56xx;
1915 struct cvmx_ipd_sub_port_fcs_s cn56xxp1;
1916 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xx;
1917 struct cvmx_ipd_sub_port_fcs_cn38xx cn58xxp1;
1918 struct cvmx_ipd_sub_port_fcs_s cn61xx;
1919 struct cvmx_ipd_sub_port_fcs_s cn63xx;
1920 struct cvmx_ipd_sub_port_fcs_s cn63xxp1;
1921 struct cvmx_ipd_sub_port_fcs_s cn66xx;
1922 struct cvmx_ipd_sub_port_fcs_s cnf71xx;
1923};
1924
1925union cvmx_ipd_sub_port_qos_cnt {
1926 uint64_t u64;
1927 struct cvmx_ipd_sub_port_qos_cnt_s {
1928#ifdef __BIG_ENDIAN_BITFIELD
1929 uint64_t reserved_41_63:23;
1930 uint64_t port_qos:9;
1931 uint64_t cnt:32;
1932#else
1933 uint64_t cnt:32;
1934 uint64_t port_qos:9;
1935 uint64_t reserved_41_63:23;
1936#endif
1937 } s;
1938 struct cvmx_ipd_sub_port_qos_cnt_s cn52xx;
1939 struct cvmx_ipd_sub_port_qos_cnt_s cn52xxp1;
1940 struct cvmx_ipd_sub_port_qos_cnt_s cn56xx;
1941 struct cvmx_ipd_sub_port_qos_cnt_s cn56xxp1;
1942 struct cvmx_ipd_sub_port_qos_cnt_s cn61xx;
1943 struct cvmx_ipd_sub_port_qos_cnt_s cn63xx;
1944 struct cvmx_ipd_sub_port_qos_cnt_s cn63xxp1;
1945 struct cvmx_ipd_sub_port_qos_cnt_s cn66xx;
1946 struct cvmx_ipd_sub_port_qos_cnt_s cn68xx;
1947 struct cvmx_ipd_sub_port_qos_cnt_s cn68xxp1;
1948 struct cvmx_ipd_sub_port_qos_cnt_s cnf71xx;
1949};
1950
1951union cvmx_ipd_wqe_fpa_queue {
1952 uint64_t u64;
1953 struct cvmx_ipd_wqe_fpa_queue_s {
1954#ifdef __BIG_ENDIAN_BITFIELD
1955 uint64_t reserved_3_63:61;
1956 uint64_t wqe_pool:3;
1957#else
1958 uint64_t wqe_pool:3;
1959 uint64_t reserved_3_63:61;
1960#endif
1961 } s;
1962 struct cvmx_ipd_wqe_fpa_queue_s cn30xx;
1963 struct cvmx_ipd_wqe_fpa_queue_s cn31xx;
1964 struct cvmx_ipd_wqe_fpa_queue_s cn38xx;
1965 struct cvmx_ipd_wqe_fpa_queue_s cn38xxp2;
1966 struct cvmx_ipd_wqe_fpa_queue_s cn50xx;
1967 struct cvmx_ipd_wqe_fpa_queue_s cn52xx;
1968 struct cvmx_ipd_wqe_fpa_queue_s cn52xxp1;
1969 struct cvmx_ipd_wqe_fpa_queue_s cn56xx;
1970 struct cvmx_ipd_wqe_fpa_queue_s cn56xxp1;
1971 struct cvmx_ipd_wqe_fpa_queue_s cn58xx;
1972 struct cvmx_ipd_wqe_fpa_queue_s cn58xxp1;
1973 struct cvmx_ipd_wqe_fpa_queue_s cn61xx;
1974 struct cvmx_ipd_wqe_fpa_queue_s cn63xx;
1975 struct cvmx_ipd_wqe_fpa_queue_s cn63xxp1;
1976 struct cvmx_ipd_wqe_fpa_queue_s cn66xx;
1977 struct cvmx_ipd_wqe_fpa_queue_s cn68xx;
1978 struct cvmx_ipd_wqe_fpa_queue_s cn68xxp1;
1979 struct cvmx_ipd_wqe_fpa_queue_s cnf71xx;
1980};
1981
1982union cvmx_ipd_wqe_ptr_valid {
1983 uint64_t u64;
1984 struct cvmx_ipd_wqe_ptr_valid_s {
1985#ifdef __BIG_ENDIAN_BITFIELD
1986 uint64_t reserved_29_63:35;
1987 uint64_t ptr:29;
1988#else
1989 uint64_t ptr:29;
1990 uint64_t reserved_29_63:35;
1991#endif
1992 } s;
1993 struct cvmx_ipd_wqe_ptr_valid_s cn30xx;
1994 struct cvmx_ipd_wqe_ptr_valid_s cn31xx;
1995 struct cvmx_ipd_wqe_ptr_valid_s cn38xx;
1996 struct cvmx_ipd_wqe_ptr_valid_s cn50xx;
1997 struct cvmx_ipd_wqe_ptr_valid_s cn52xx;
1998 struct cvmx_ipd_wqe_ptr_valid_s cn52xxp1;
1999 struct cvmx_ipd_wqe_ptr_valid_s cn56xx;
2000 struct cvmx_ipd_wqe_ptr_valid_s cn56xxp1;
2001 struct cvmx_ipd_wqe_ptr_valid_s cn58xx;
2002 struct cvmx_ipd_wqe_ptr_valid_s cn58xxp1;
2003 struct cvmx_ipd_wqe_ptr_valid_s cn61xx;
2004 struct cvmx_ipd_wqe_ptr_valid_s cn63xx;
2005 struct cvmx_ipd_wqe_ptr_valid_s cn63xxp1;
2006 struct cvmx_ipd_wqe_ptr_valid_s cn66xx;
2007 struct cvmx_ipd_wqe_ptr_valid_s cnf71xx;
2008};
2009
2010#endif