Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cvmx-pko-defs.h
Go to the documentation of this file.
1 /***********************license start***************
2  * Author: Cavium Networks
3  *
4  * Contact: [email protected]
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_PKO_DEFS_H__
29 #define __CVMX_PKO_DEFS_H__
30 
31 #define CVMX_PKO_MEM_COUNT0 (CVMX_ADD_IO_SEG(0x0001180050001080ull))
32 #define CVMX_PKO_MEM_COUNT1 (CVMX_ADD_IO_SEG(0x0001180050001088ull))
33 #define CVMX_PKO_MEM_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050001100ull))
34 #define CVMX_PKO_MEM_DEBUG1 (CVMX_ADD_IO_SEG(0x0001180050001108ull))
35 #define CVMX_PKO_MEM_DEBUG10 (CVMX_ADD_IO_SEG(0x0001180050001150ull))
36 #define CVMX_PKO_MEM_DEBUG11 (CVMX_ADD_IO_SEG(0x0001180050001158ull))
37 #define CVMX_PKO_MEM_DEBUG12 (CVMX_ADD_IO_SEG(0x0001180050001160ull))
38 #define CVMX_PKO_MEM_DEBUG13 (CVMX_ADD_IO_SEG(0x0001180050001168ull))
39 #define CVMX_PKO_MEM_DEBUG14 (CVMX_ADD_IO_SEG(0x0001180050001170ull))
40 #define CVMX_PKO_MEM_DEBUG2 (CVMX_ADD_IO_SEG(0x0001180050001110ull))
41 #define CVMX_PKO_MEM_DEBUG3 (CVMX_ADD_IO_SEG(0x0001180050001118ull))
42 #define CVMX_PKO_MEM_DEBUG4 (CVMX_ADD_IO_SEG(0x0001180050001120ull))
43 #define CVMX_PKO_MEM_DEBUG5 (CVMX_ADD_IO_SEG(0x0001180050001128ull))
44 #define CVMX_PKO_MEM_DEBUG6 (CVMX_ADD_IO_SEG(0x0001180050001130ull))
45 #define CVMX_PKO_MEM_DEBUG7 (CVMX_ADD_IO_SEG(0x0001180050001138ull))
46 #define CVMX_PKO_MEM_DEBUG8 (CVMX_ADD_IO_SEG(0x0001180050001140ull))
47 #define CVMX_PKO_MEM_DEBUG9 (CVMX_ADD_IO_SEG(0x0001180050001148ull))
48 #define CVMX_PKO_MEM_IPORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001030ull))
49 #define CVMX_PKO_MEM_IPORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001038ull))
50 #define CVMX_PKO_MEM_IQUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001040ull))
51 #define CVMX_PKO_MEM_IQUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001048ull))
52 #define CVMX_PKO_MEM_PORT_PTRS (CVMX_ADD_IO_SEG(0x0001180050001010ull))
53 #define CVMX_PKO_MEM_PORT_QOS (CVMX_ADD_IO_SEG(0x0001180050001018ull))
54 #define CVMX_PKO_MEM_PORT_RATE0 (CVMX_ADD_IO_SEG(0x0001180050001020ull))
55 #define CVMX_PKO_MEM_PORT_RATE1 (CVMX_ADD_IO_SEG(0x0001180050001028ull))
56 #define CVMX_PKO_MEM_QUEUE_PTRS (CVMX_ADD_IO_SEG(0x0001180050001000ull))
57 #define CVMX_PKO_MEM_QUEUE_QOS (CVMX_ADD_IO_SEG(0x0001180050001008ull))
58 #define CVMX_PKO_MEM_THROTTLE_INT (CVMX_ADD_IO_SEG(0x0001180050001058ull))
59 #define CVMX_PKO_MEM_THROTTLE_PIPE (CVMX_ADD_IO_SEG(0x0001180050001050ull))
60 #define CVMX_PKO_REG_BIST_RESULT (CVMX_ADD_IO_SEG(0x0001180050000080ull))
61 #define CVMX_PKO_REG_CMD_BUF (CVMX_ADD_IO_SEG(0x0001180050000010ull))
62 #define CVMX_PKO_REG_CRC_CTLX(offset) (CVMX_ADD_IO_SEG(0x0001180050000028ull) + ((offset) & 1) * 8)
63 #define CVMX_PKO_REG_CRC_ENABLE (CVMX_ADD_IO_SEG(0x0001180050000020ull))
64 #define CVMX_PKO_REG_CRC_IVX(offset) (CVMX_ADD_IO_SEG(0x0001180050000038ull) + ((offset) & 1) * 8)
65 #define CVMX_PKO_REG_DEBUG0 (CVMX_ADD_IO_SEG(0x0001180050000098ull))
66 #define CVMX_PKO_REG_DEBUG1 (CVMX_ADD_IO_SEG(0x00011800500000A0ull))
67 #define CVMX_PKO_REG_DEBUG2 (CVMX_ADD_IO_SEG(0x00011800500000A8ull))
68 #define CVMX_PKO_REG_DEBUG3 (CVMX_ADD_IO_SEG(0x00011800500000B0ull))
69 #define CVMX_PKO_REG_DEBUG4 (CVMX_ADD_IO_SEG(0x00011800500000B8ull))
70 #define CVMX_PKO_REG_ENGINE_INFLIGHT (CVMX_ADD_IO_SEG(0x0001180050000050ull))
71 #define CVMX_PKO_REG_ENGINE_INFLIGHT1 (CVMX_ADD_IO_SEG(0x0001180050000318ull))
72 #define CVMX_PKO_REG_ENGINE_STORAGEX(offset) (CVMX_ADD_IO_SEG(0x0001180050000300ull) + ((offset) & 1) * 8)
73 #define CVMX_PKO_REG_ENGINE_THRESH (CVMX_ADD_IO_SEG(0x0001180050000058ull))
74 #define CVMX_PKO_REG_ERROR (CVMX_ADD_IO_SEG(0x0001180050000088ull))
75 #define CVMX_PKO_REG_FLAGS (CVMX_ADD_IO_SEG(0x0001180050000000ull))
76 #define CVMX_PKO_REG_GMX_PORT_MODE (CVMX_ADD_IO_SEG(0x0001180050000018ull))
77 #define CVMX_PKO_REG_INT_MASK (CVMX_ADD_IO_SEG(0x0001180050000090ull))
78 #define CVMX_PKO_REG_LOOPBACK_BPID (CVMX_ADD_IO_SEG(0x0001180050000118ull))
79 #define CVMX_PKO_REG_LOOPBACK_PKIND (CVMX_ADD_IO_SEG(0x0001180050000068ull))
80 #define CVMX_PKO_REG_MIN_PKT (CVMX_ADD_IO_SEG(0x0001180050000070ull))
81 #define CVMX_PKO_REG_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000110ull))
82 #define CVMX_PKO_REG_QUEUE_MODE (CVMX_ADD_IO_SEG(0x0001180050000048ull))
83 #define CVMX_PKO_REG_QUEUE_PREEMPT (CVMX_ADD_IO_SEG(0x0001180050000108ull))
84 #define CVMX_PKO_REG_QUEUE_PTRS1 (CVMX_ADD_IO_SEG(0x0001180050000100ull))
85 #define CVMX_PKO_REG_READ_IDX (CVMX_ADD_IO_SEG(0x0001180050000008ull))
86 #define CVMX_PKO_REG_THROTTLE (CVMX_ADD_IO_SEG(0x0001180050000078ull))
87 #define CVMX_PKO_REG_TIMESTAMP (CVMX_ADD_IO_SEG(0x0001180050000060ull))
88 
92 #ifdef __BIG_ENDIAN_BITFIELD
94  uint64_t count:32;
95 #else
98 #endif
99  } s;
118 };
119 
123 #ifdef __BIG_ENDIAN_BITFIELD
125  uint64_t count:48;
126 #else
129 #endif
130  } s;
149 };
150 
154 #ifdef __BIG_ENDIAN_BITFIELD
155  uint64_t fau:28;
156  uint64_t cmd:14;
157  uint64_t segs:6;
158  uint64_t size:16;
159 #else
164 #endif
165  } s;
184 };
185 
189 #ifdef __BIG_ENDIAN_BITFIELD
190  uint64_t i:1;
191  uint64_t back:4;
192  uint64_t pool:3;
193  uint64_t size:16;
194  uint64_t ptr:40;
195 #else
201 #endif
202  } s;
221 };
222 
226 #ifdef __BIG_ENDIAN_BITFIELD
228 #else
230 #endif
231  } s;
233 #ifdef __BIG_ENDIAN_BITFIELD
234  uint64_t fau:28;
235  uint64_t cmd:14;
236  uint64_t segs:6;
237  uint64_t size:16;
238 #else
243 #endif
244  } cn30xx;
249 #ifdef __BIG_ENDIAN_BITFIELD
251  uint64_t ptrs1:17;
253  uint64_t ptrs2:17;
254 #else
259 #endif
260  } cn50xx;
274 };
275 
279 #ifdef __BIG_ENDIAN_BITFIELD
280  uint64_t i:1;
281  uint64_t back:4;
282  uint64_t pool:3;
283  uint64_t size:16;
285 #else
291 #endif
292  } s;
294 #ifdef __BIG_ENDIAN_BITFIELD
295  uint64_t i:1;
296  uint64_t back:4;
297  uint64_t pool:3;
298  uint64_t size:16;
299  uint64_t ptr:40;
300 #else
306 #endif
307  } cn30xx;
312 #ifdef __BIG_ENDIAN_BITFIELD
314  uint64_t maj:1;
315  uint64_t uid:3;
316  uint64_t sop:1;
317  uint64_t len:1;
318  uint64_t chk:1;
319  uint64_t cnt:13;
320  uint64_t mod:3;
321 #else
330 #endif
331  } cn50xx;
345 };
346 
350 #ifdef __BIG_ENDIAN_BITFIELD
352 #else
354 #endif
355  } s;
357 #ifdef __BIG_ENDIAN_BITFIELD
358  uint64_t data:64;
359 #else
361 #endif
362  } cn30xx;
367 #ifdef __BIG_ENDIAN_BITFIELD
368  uint64_t fau:28;
369  uint64_t cmd:14;
370  uint64_t segs:6;
371  uint64_t size:16;
372 #else
377 #endif
378  } cn50xx;
390 #ifdef __BIG_ENDIAN_BITFIELD
391  uint64_t state:64;
392 #else
394 #endif
395  } cn68xx;
398 };
399 
403 #ifdef __BIG_ENDIAN_BITFIELD
405 #else
407 #endif
408  } s;
410 #ifdef __BIG_ENDIAN_BITFIELD
412  uint64_t widx:17;
413  uint64_t ridx2:17;
414  uint64_t widx2:17;
415 #else
420 #endif
421  } cn30xx;
426 #ifdef __BIG_ENDIAN_BITFIELD
427  uint64_t i:1;
428  uint64_t back:4;
429  uint64_t pool:3;
430  uint64_t size:16;
431  uint64_t ptr:40;
432 #else
438 #endif
439  } cn50xx;
451 #ifdef __BIG_ENDIAN_BITFIELD
452  uint64_t state:64;
453 #else
455 #endif
456  } cn68xx;
459 };
460 
464 #ifdef __BIG_ENDIAN_BITFIELD
466 #else
468 #endif
469  } s;
471 #ifdef __BIG_ENDIAN_BITFIELD
473  uint64_t ridx:17;
474 #else
477 #endif
478  } cn30xx;
483 #ifdef __BIG_ENDIAN_BITFIELD
484  uint64_t data:64;
485 #else
487 #endif
488  } cn52xx;
497 };
498 
502 #ifdef __BIG_ENDIAN_BITFIELD
503  uint64_t i:1;
504  uint64_t back:4;
505  uint64_t pool:3;
506  uint64_t size:16;
507  uint64_t ptr:40;
508 #else
514 #endif
515  } s;
534 };
535 
539 #ifdef __BIG_ENDIAN_BITFIELD
541 #else
543 #endif
544  } s;
546 #ifdef __BIG_ENDIAN_BITFIELD
547  uint64_t i:1;
548  uint64_t back:4;
549  uint64_t pool:3;
550  uint64_t size:16;
551  uint64_t ptr:40;
552 #else
558 #endif
559  } cn30xx;
564 #ifdef __BIG_ENDIAN_BITFIELD
565  uint64_t data:64;
566 #else
568 #endif
569  } cn50xx;
583 };
584 
588 #ifdef __BIG_ENDIAN_BITFIELD
590 #else
592 #endif
593  } s;
595 #ifdef __BIG_ENDIAN_BITFIELD
596  uint64_t data:64;
597 #else
599 #endif
600  } cn30xx;
605 #ifdef __BIG_ENDIAN_BITFIELD
607  uint64_t cmnd_siz:16;
608  uint64_t cmnd_off:6;
609  uint64_t uid:3;
612  uint64_t chk_once:1;
613  uint64_t chk_mode:1;
614  uint64_t active:1;
615  uint64_t static_p:1;
616  uint64_t qos:3;
617  uint64_t qcb_ridx:5;
619  uint64_t qid_off:4;
620  uint64_t qid_base:8;
621  uint64_t wait:1;
622  uint64_t minor:2;
623  uint64_t major:3;
624 #else
643 #endif
644  } cn50xx;
646 #ifdef __BIG_ENDIAN_BITFIELD
647  uint64_t curr_siz:8;
648  uint64_t curr_off:16;
650  uint64_t cmnd_siz:16;
651  uint64_t cmnd_off:6;
652  uint64_t uid:2;
655  uint64_t chk_once:1;
656  uint64_t chk_mode:1;
657  uint64_t wait:1;
658  uint64_t minor:2;
659  uint64_t major:3;
660 #else
674 #endif
675  } cn52xx;
688 };
689 
693 #ifdef __BIG_ENDIAN_BITFIELD
695 #else
697 #endif
698  } s;
700 #ifdef __BIG_ENDIAN_BITFIELD
701  uint64_t dwri_mod:1;
702  uint64_t dwri_sop:1;
703  uint64_t dwri_len:1;
704  uint64_t dwri_cnt:13;
705  uint64_t cmnd_siz:16;
706  uint64_t uid:1;
707  uint64_t xfer_wor:1;
708  uint64_t xfer_dwr:1;
709  uint64_t cbuf_fre:1;
711  uint64_t chk_mode:1;
712  uint64_t active:1;
713  uint64_t qos:3;
714  uint64_t qcb_ridx:5;
715  uint64_t qid_off:3;
716  uint64_t qid_base:7;
717  uint64_t wait:1;
718  uint64_t minor:2;
719  uint64_t major:4;
720 #else
740 #endif
741  } cn30xx;
746 #ifdef __BIG_ENDIAN_BITFIELD
747  uint64_t curr_ptr:29;
748  uint64_t curr_siz:16;
749  uint64_t curr_off:16;
751 #else
756 #endif
757  } cn50xx;
759 #ifdef __BIG_ENDIAN_BITFIELD
762  uint64_t curr_ptr:40;
763  uint64_t curr_siz:8;
764 #else
769 #endif
770  } cn52xx;
777 #ifdef __BIG_ENDIAN_BITFIELD
779  uint64_t ptp:1;
780  uint64_t major_3:1;
782  uint64_t curr_ptr:40;
783  uint64_t curr_siz:8;
784 #else
791 #endif
792  } cn61xx;
797 #ifdef __BIG_ENDIAN_BITFIELD
799  uint64_t uid_2:1;
800  uint64_t ptp:1;
801  uint64_t major_3:1;
803  uint64_t curr_ptr:40;
804  uint64_t curr_siz:8;
805 #else
813 #endif
814  } cn68xx;
817 };
818 
822 #ifdef __BIG_ENDIAN_BITFIELD
829  uint64_t active:1;
830  uint64_t statc:1;
831  uint64_t qos:3;
832  uint64_t qcb_ridx:5;
835 #else
848 #endif
849  } s;
851 #ifdef __BIG_ENDIAN_BITFIELD
853  uint64_t qid_offm:3;
854  uint64_t static_p:1;
855  uint64_t work_min:3;
856  uint64_t dwri_chk:1;
857  uint64_t dwri_uid:1;
858  uint64_t dwri_mod:2;
859 #else
867 #endif
868  } cn30xx;
873 #ifdef __BIG_ENDIAN_BITFIELD
875  uint64_t curr_ptr:11;
876 #else
879 #endif
880  } cn50xx;
882 #ifdef __BIG_ENDIAN_BITFIELD
889  uint64_t active:1;
890  uint64_t statc:1;
891  uint64_t qos:3;
892  uint64_t qcb_ridx:5;
894  uint64_t qid_off:4;
895  uint64_t qid_base:8;
896 #else
910 #endif
911  } cn52xx;
924 };
925 
929 #ifdef __BIG_ENDIAN_BITFIELD
931 #else
933 #endif
934  } s;
936 #ifdef __BIG_ENDIAN_BITFIELD
938  uint64_t dwb:9;
939  uint64_t start:33;
940  uint64_t size:16;
941 #else
946 #endif
947  } cn30xx;
952 #ifdef __BIG_ENDIAN_BITFIELD
953  uint64_t qos:5;
954  uint64_t tail:1;
955  uint64_t buf_siz:13;
956  uint64_t buf_ptr:33;
957  uint64_t qcb_widx:6;
958  uint64_t qcb_ridx:6;
959 #else
966 #endif
967  } cn50xx;
979 #ifdef __BIG_ENDIAN_BITFIELD
980  uint64_t qos:3;
981  uint64_t tail:1;
982  uint64_t buf_siz:13;
983  uint64_t buf_ptr:33;
984  uint64_t qcb_widx:7;
985  uint64_t qcb_ridx:7;
986 #else
993 #endif
994  } cn68xx;
997 };
998 
1002 #ifdef __BIG_ENDIAN_BITFIELD
1004  uint64_t tail:1;
1005  uint64_t buf_siz:13;
1007 #else
1012 #endif
1013  } s;
1015 #ifdef __BIG_ENDIAN_BITFIELD
1016  uint64_t qos:5;
1017  uint64_t tail:1;
1018  uint64_t buf_siz:13;
1019  uint64_t buf_ptr:33;
1020  uint64_t qcb_widx:6;
1021  uint64_t qcb_ridx:6;
1022 #else
1029 #endif
1030  } cn30xx;
1035 #ifdef __BIG_ENDIAN_BITFIELD
1037  uint64_t doorbell:20;
1039  uint64_t static_p:1;
1040  uint64_t s_tail:1;
1041  uint64_t static_q:1;
1042  uint64_t qos:3;
1043 #else
1051 #endif
1052  } cn50xx;
1054 #ifdef __BIG_ENDIAN_BITFIELD
1056  uint64_t preempter:1;
1057  uint64_t doorbell:20;
1059  uint64_t preemptee:1;
1060  uint64_t static_p:1;
1061  uint64_t s_tail:1;
1062  uint64_t static_q:1;
1063  uint64_t qos:3;
1064 #else
1074 #endif
1075  } cn52xx;
1082 #ifdef __BIG_ENDIAN_BITFIELD
1084  uint64_t qid_qqos:8;
1086  uint64_t qid_idx:4;
1087  uint64_t preempter:1;
1088  uint64_t doorbell:20;
1090  uint64_t preemptee:1;
1091  uint64_t static_p:1;
1092  uint64_t s_tail:1;
1093  uint64_t static_q:1;
1094  uint64_t qos:3;
1095 #else
1108 #endif
1109  } cn61xx;
1114 #ifdef __BIG_ENDIAN_BITFIELD
1116  uint64_t preempter:1;
1117  uint64_t doorbell:20;
1119  uint64_t preemptee:1;
1120  uint64_t static_p:1;
1121  uint64_t s_tail:1;
1122  uint64_t static_q:1;
1123  uint64_t qos:5;
1124 #else
1134 #endif
1135  } cn68xx;
1138 };
1139 
1143 #ifdef __BIG_ENDIAN_BITFIELD
1145  uint64_t ptrs0:17;
1147 #else
1151 #endif
1152  } s;
1154 #ifdef __BIG_ENDIAN_BITFIELD
1156  uint64_t doorbell:20;
1158  uint64_t s_tail:1;
1159  uint64_t static_q:1;
1160  uint64_t qos:3;
1161 #else
1168 #endif
1169  } cn30xx;
1172 #ifdef __BIG_ENDIAN_BITFIELD
1174  uint64_t doorbell:20;
1176  uint64_t static_p:1;
1177  uint64_t s_tail:1;
1178  uint64_t static_q:1;
1179  uint64_t qos:3;
1180 #else
1188 #endif
1189  } cn38xx;
1192 #ifdef __BIG_ENDIAN_BITFIELD
1194  uint64_t ptrs0:17;
1196  uint64_t ptrs3:17;
1197 #else
1202 #endif
1203  } cn50xx;
1217 };
1218 
1222 #ifdef __BIG_ENDIAN_BITFIELD
1224  uint64_t crc:1;
1225  uint64_t static_p:1;
1226  uint64_t qos_mask:8;
1227  uint64_t min_pkt:3;
1229  uint64_t pipe:7;
1231  uint64_t intr:5;
1233  uint64_t eid:5;
1235  uint64_t ipid:7;
1236 #else
1250 #endif
1251  } s;
1254 };
1255 
1259 #ifdef __BIG_ENDIAN_BITFIELD
1261  uint64_t qos_mask:8;
1263  uint64_t eid:5;
1265  uint64_t ipid:7;
1266 #else
1273 #endif
1274  } s;
1277 };
1278 
1282 #ifdef __BIG_ENDIAN_BITFIELD
1283  uint64_t s_tail:1;
1284  uint64_t static_p:1;
1285  uint64_t static_q:1;
1286  uint64_t qos_mask:8;
1287  uint64_t buf_ptr:31;
1288  uint64_t tail:1;
1289  uint64_t index:5;
1291  uint64_t ipid:7;
1292  uint64_t qid:8;
1293 #else
1304 #endif
1305  } s;
1308 };
1309 
1313 #ifdef __BIG_ENDIAN_BITFIELD
1315  uint64_t qos_mask:8;
1317  uint64_t ipid:7;
1318  uint64_t qid:8;
1319 #else
1325 #endif
1326  } s;
1329 };
1330 
1334 #ifdef __BIG_ENDIAN_BITFIELD
1336  uint64_t static_p:1;
1337  uint64_t qos_mask:8;
1339  uint64_t bp_port:6;
1340  uint64_t eid:4;
1341  uint64_t pid:6;
1342 #else
1350 #endif
1351  } s;
1361 };
1362 
1366 #ifdef __BIG_ENDIAN_BITFIELD
1368  uint64_t qos_mask:8;
1370  uint64_t eid:4;
1371  uint64_t pid:6;
1372 #else
1378 #endif
1379  } s;
1389 };
1390 
1394 #ifdef __BIG_ENDIAN_BITFIELD
1396  uint64_t rate_word:19;
1397  uint64_t rate_pkt:24;
1399  uint64_t pid:7;
1400 #else
1406 #endif
1407  } s;
1409 #ifdef __BIG_ENDIAN_BITFIELD
1411  uint64_t rate_word:19;
1412  uint64_t rate_pkt:24;
1414  uint64_t pid:6;
1415 #else
1421 #endif
1422  } cn52xx;
1433 };
1434 
1438 #ifdef __BIG_ENDIAN_BITFIELD
1440  uint64_t rate_lim:24;
1442  uint64_t pid:7;
1443 #else
1448 #endif
1449  } s;
1451 #ifdef __BIG_ENDIAN_BITFIELD
1453  uint64_t rate_lim:24;
1455  uint64_t pid:6;
1456 #else
1461 #endif
1462  } cn52xx;
1473 };
1474 
1478 #ifdef __BIG_ENDIAN_BITFIELD
1479  uint64_t s_tail:1;
1480  uint64_t static_p:1;
1481  uint64_t static_q:1;
1482  uint64_t qos_mask:8;
1483  uint64_t buf_ptr:36;
1484  uint64_t tail:1;
1485  uint64_t index:3;
1486  uint64_t port:6;
1487  uint64_t queue:7;
1488 #else
1498 #endif
1499  } s;
1516 };
1517 
1521 #ifdef __BIG_ENDIAN_BITFIELD
1523  uint64_t qos_mask:8;
1525  uint64_t pid:6;
1526  uint64_t qid:7;
1527 #else
1533 #endif
1534  } s;
1551 };
1552 
1556 #ifdef __BIG_ENDIAN_BITFIELD
1558  uint64_t word:15;
1560  uint64_t packet:6;
1562  uint64_t intr:5;
1563 #else
1570 #endif
1571  } s;
1574 };
1575 
1579 #ifdef __BIG_ENDIAN_BITFIELD
1581  uint64_t word:15;
1583  uint64_t packet:6;
1585  uint64_t pipe:7;
1586 #else
1593 #endif
1594  } s;
1597 };
1598 
1602 #ifdef __BIG_ENDIAN_BITFIELD
1604 #else
1606 #endif
1607  } s;
1609 #ifdef __BIG_ENDIAN_BITFIELD
1611  uint64_t psb2:5;
1612  uint64_t count:1;
1613  uint64_t rif:1;
1614  uint64_t wif:1;
1615  uint64_t ncb:1;
1616  uint64_t out:1;
1617  uint64_t crc:1;
1618  uint64_t chk:1;
1619  uint64_t qsb:2;
1620  uint64_t qcb:2;
1621  uint64_t pdb:4;
1622  uint64_t psb:7;
1623 #else
1637 #endif
1638  } cn30xx;
1643 #ifdef __BIG_ENDIAN_BITFIELD
1645  uint64_t csr:1;
1646  uint64_t iob:1;
1647  uint64_t out_crc:1;
1648  uint64_t out_ctl:3;
1649  uint64_t out_sta:1;
1650  uint64_t out_wif:1;
1651  uint64_t prt_chk:3;
1652  uint64_t prt_nxt:1;
1653  uint64_t prt_psb:6;
1654  uint64_t ncb_inb:2;
1655  uint64_t prt_qcb:2;
1656  uint64_t prt_qsb:3;
1657  uint64_t dat_dat:4;
1658  uint64_t dat_ptr:4;
1659 #else
1675 #endif
1676  } cn50xx;
1678 #ifdef __BIG_ENDIAN_BITFIELD
1680  uint64_t csr:1;
1681  uint64_t iob:1;
1682  uint64_t out_dat:1;
1683  uint64_t out_ctl:3;
1684  uint64_t out_sta:1;
1685  uint64_t out_wif:1;
1686  uint64_t prt_chk:3;
1687  uint64_t prt_nxt:1;
1688  uint64_t prt_psb:8;
1689  uint64_t ncb_inb:2;
1690  uint64_t prt_qcb:2;
1691  uint64_t prt_qsb:3;
1692  uint64_t prt_ctl:2;
1693  uint64_t dat_dat:2;
1694  uint64_t dat_ptr:4;
1695 #else
1712 #endif
1713  } cn52xx;
1724 #ifdef __BIG_ENDIAN_BITFIELD
1726  uint64_t crc:1;
1727  uint64_t csr:1;
1728  uint64_t iob:1;
1729  uint64_t out_dat:1;
1731  uint64_t out_ctl:2;
1732  uint64_t out_sta:1;
1733  uint64_t out_wif:1;
1734  uint64_t prt_chk:3;
1735  uint64_t prt_nxt:1;
1736  uint64_t prt_psb7:1;
1738  uint64_t prt_psb:6;
1739  uint64_t ncb_inb:2;
1740  uint64_t prt_qcb:2;
1741  uint64_t prt_qsb:3;
1742  uint64_t prt_ctl:2;
1743  uint64_t dat_dat:2;
1744  uint64_t dat_ptr:4;
1745 #else
1766 #endif
1767  } cn68xx;
1769 #ifdef __BIG_ENDIAN_BITFIELD
1771  uint64_t csr:1;
1772  uint64_t iob:1;
1773  uint64_t out_dat:1;
1775  uint64_t out_ctl:2;
1776  uint64_t out_sta:1;
1777  uint64_t out_wif:1;
1778  uint64_t prt_chk:3;
1779  uint64_t prt_nxt:1;
1780  uint64_t prt_psb7:1;
1782  uint64_t prt_psb:6;
1783  uint64_t ncb_inb:2;
1784  uint64_t prt_qcb:2;
1785  uint64_t prt_qsb:3;
1786  uint64_t prt_ctl:2;
1787  uint64_t dat_dat:2;
1788  uint64_t dat_ptr:4;
1789 #else
1809 #endif
1810  } cn68xxp1;
1812 };
1813 
1817 #ifdef __BIG_ENDIAN_BITFIELD
1819  uint64_t pool:3;
1821  uint64_t size:13;
1822 #else
1827 #endif
1828  } s;
1847 };
1848 
1852 #ifdef __BIG_ENDIAN_BITFIELD
1854  uint64_t invres:1;
1855  uint64_t refin:1;
1856 #else
1860 #endif
1861  } s;
1866 };
1867 
1871 #ifdef __BIG_ENDIAN_BITFIELD
1873  uint64_t enable:32;
1874 #else
1877 #endif
1878  } s;
1883 };
1884 
1888 #ifdef __BIG_ENDIAN_BITFIELD
1890  uint64_t iv:32;
1891 #else
1894 #endif
1895  } s;
1900 };
1901 
1905 #ifdef __BIG_ENDIAN_BITFIELD
1906  uint64_t asserts:64;
1907 #else
1909 #endif
1910  } s;
1912 #ifdef __BIG_ENDIAN_BITFIELD
1914  uint64_t asserts:17;
1915 #else
1918 #endif
1919  } cn30xx;
1937 };
1938 
1942 #ifdef __BIG_ENDIAN_BITFIELD
1943  uint64_t asserts:64;
1944 #else
1946 #endif
1947  } s;
1962 };
1963 
1967 #ifdef __BIG_ENDIAN_BITFIELD
1968  uint64_t asserts:64;
1969 #else
1971 #endif
1972  } s;
1987 };
1988 
1992 #ifdef __BIG_ENDIAN_BITFIELD
1993  uint64_t asserts:64;
1994 #else
1996 #endif
1997  } s;
2012 };
2013 
2017 #ifdef __BIG_ENDIAN_BITFIELD
2018  uint64_t asserts:64;
2019 #else
2021 #endif
2022  } s;
2025 };
2026 
2030 #ifdef __BIG_ENDIAN_BITFIELD
2031  uint64_t engine15:4;
2032  uint64_t engine14:4;
2033  uint64_t engine13:4;
2034  uint64_t engine12:4;
2035  uint64_t engine11:4;
2036  uint64_t engine10:4;
2037  uint64_t engine9:4;
2038  uint64_t engine8:4;
2039  uint64_t engine7:4;
2040  uint64_t engine6:4;
2041  uint64_t engine5:4;
2042  uint64_t engine4:4;
2043  uint64_t engine3:4;
2044  uint64_t engine2:4;
2045  uint64_t engine1:4;
2046  uint64_t engine0:4;
2047 #else
2064 #endif
2065  } s;
2067 #ifdef __BIG_ENDIAN_BITFIELD
2069  uint64_t engine9:4;
2070  uint64_t engine8:4;
2071  uint64_t engine7:4;
2072  uint64_t engine6:4;
2073  uint64_t engine5:4;
2074  uint64_t engine4:4;
2075  uint64_t engine3:4;
2076  uint64_t engine2:4;
2077  uint64_t engine1:4;
2078  uint64_t engine0:4;
2079 #else
2091 #endif
2092  } cn52xx;
2097 #ifdef __BIG_ENDIAN_BITFIELD
2099  uint64_t engine13:4;
2100  uint64_t engine12:4;
2101  uint64_t engine11:4;
2102  uint64_t engine10:4;
2103  uint64_t engine9:4;
2104  uint64_t engine8:4;
2105  uint64_t engine7:4;
2106  uint64_t engine6:4;
2107  uint64_t engine5:4;
2108  uint64_t engine4:4;
2109  uint64_t engine3:4;
2110  uint64_t engine2:4;
2111  uint64_t engine1:4;
2112  uint64_t engine0:4;
2113 #else
2129 #endif
2130  } cn61xx;
2132 #ifdef __BIG_ENDIAN_BITFIELD
2134  uint64_t engine11:4;
2135  uint64_t engine10:4;
2136  uint64_t engine9:4;
2137  uint64_t engine8:4;
2138  uint64_t engine7:4;
2139  uint64_t engine6:4;
2140  uint64_t engine5:4;
2141  uint64_t engine4:4;
2142  uint64_t engine3:4;
2143  uint64_t engine2:4;
2144  uint64_t engine1:4;
2145  uint64_t engine0:4;
2146 #else
2160 #endif
2161  } cn63xx;
2167 };
2168 
2172 #ifdef __BIG_ENDIAN_BITFIELD
2174  uint64_t engine19:4;
2175  uint64_t engine18:4;
2176  uint64_t engine17:4;
2177  uint64_t engine16:4;
2178 #else
2184 #endif
2185  } s;
2188 };
2189 
2193 #ifdef __BIG_ENDIAN_BITFIELD
2194  uint64_t engine15:4;
2195  uint64_t engine14:4;
2196  uint64_t engine13:4;
2197  uint64_t engine12:4;
2198  uint64_t engine11:4;
2199  uint64_t engine10:4;
2200  uint64_t engine9:4;
2201  uint64_t engine8:4;
2202  uint64_t engine7:4;
2203  uint64_t engine6:4;
2204  uint64_t engine5:4;
2205  uint64_t engine4:4;
2206  uint64_t engine3:4;
2207  uint64_t engine2:4;
2208  uint64_t engine1:4;
2209  uint64_t engine0:4;
2210 #else
2227 #endif
2228  } s;
2231 };
2232 
2236 #ifdef __BIG_ENDIAN_BITFIELD
2238  uint64_t mask:20;
2239 #else
2242 #endif
2243  } s;
2245 #ifdef __BIG_ENDIAN_BITFIELD
2247  uint64_t mask:10;
2248 #else
2251 #endif
2252  } cn52xx;
2257 #ifdef __BIG_ENDIAN_BITFIELD
2259  uint64_t mask:14;
2260 #else
2263 #endif
2264  } cn61xx;
2266 #ifdef __BIG_ENDIAN_BITFIELD
2268  uint64_t mask:12;
2269 #else
2272 #endif
2273  } cn63xx;
2279 };
2280 
2284 #ifdef __BIG_ENDIAN_BITFIELD
2286  uint64_t loopback:1;
2287  uint64_t currzero:1;
2288  uint64_t doorbell:1;
2289  uint64_t parity:1;
2290 #else
2296 #endif
2297  } s;
2299 #ifdef __BIG_ENDIAN_BITFIELD
2301  uint64_t doorbell:1;
2302  uint64_t parity:1;
2303 #else
2307 #endif
2308  } cn30xx;
2313 #ifdef __BIG_ENDIAN_BITFIELD
2315  uint64_t currzero:1;
2316  uint64_t doorbell:1;
2317  uint64_t parity:1;
2318 #else
2323 #endif
2324  } cn50xx;
2338 };
2339 
2343 #ifdef __BIG_ENDIAN_BITFIELD
2345  uint64_t dis_perf3:1;
2346  uint64_t dis_perf2:1;
2347  uint64_t dis_perf1:1;
2348  uint64_t dis_perf0:1;
2350  uint64_t reset:1;
2351  uint64_t store_be:1;
2352  uint64_t ena_dwb:1;
2353  uint64_t ena_pko:1;
2354 #else
2365 #endif
2366  } s;
2368 #ifdef __BIG_ENDIAN_BITFIELD
2370  uint64_t reset:1;
2371  uint64_t store_be:1;
2372  uint64_t ena_dwb:1;
2373  uint64_t ena_pko:1;
2374 #else
2380 #endif
2381  } cn30xx;
2393 #ifdef __BIG_ENDIAN_BITFIELD
2395  uint64_t dis_perf3:1;
2396  uint64_t dis_perf2:1;
2398  uint64_t reset:1;
2399  uint64_t store_be:1;
2400  uint64_t ena_dwb:1;
2401  uint64_t ena_pko:1;
2402 #else
2411 #endif
2412  } cn61xx;
2418 #ifdef __BIG_ENDIAN_BITFIELD
2420  uint64_t dis_perf1:1;
2421  uint64_t dis_perf0:1;
2423  uint64_t reset:1;
2424  uint64_t store_be:1;
2425  uint64_t ena_dwb:1;
2426  uint64_t ena_pko:1;
2427 #else
2436 #endif
2437  } cn68xxp1;
2439 };
2440 
2444 #ifdef __BIG_ENDIAN_BITFIELD
2446  uint64_t mode1:3;
2447  uint64_t mode0:3;
2448 #else
2452 #endif
2453  } s;
2470 };
2471 
2475 #ifdef __BIG_ENDIAN_BITFIELD
2477  uint64_t loopback:1;
2478  uint64_t currzero:1;
2479  uint64_t doorbell:1;
2480  uint64_t parity:1;
2481 #else
2487 #endif
2488  } s;
2490 #ifdef __BIG_ENDIAN_BITFIELD
2492  uint64_t doorbell:1;
2493  uint64_t parity:1;
2494 #else
2498 #endif
2499  } cn30xx;
2504 #ifdef __BIG_ENDIAN_BITFIELD
2506  uint64_t currzero:1;
2507  uint64_t doorbell:1;
2508  uint64_t parity:1;
2509 #else
2514 #endif
2515  } cn50xx;
2529 };
2530 
2534 #ifdef __BIG_ENDIAN_BITFIELD
2536  uint64_t bpid7:6;
2538  uint64_t bpid6:6;
2540  uint64_t bpid5:6;
2542  uint64_t bpid4:6;
2544  uint64_t bpid3:6;
2546  uint64_t bpid2:6;
2548  uint64_t bpid1:6;
2550  uint64_t bpid0:6;
2552 #else
2570 #endif
2571  } s;
2574 };
2575 
2579 #ifdef __BIG_ENDIAN_BITFIELD
2581  uint64_t pkind7:6;
2583  uint64_t pkind6:6;
2585  uint64_t pkind5:6;
2587  uint64_t pkind4:6;
2589  uint64_t pkind3:6;
2591  uint64_t pkind2:6;
2593  uint64_t pkind1:6;
2595  uint64_t pkind0:6;
2596  uint64_t num_ports:4;
2597 #else
2615 #endif
2616  } s;
2619 };
2620 
2624 #ifdef __BIG_ENDIAN_BITFIELD
2625  uint64_t size7:8;
2626  uint64_t size6:8;
2627  uint64_t size5:8;
2628  uint64_t size4:8;
2629  uint64_t size3:8;
2630  uint64_t size2:8;
2631  uint64_t size1:8;
2632  uint64_t size0:8;
2633 #else
2642 #endif
2643  } s;
2646 };
2647 
2651 #ifdef __BIG_ENDIAN_BITFIELD
2653  uint64_t min_size:16;
2654 #else
2657 #endif
2658  } s;
2670 };
2671 
2675 #ifdef __BIG_ENDIAN_BITFIELD
2677  uint64_t mode:2;
2678 #else
2681 #endif
2682  } s;
2701 };
2702 
2706 #ifdef __BIG_ENDIAN_BITFIELD
2708  uint64_t preemptee:1;
2709  uint64_t preempter:1;
2710 #else
2714 #endif
2715  } s;
2727 };
2728 
2732 #ifdef __BIG_ENDIAN_BITFIELD
2734  uint64_t idx3:1;
2735  uint64_t qid7:1;
2736 #else
2740 #endif
2741  } s;
2754 };
2755 
2759 #ifdef __BIG_ENDIAN_BITFIELD
2761  uint64_t inc:8;
2762  uint64_t index:8;
2763 #else
2767 #endif
2768  } s;
2787 };
2788 
2792 #ifdef __BIG_ENDIAN_BITFIELD
2794  uint64_t int_mask:32;
2795 #else
2798 #endif
2799  } s;
2802 };
2803 
2807 #ifdef __BIG_ENDIAN_BITFIELD
2809  uint64_t wqe_word:4;
2810 #else
2813 #endif
2814  } s;
2822 };
2823 
2824 #endif