0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #ifndef __CVMX_IPD_DEFS_H__
0029 #define __CVMX_IPD_DEFS_H__
0030
0031 #define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull))
0032 #define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull))
0033 #define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull))
0034 #define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull))
0035 #define CVMX_IPD_BPIDX_MBUF_TH(offset) (CVMX_ADD_IO_SEG(0x00014F0000002000ull) + ((offset) & 63) * 8)
0036 #define CVMX_IPD_BPID_BP_COUNTERX(offset) (CVMX_ADD_IO_SEG(0x00014F0000003000ull) + ((offset) & 63) * 8)
0037 #define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull))
0038 #define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull))
0039 #define CVMX_IPD_CREDITS (CVMX_ADD_IO_SEG(0x00014F0000004410ull))
0040 #define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull))
0041 #define CVMX_IPD_ECC_CTL (CVMX_ADD_IO_SEG(0x00014F0000004408ull))
0042 #define CVMX_IPD_FREE_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000780ull))
0043 #define CVMX_IPD_FREE_PTR_VALUE (CVMX_ADD_IO_SEG(0x00014F0000000788ull))
0044 #define CVMX_IPD_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000790ull))
0045 #define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull))
0046 #define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull))
0047 #define CVMX_IPD_NEXT_PKT_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A0ull))
0048 #define CVMX_IPD_NEXT_WQE_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A8ull))
0049 #define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull))
0050 #define CVMX_IPD_ON_BP_DROP_PKTX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004100ull))
0051 #define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull))
0052 #define CVMX_IPD_PKT_ERR (CVMX_ADD_IO_SEG(0x00014F00000003F0ull))
0053 #define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull))
0054 #define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8)
0055 #define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36)
0056 #define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40)
0057 #define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36)
0058 #define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40)
0059 #define CVMX_IPD_PORT_BP_COUNTERS4_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000410ull) + ((offset) & 63) * 8 - 8*44)
0060 #define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8)
0061 #define CVMX_IPD_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000798ull))
0062 #define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8)
0063 #define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8)
0064 #define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8)
0065 #define CVMX_IPD_PORT_SOPX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004400ull))
0066 #define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull))
0067 #define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull))
0068 #define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull))
0069 #define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull))
0070 #define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0)
0071 #define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1)
0072 #define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2)
0073 #define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3)
0074 #define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4)
0075 #define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5)
0076 #define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6)
0077 #define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7)
0078 #define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8)
0079 #define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull))
0080 #define CVMX_IPD_RED_BPID_ENABLEX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004200ull))
0081 #define CVMX_IPD_RED_DELAY (CVMX_ADD_IO_SEG(0x00014F0000004300ull))
0082 #define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull))
0083 #define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull))
0084 #define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0)
0085 #define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1)
0086 #define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2)
0087 #define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3)
0088 #define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4)
0089 #define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5)
0090 #define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6)
0091 #define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7)
0092 #define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8)
0093 #define CVMX_IPD_REQ_WGT (CVMX_ADD_IO_SEG(0x00014F0000004418ull))
0094 #define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull))
0095 #define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull))
0096 #define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull))
0097 #define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull))
0098 #define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull))
0099
0100 union cvmx_ipd_1st_mbuff_skip {
0101 uint64_t u64;
0102 struct cvmx_ipd_1st_mbuff_skip_s {
0103 #ifdef __BIG_ENDIAN_BITFIELD
0104 uint64_t reserved_6_63:58;
0105 uint64_t skip_sz:6;
0106 #else
0107 uint64_t skip_sz:6;
0108 uint64_t reserved_6_63:58;
0109 #endif
0110 } s;
0111 };
0112
0113 union cvmx_ipd_1st_next_ptr_back {
0114 uint64_t u64;
0115 struct cvmx_ipd_1st_next_ptr_back_s {
0116 #ifdef __BIG_ENDIAN_BITFIELD
0117 uint64_t reserved_4_63:60;
0118 uint64_t back:4;
0119 #else
0120 uint64_t back:4;
0121 uint64_t reserved_4_63:60;
0122 #endif
0123 } s;
0124 };
0125
0126 union cvmx_ipd_2nd_next_ptr_back {
0127 uint64_t u64;
0128 struct cvmx_ipd_2nd_next_ptr_back_s {
0129 #ifdef __BIG_ENDIAN_BITFIELD
0130 uint64_t reserved_4_63:60;
0131 uint64_t back:4;
0132 #else
0133 uint64_t back:4;
0134 uint64_t reserved_4_63:60;
0135 #endif
0136 } s;
0137 };
0138
0139 union cvmx_ipd_bist_status {
0140 uint64_t u64;
0141 struct cvmx_ipd_bist_status_s {
0142 #ifdef __BIG_ENDIAN_BITFIELD
0143 uint64_t reserved_23_63:41;
0144 uint64_t iiwo1:1;
0145 uint64_t iiwo0:1;
0146 uint64_t iio1:1;
0147 uint64_t iio0:1;
0148 uint64_t pbm4:1;
0149 uint64_t csr_mem:1;
0150 uint64_t csr_ncmd:1;
0151 uint64_t pwq_wqed:1;
0152 uint64_t pwq_wp1:1;
0153 uint64_t pwq_pow:1;
0154 uint64_t ipq_pbe1:1;
0155 uint64_t ipq_pbe0:1;
0156 uint64_t pbm3:1;
0157 uint64_t pbm2:1;
0158 uint64_t pbm1:1;
0159 uint64_t pbm0:1;
0160 uint64_t pbm_word:1;
0161 uint64_t pwq1:1;
0162 uint64_t pwq0:1;
0163 uint64_t prc_off:1;
0164 uint64_t ipd_old:1;
0165 uint64_t ipd_new:1;
0166 uint64_t pwp:1;
0167 #else
0168 uint64_t pwp:1;
0169 uint64_t ipd_new:1;
0170 uint64_t ipd_old:1;
0171 uint64_t prc_off:1;
0172 uint64_t pwq0:1;
0173 uint64_t pwq1:1;
0174 uint64_t pbm_word:1;
0175 uint64_t pbm0:1;
0176 uint64_t pbm1:1;
0177 uint64_t pbm2:1;
0178 uint64_t pbm3:1;
0179 uint64_t ipq_pbe0:1;
0180 uint64_t ipq_pbe1:1;
0181 uint64_t pwq_pow:1;
0182 uint64_t pwq_wp1:1;
0183 uint64_t pwq_wqed:1;
0184 uint64_t csr_ncmd:1;
0185 uint64_t csr_mem:1;
0186 uint64_t pbm4:1;
0187 uint64_t iio0:1;
0188 uint64_t iio1:1;
0189 uint64_t iiwo0:1;
0190 uint64_t iiwo1:1;
0191 uint64_t reserved_23_63:41;
0192 #endif
0193 } s;
0194 struct cvmx_ipd_bist_status_cn30xx {
0195 #ifdef __BIG_ENDIAN_BITFIELD
0196 uint64_t reserved_16_63:48;
0197 uint64_t pwq_wqed:1;
0198 uint64_t pwq_wp1:1;
0199 uint64_t pwq_pow:1;
0200 uint64_t ipq_pbe1:1;
0201 uint64_t ipq_pbe0:1;
0202 uint64_t pbm3:1;
0203 uint64_t pbm2:1;
0204 uint64_t pbm1:1;
0205 uint64_t pbm0:1;
0206 uint64_t pbm_word:1;
0207 uint64_t pwq1:1;
0208 uint64_t pwq0:1;
0209 uint64_t prc_off:1;
0210 uint64_t ipd_old:1;
0211 uint64_t ipd_new:1;
0212 uint64_t pwp:1;
0213 #else
0214 uint64_t pwp:1;
0215 uint64_t ipd_new:1;
0216 uint64_t ipd_old:1;
0217 uint64_t prc_off:1;
0218 uint64_t pwq0:1;
0219 uint64_t pwq1:1;
0220 uint64_t pbm_word:1;
0221 uint64_t pbm0:1;
0222 uint64_t pbm1:1;
0223 uint64_t pbm2:1;
0224 uint64_t pbm3:1;
0225 uint64_t ipq_pbe0:1;
0226 uint64_t ipq_pbe1:1;
0227 uint64_t pwq_pow:1;
0228 uint64_t pwq_wp1:1;
0229 uint64_t pwq_wqed:1;
0230 uint64_t reserved_16_63:48;
0231 #endif
0232 } cn30xx;
0233 struct cvmx_ipd_bist_status_cn52xx {
0234 #ifdef __BIG_ENDIAN_BITFIELD
0235 uint64_t reserved_18_63:46;
0236 uint64_t csr_mem:1;
0237 uint64_t csr_ncmd:1;
0238 uint64_t pwq_wqed:1;
0239 uint64_t pwq_wp1:1;
0240 uint64_t pwq_pow:1;
0241 uint64_t ipq_pbe1:1;
0242 uint64_t ipq_pbe0:1;
0243 uint64_t pbm3:1;
0244 uint64_t pbm2:1;
0245 uint64_t pbm1:1;
0246 uint64_t pbm0:1;
0247 uint64_t pbm_word:1;
0248 uint64_t pwq1:1;
0249 uint64_t pwq0:1;
0250 uint64_t prc_off:1;
0251 uint64_t ipd_old:1;
0252 uint64_t ipd_new:1;
0253 uint64_t pwp:1;
0254 #else
0255 uint64_t pwp:1;
0256 uint64_t ipd_new:1;
0257 uint64_t ipd_old:1;
0258 uint64_t prc_off:1;
0259 uint64_t pwq0:1;
0260 uint64_t pwq1:1;
0261 uint64_t pbm_word:1;
0262 uint64_t pbm0:1;
0263 uint64_t pbm1:1;
0264 uint64_t pbm2:1;
0265 uint64_t pbm3:1;
0266 uint64_t ipq_pbe0:1;
0267 uint64_t ipq_pbe1:1;
0268 uint64_t pwq_pow:1;
0269 uint64_t pwq_wp1:1;
0270 uint64_t pwq_wqed:1;
0271 uint64_t csr_ncmd:1;
0272 uint64_t csr_mem:1;
0273 uint64_t reserved_18_63:46;
0274 #endif
0275 } cn52xx;
0276 };
0277
0278 union cvmx_ipd_bp_prt_red_end {
0279 uint64_t u64;
0280 struct cvmx_ipd_bp_prt_red_end_s {
0281 #ifdef __BIG_ENDIAN_BITFIELD
0282 uint64_t reserved_48_63:16;
0283 uint64_t prt_enb:48;
0284 #else
0285 uint64_t prt_enb:48;
0286 uint64_t reserved_48_63:16;
0287 #endif
0288 } s;
0289 struct cvmx_ipd_bp_prt_red_end_cn30xx {
0290 #ifdef __BIG_ENDIAN_BITFIELD
0291 uint64_t reserved_36_63:28;
0292 uint64_t prt_enb:36;
0293 #else
0294 uint64_t prt_enb:36;
0295 uint64_t reserved_36_63:28;
0296 #endif
0297 } cn30xx;
0298 struct cvmx_ipd_bp_prt_red_end_cn52xx {
0299 #ifdef __BIG_ENDIAN_BITFIELD
0300 uint64_t reserved_40_63:24;
0301 uint64_t prt_enb:40;
0302 #else
0303 uint64_t prt_enb:40;
0304 uint64_t reserved_40_63:24;
0305 #endif
0306 } cn52xx;
0307 struct cvmx_ipd_bp_prt_red_end_cn63xx {
0308 #ifdef __BIG_ENDIAN_BITFIELD
0309 uint64_t reserved_44_63:20;
0310 uint64_t prt_enb:44;
0311 #else
0312 uint64_t prt_enb:44;
0313 uint64_t reserved_44_63:20;
0314 #endif
0315 } cn63xx;
0316 };
0317
0318 union cvmx_ipd_bpidx_mbuf_th {
0319 uint64_t u64;
0320 struct cvmx_ipd_bpidx_mbuf_th_s {
0321 #ifdef __BIG_ENDIAN_BITFIELD
0322 uint64_t reserved_18_63:46;
0323 uint64_t bp_enb:1;
0324 uint64_t page_cnt:17;
0325 #else
0326 uint64_t page_cnt:17;
0327 uint64_t bp_enb:1;
0328 uint64_t reserved_18_63:46;
0329 #endif
0330 } s;
0331 };
0332
0333 union cvmx_ipd_bpid_bp_counterx {
0334 uint64_t u64;
0335 struct cvmx_ipd_bpid_bp_counterx_s {
0336 #ifdef __BIG_ENDIAN_BITFIELD
0337 uint64_t reserved_25_63:39;
0338 uint64_t cnt_val:25;
0339 #else
0340 uint64_t cnt_val:25;
0341 uint64_t reserved_25_63:39;
0342 #endif
0343 } s;
0344 };
0345
0346 union cvmx_ipd_clk_count {
0347 uint64_t u64;
0348 struct cvmx_ipd_clk_count_s {
0349 #ifdef __BIG_ENDIAN_BITFIELD
0350 uint64_t clk_cnt:64;
0351 #else
0352 uint64_t clk_cnt:64;
0353 #endif
0354 } s;
0355 };
0356
0357 union cvmx_ipd_credits {
0358 uint64_t u64;
0359 struct cvmx_ipd_credits_s {
0360 #ifdef __BIG_ENDIAN_BITFIELD
0361 uint64_t reserved_16_63:48;
0362 uint64_t iob_wrc:8;
0363 uint64_t iob_wr:8;
0364 #else
0365 uint64_t iob_wr:8;
0366 uint64_t iob_wrc:8;
0367 uint64_t reserved_16_63:48;
0368 #endif
0369 } s;
0370 };
0371
0372 union cvmx_ipd_ctl_status {
0373 uint64_t u64;
0374 struct cvmx_ipd_ctl_status_s {
0375 #ifdef __BIG_ENDIAN_BITFIELD
0376 uint64_t reserved_18_63:46;
0377 uint64_t use_sop:1;
0378 uint64_t rst_done:1;
0379 uint64_t clken:1;
0380 uint64_t no_wptr:1;
0381 uint64_t pq_apkt:1;
0382 uint64_t pq_nabuf:1;
0383 uint64_t ipd_full:1;
0384 uint64_t pkt_off:1;
0385 uint64_t len_m8:1;
0386 uint64_t reset:1;
0387 uint64_t addpkt:1;
0388 uint64_t naddbuf:1;
0389 uint64_t pkt_lend:1;
0390 uint64_t wqe_lend:1;
0391 uint64_t pbp_en:1;
0392 uint64_t opc_mode:2;
0393 uint64_t ipd_en:1;
0394 #else
0395 uint64_t ipd_en:1;
0396 uint64_t opc_mode:2;
0397 uint64_t pbp_en:1;
0398 uint64_t wqe_lend:1;
0399 uint64_t pkt_lend:1;
0400 uint64_t naddbuf:1;
0401 uint64_t addpkt:1;
0402 uint64_t reset:1;
0403 uint64_t len_m8:1;
0404 uint64_t pkt_off:1;
0405 uint64_t ipd_full:1;
0406 uint64_t pq_nabuf:1;
0407 uint64_t pq_apkt:1;
0408 uint64_t no_wptr:1;
0409 uint64_t clken:1;
0410 uint64_t rst_done:1;
0411 uint64_t use_sop:1;
0412 uint64_t reserved_18_63:46;
0413 #endif
0414 } s;
0415 struct cvmx_ipd_ctl_status_cn30xx {
0416 #ifdef __BIG_ENDIAN_BITFIELD
0417 uint64_t reserved_10_63:54;
0418 uint64_t len_m8:1;
0419 uint64_t reset:1;
0420 uint64_t addpkt:1;
0421 uint64_t naddbuf:1;
0422 uint64_t pkt_lend:1;
0423 uint64_t wqe_lend:1;
0424 uint64_t pbp_en:1;
0425 uint64_t opc_mode:2;
0426 uint64_t ipd_en:1;
0427 #else
0428 uint64_t ipd_en:1;
0429 uint64_t opc_mode:2;
0430 uint64_t pbp_en:1;
0431 uint64_t wqe_lend:1;
0432 uint64_t pkt_lend:1;
0433 uint64_t naddbuf:1;
0434 uint64_t addpkt:1;
0435 uint64_t reset:1;
0436 uint64_t len_m8:1;
0437 uint64_t reserved_10_63:54;
0438 #endif
0439 } cn30xx;
0440 struct cvmx_ipd_ctl_status_cn38xxp2 {
0441 #ifdef __BIG_ENDIAN_BITFIELD
0442 uint64_t reserved_9_63:55;
0443 uint64_t reset:1;
0444 uint64_t addpkt:1;
0445 uint64_t naddbuf:1;
0446 uint64_t pkt_lend:1;
0447 uint64_t wqe_lend:1;
0448 uint64_t pbp_en:1;
0449 uint64_t opc_mode:2;
0450 uint64_t ipd_en:1;
0451 #else
0452 uint64_t ipd_en:1;
0453 uint64_t opc_mode:2;
0454 uint64_t pbp_en:1;
0455 uint64_t wqe_lend:1;
0456 uint64_t pkt_lend:1;
0457 uint64_t naddbuf:1;
0458 uint64_t addpkt:1;
0459 uint64_t reset:1;
0460 uint64_t reserved_9_63:55;
0461 #endif
0462 } cn38xxp2;
0463 struct cvmx_ipd_ctl_status_cn50xx {
0464 #ifdef __BIG_ENDIAN_BITFIELD
0465 uint64_t reserved_15_63:49;
0466 uint64_t no_wptr:1;
0467 uint64_t pq_apkt:1;
0468 uint64_t pq_nabuf:1;
0469 uint64_t ipd_full:1;
0470 uint64_t pkt_off:1;
0471 uint64_t len_m8:1;
0472 uint64_t reset:1;
0473 uint64_t addpkt:1;
0474 uint64_t naddbuf:1;
0475 uint64_t pkt_lend:1;
0476 uint64_t wqe_lend:1;
0477 uint64_t pbp_en:1;
0478 uint64_t opc_mode:2;
0479 uint64_t ipd_en:1;
0480 #else
0481 uint64_t ipd_en:1;
0482 uint64_t opc_mode:2;
0483 uint64_t pbp_en:1;
0484 uint64_t wqe_lend:1;
0485 uint64_t pkt_lend:1;
0486 uint64_t naddbuf:1;
0487 uint64_t addpkt:1;
0488 uint64_t reset:1;
0489 uint64_t len_m8:1;
0490 uint64_t pkt_off:1;
0491 uint64_t ipd_full:1;
0492 uint64_t pq_nabuf:1;
0493 uint64_t pq_apkt:1;
0494 uint64_t no_wptr:1;
0495 uint64_t reserved_15_63:49;
0496 #endif
0497 } cn50xx;
0498 struct cvmx_ipd_ctl_status_cn58xx {
0499 #ifdef __BIG_ENDIAN_BITFIELD
0500 uint64_t reserved_12_63:52;
0501 uint64_t ipd_full:1;
0502 uint64_t pkt_off:1;
0503 uint64_t len_m8:1;
0504 uint64_t reset:1;
0505 uint64_t addpkt:1;
0506 uint64_t naddbuf:1;
0507 uint64_t pkt_lend:1;
0508 uint64_t wqe_lend:1;
0509 uint64_t pbp_en:1;
0510 uint64_t opc_mode:2;
0511 uint64_t ipd_en:1;
0512 #else
0513 uint64_t ipd_en:1;
0514 uint64_t opc_mode:2;
0515 uint64_t pbp_en:1;
0516 uint64_t wqe_lend:1;
0517 uint64_t pkt_lend:1;
0518 uint64_t naddbuf:1;
0519 uint64_t addpkt:1;
0520 uint64_t reset:1;
0521 uint64_t len_m8:1;
0522 uint64_t pkt_off:1;
0523 uint64_t ipd_full:1;
0524 uint64_t reserved_12_63:52;
0525 #endif
0526 } cn58xx;
0527 struct cvmx_ipd_ctl_status_cn63xxp1 {
0528 #ifdef __BIG_ENDIAN_BITFIELD
0529 uint64_t reserved_16_63:48;
0530 uint64_t clken:1;
0531 uint64_t no_wptr:1;
0532 uint64_t pq_apkt:1;
0533 uint64_t pq_nabuf:1;
0534 uint64_t ipd_full:1;
0535 uint64_t pkt_off:1;
0536 uint64_t len_m8:1;
0537 uint64_t reset:1;
0538 uint64_t addpkt:1;
0539 uint64_t naddbuf:1;
0540 uint64_t pkt_lend:1;
0541 uint64_t wqe_lend:1;
0542 uint64_t pbp_en:1;
0543 uint64_t opc_mode:2;
0544 uint64_t ipd_en:1;
0545 #else
0546 uint64_t ipd_en:1;
0547 uint64_t opc_mode:2;
0548 uint64_t pbp_en:1;
0549 uint64_t wqe_lend:1;
0550 uint64_t pkt_lend:1;
0551 uint64_t naddbuf:1;
0552 uint64_t addpkt:1;
0553 uint64_t reset:1;
0554 uint64_t len_m8:1;
0555 uint64_t pkt_off:1;
0556 uint64_t ipd_full:1;
0557 uint64_t pq_nabuf:1;
0558 uint64_t pq_apkt:1;
0559 uint64_t no_wptr:1;
0560 uint64_t clken:1;
0561 uint64_t reserved_16_63:48;
0562 #endif
0563 } cn63xxp1;
0564 };
0565
0566 union cvmx_ipd_ecc_ctl {
0567 uint64_t u64;
0568 struct cvmx_ipd_ecc_ctl_s {
0569 #ifdef __BIG_ENDIAN_BITFIELD
0570 uint64_t reserved_8_63:56;
0571 uint64_t pm3_syn:2;
0572 uint64_t pm2_syn:2;
0573 uint64_t pm1_syn:2;
0574 uint64_t pm0_syn:2;
0575 #else
0576 uint64_t pm0_syn:2;
0577 uint64_t pm1_syn:2;
0578 uint64_t pm2_syn:2;
0579 uint64_t pm3_syn:2;
0580 uint64_t reserved_8_63:56;
0581 #endif
0582 } s;
0583 };
0584
0585 union cvmx_ipd_free_ptr_fifo_ctl {
0586 uint64_t u64;
0587 struct cvmx_ipd_free_ptr_fifo_ctl_s {
0588 #ifdef __BIG_ENDIAN_BITFIELD
0589 uint64_t reserved_32_63:32;
0590 uint64_t max_cnts:7;
0591 uint64_t wraddr:8;
0592 uint64_t praddr:8;
0593 uint64_t cena:1;
0594 uint64_t raddr:8;
0595 #else
0596 uint64_t raddr:8;
0597 uint64_t cena:1;
0598 uint64_t praddr:8;
0599 uint64_t wraddr:8;
0600 uint64_t max_cnts:7;
0601 uint64_t reserved_32_63:32;
0602 #endif
0603 } s;
0604 };
0605
0606 union cvmx_ipd_free_ptr_value {
0607 uint64_t u64;
0608 struct cvmx_ipd_free_ptr_value_s {
0609 #ifdef __BIG_ENDIAN_BITFIELD
0610 uint64_t reserved_33_63:31;
0611 uint64_t ptr:33;
0612 #else
0613 uint64_t ptr:33;
0614 uint64_t reserved_33_63:31;
0615 #endif
0616 } s;
0617 };
0618
0619 union cvmx_ipd_hold_ptr_fifo_ctl {
0620 uint64_t u64;
0621 struct cvmx_ipd_hold_ptr_fifo_ctl_s {
0622 #ifdef __BIG_ENDIAN_BITFIELD
0623 uint64_t reserved_43_63:21;
0624 uint64_t ptr:33;
0625 uint64_t max_pkt:3;
0626 uint64_t praddr:3;
0627 uint64_t cena:1;
0628 uint64_t raddr:3;
0629 #else
0630 uint64_t raddr:3;
0631 uint64_t cena:1;
0632 uint64_t praddr:3;
0633 uint64_t max_pkt:3;
0634 uint64_t ptr:33;
0635 uint64_t reserved_43_63:21;
0636 #endif
0637 } s;
0638 };
0639
0640 union cvmx_ipd_int_enb {
0641 uint64_t u64;
0642 struct cvmx_ipd_int_enb_s {
0643 #ifdef __BIG_ENDIAN_BITFIELD
0644 uint64_t reserved_23_63:41;
0645 uint64_t pw3_dbe:1;
0646 uint64_t pw3_sbe:1;
0647 uint64_t pw2_dbe:1;
0648 uint64_t pw2_sbe:1;
0649 uint64_t pw1_dbe:1;
0650 uint64_t pw1_sbe:1;
0651 uint64_t pw0_dbe:1;
0652 uint64_t pw0_sbe:1;
0653 uint64_t dat:1;
0654 uint64_t eop:1;
0655 uint64_t sop:1;
0656 uint64_t pq_sub:1;
0657 uint64_t pq_add:1;
0658 uint64_t bc_ovr:1;
0659 uint64_t d_coll:1;
0660 uint64_t c_coll:1;
0661 uint64_t cc_ovr:1;
0662 uint64_t dc_ovr:1;
0663 uint64_t bp_sub:1;
0664 uint64_t prc_par3:1;
0665 uint64_t prc_par2:1;
0666 uint64_t prc_par1:1;
0667 uint64_t prc_par0:1;
0668 #else
0669 uint64_t prc_par0:1;
0670 uint64_t prc_par1:1;
0671 uint64_t prc_par2:1;
0672 uint64_t prc_par3:1;
0673 uint64_t bp_sub:1;
0674 uint64_t dc_ovr:1;
0675 uint64_t cc_ovr:1;
0676 uint64_t c_coll:1;
0677 uint64_t d_coll:1;
0678 uint64_t bc_ovr:1;
0679 uint64_t pq_add:1;
0680 uint64_t pq_sub:1;
0681 uint64_t sop:1;
0682 uint64_t eop:1;
0683 uint64_t dat:1;
0684 uint64_t pw0_sbe:1;
0685 uint64_t pw0_dbe:1;
0686 uint64_t pw1_sbe:1;
0687 uint64_t pw1_dbe:1;
0688 uint64_t pw2_sbe:1;
0689 uint64_t pw2_dbe:1;
0690 uint64_t pw3_sbe:1;
0691 uint64_t pw3_dbe:1;
0692 uint64_t reserved_23_63:41;
0693 #endif
0694 } s;
0695 struct cvmx_ipd_int_enb_cn30xx {
0696 #ifdef __BIG_ENDIAN_BITFIELD
0697 uint64_t reserved_5_63:59;
0698 uint64_t bp_sub:1;
0699 uint64_t prc_par3:1;
0700 uint64_t prc_par2:1;
0701 uint64_t prc_par1:1;
0702 uint64_t prc_par0:1;
0703 #else
0704 uint64_t prc_par0:1;
0705 uint64_t prc_par1:1;
0706 uint64_t prc_par2:1;
0707 uint64_t prc_par3:1;
0708 uint64_t bp_sub:1;
0709 uint64_t reserved_5_63:59;
0710 #endif
0711 } cn30xx;
0712 struct cvmx_ipd_int_enb_cn38xx {
0713 #ifdef __BIG_ENDIAN_BITFIELD
0714 uint64_t reserved_10_63:54;
0715 uint64_t bc_ovr:1;
0716 uint64_t d_coll:1;
0717 uint64_t c_coll:1;
0718 uint64_t cc_ovr:1;
0719 uint64_t dc_ovr:1;
0720 uint64_t bp_sub:1;
0721 uint64_t prc_par3:1;
0722 uint64_t prc_par2:1;
0723 uint64_t prc_par1:1;
0724 uint64_t prc_par0:1;
0725 #else
0726 uint64_t prc_par0:1;
0727 uint64_t prc_par1:1;
0728 uint64_t prc_par2:1;
0729 uint64_t prc_par3:1;
0730 uint64_t bp_sub:1;
0731 uint64_t dc_ovr:1;
0732 uint64_t cc_ovr:1;
0733 uint64_t c_coll:1;
0734 uint64_t d_coll:1;
0735 uint64_t bc_ovr:1;
0736 uint64_t reserved_10_63:54;
0737 #endif
0738 } cn38xx;
0739 struct cvmx_ipd_int_enb_cn52xx {
0740 #ifdef __BIG_ENDIAN_BITFIELD
0741 uint64_t reserved_12_63:52;
0742 uint64_t pq_sub:1;
0743 uint64_t pq_add:1;
0744 uint64_t bc_ovr:1;
0745 uint64_t d_coll:1;
0746 uint64_t c_coll:1;
0747 uint64_t cc_ovr:1;
0748 uint64_t dc_ovr:1;
0749 uint64_t bp_sub:1;
0750 uint64_t prc_par3:1;
0751 uint64_t prc_par2:1;
0752 uint64_t prc_par1:1;
0753 uint64_t prc_par0:1;
0754 #else
0755 uint64_t prc_par0:1;
0756 uint64_t prc_par1:1;
0757 uint64_t prc_par2:1;
0758 uint64_t prc_par3:1;
0759 uint64_t bp_sub:1;
0760 uint64_t dc_ovr:1;
0761 uint64_t cc_ovr:1;
0762 uint64_t c_coll:1;
0763 uint64_t d_coll:1;
0764 uint64_t bc_ovr:1;
0765 uint64_t pq_add:1;
0766 uint64_t pq_sub:1;
0767 uint64_t reserved_12_63:52;
0768 #endif
0769 } cn52xx;
0770 };
0771
0772 union cvmx_ipd_int_sum {
0773 uint64_t u64;
0774 struct cvmx_ipd_int_sum_s {
0775 #ifdef __BIG_ENDIAN_BITFIELD
0776 uint64_t reserved_23_63:41;
0777 uint64_t pw3_dbe:1;
0778 uint64_t pw3_sbe:1;
0779 uint64_t pw2_dbe:1;
0780 uint64_t pw2_sbe:1;
0781 uint64_t pw1_dbe:1;
0782 uint64_t pw1_sbe:1;
0783 uint64_t pw0_dbe:1;
0784 uint64_t pw0_sbe:1;
0785 uint64_t dat:1;
0786 uint64_t eop:1;
0787 uint64_t sop:1;
0788 uint64_t pq_sub:1;
0789 uint64_t pq_add:1;
0790 uint64_t bc_ovr:1;
0791 uint64_t d_coll:1;
0792 uint64_t c_coll:1;
0793 uint64_t cc_ovr:1;
0794 uint64_t dc_ovr:1;
0795 uint64_t bp_sub:1;
0796 uint64_t prc_par3:1;
0797 uint64_t prc_par2:1;
0798 uint64_t prc_par1:1;
0799 uint64_t prc_par0:1;
0800 #else
0801 uint64_t prc_par0:1;
0802 uint64_t prc_par1:1;
0803 uint64_t prc_par2:1;
0804 uint64_t prc_par3:1;
0805 uint64_t bp_sub:1;
0806 uint64_t dc_ovr:1;
0807 uint64_t cc_ovr:1;
0808 uint64_t c_coll:1;
0809 uint64_t d_coll:1;
0810 uint64_t bc_ovr:1;
0811 uint64_t pq_add:1;
0812 uint64_t pq_sub:1;
0813 uint64_t sop:1;
0814 uint64_t eop:1;
0815 uint64_t dat:1;
0816 uint64_t pw0_sbe:1;
0817 uint64_t pw0_dbe:1;
0818 uint64_t pw1_sbe:1;
0819 uint64_t pw1_dbe:1;
0820 uint64_t pw2_sbe:1;
0821 uint64_t pw2_dbe:1;
0822 uint64_t pw3_sbe:1;
0823 uint64_t pw3_dbe:1;
0824 uint64_t reserved_23_63:41;
0825 #endif
0826 } s;
0827 struct cvmx_ipd_int_sum_cn30xx {
0828 #ifdef __BIG_ENDIAN_BITFIELD
0829 uint64_t reserved_5_63:59;
0830 uint64_t bp_sub:1;
0831 uint64_t prc_par3:1;
0832 uint64_t prc_par2:1;
0833 uint64_t prc_par1:1;
0834 uint64_t prc_par0:1;
0835 #else
0836 uint64_t prc_par0:1;
0837 uint64_t prc_par1:1;
0838 uint64_t prc_par2:1;
0839 uint64_t prc_par3:1;
0840 uint64_t bp_sub:1;
0841 uint64_t reserved_5_63:59;
0842 #endif
0843 } cn30xx;
0844 struct cvmx_ipd_int_sum_cn38xx {
0845 #ifdef __BIG_ENDIAN_BITFIELD
0846 uint64_t reserved_10_63:54;
0847 uint64_t bc_ovr:1;
0848 uint64_t d_coll:1;
0849 uint64_t c_coll:1;
0850 uint64_t cc_ovr:1;
0851 uint64_t dc_ovr:1;
0852 uint64_t bp_sub:1;
0853 uint64_t prc_par3:1;
0854 uint64_t prc_par2:1;
0855 uint64_t prc_par1:1;
0856 uint64_t prc_par0:1;
0857 #else
0858 uint64_t prc_par0:1;
0859 uint64_t prc_par1:1;
0860 uint64_t prc_par2:1;
0861 uint64_t prc_par3:1;
0862 uint64_t bp_sub:1;
0863 uint64_t dc_ovr:1;
0864 uint64_t cc_ovr:1;
0865 uint64_t c_coll:1;
0866 uint64_t d_coll:1;
0867 uint64_t bc_ovr:1;
0868 uint64_t reserved_10_63:54;
0869 #endif
0870 } cn38xx;
0871 struct cvmx_ipd_int_sum_cn52xx {
0872 #ifdef __BIG_ENDIAN_BITFIELD
0873 uint64_t reserved_12_63:52;
0874 uint64_t pq_sub:1;
0875 uint64_t pq_add:1;
0876 uint64_t bc_ovr:1;
0877 uint64_t d_coll:1;
0878 uint64_t c_coll:1;
0879 uint64_t cc_ovr:1;
0880 uint64_t dc_ovr:1;
0881 uint64_t bp_sub:1;
0882 uint64_t prc_par3:1;
0883 uint64_t prc_par2:1;
0884 uint64_t prc_par1:1;
0885 uint64_t prc_par0:1;
0886 #else
0887 uint64_t prc_par0:1;
0888 uint64_t prc_par1:1;
0889 uint64_t prc_par2:1;
0890 uint64_t prc_par3:1;
0891 uint64_t bp_sub:1;
0892 uint64_t dc_ovr:1;
0893 uint64_t cc_ovr:1;
0894 uint64_t c_coll:1;
0895 uint64_t d_coll:1;
0896 uint64_t bc_ovr:1;
0897 uint64_t pq_add:1;
0898 uint64_t pq_sub:1;
0899 uint64_t reserved_12_63:52;
0900 #endif
0901 } cn52xx;
0902 };
0903
0904 union cvmx_ipd_next_pkt_ptr {
0905 uint64_t u64;
0906 struct cvmx_ipd_next_pkt_ptr_s {
0907 #ifdef __BIG_ENDIAN_BITFIELD
0908 uint64_t reserved_33_63:31;
0909 uint64_t ptr:33;
0910 #else
0911 uint64_t ptr:33;
0912 uint64_t reserved_33_63:31;
0913 #endif
0914 } s;
0915 };
0916
0917 union cvmx_ipd_next_wqe_ptr {
0918 uint64_t u64;
0919 struct cvmx_ipd_next_wqe_ptr_s {
0920 #ifdef __BIG_ENDIAN_BITFIELD
0921 uint64_t reserved_33_63:31;
0922 uint64_t ptr:33;
0923 #else
0924 uint64_t ptr:33;
0925 uint64_t reserved_33_63:31;
0926 #endif
0927 } s;
0928 };
0929
0930 union cvmx_ipd_not_1st_mbuff_skip {
0931 uint64_t u64;
0932 struct cvmx_ipd_not_1st_mbuff_skip_s {
0933 #ifdef __BIG_ENDIAN_BITFIELD
0934 uint64_t reserved_6_63:58;
0935 uint64_t skip_sz:6;
0936 #else
0937 uint64_t skip_sz:6;
0938 uint64_t reserved_6_63:58;
0939 #endif
0940 } s;
0941 };
0942
0943 union cvmx_ipd_on_bp_drop_pktx {
0944 uint64_t u64;
0945 struct cvmx_ipd_on_bp_drop_pktx_s {
0946 #ifdef __BIG_ENDIAN_BITFIELD
0947 uint64_t prt_enb:64;
0948 #else
0949 uint64_t prt_enb:64;
0950 #endif
0951 } s;
0952 };
0953
0954 union cvmx_ipd_packet_mbuff_size {
0955 uint64_t u64;
0956 struct cvmx_ipd_packet_mbuff_size_s {
0957 #ifdef __BIG_ENDIAN_BITFIELD
0958 uint64_t reserved_12_63:52;
0959 uint64_t mb_size:12;
0960 #else
0961 uint64_t mb_size:12;
0962 uint64_t reserved_12_63:52;
0963 #endif
0964 } s;
0965 };
0966
0967 union cvmx_ipd_pkt_err {
0968 uint64_t u64;
0969 struct cvmx_ipd_pkt_err_s {
0970 #ifdef __BIG_ENDIAN_BITFIELD
0971 uint64_t reserved_6_63:58;
0972 uint64_t reasm:6;
0973 #else
0974 uint64_t reasm:6;
0975 uint64_t reserved_6_63:58;
0976 #endif
0977 } s;
0978 };
0979
0980 union cvmx_ipd_pkt_ptr_valid {
0981 uint64_t u64;
0982 struct cvmx_ipd_pkt_ptr_valid_s {
0983 #ifdef __BIG_ENDIAN_BITFIELD
0984 uint64_t reserved_29_63:35;
0985 uint64_t ptr:29;
0986 #else
0987 uint64_t ptr:29;
0988 uint64_t reserved_29_63:35;
0989 #endif
0990 } s;
0991 };
0992
0993 union cvmx_ipd_portx_bp_page_cnt {
0994 uint64_t u64;
0995 struct cvmx_ipd_portx_bp_page_cnt_s {
0996 #ifdef __BIG_ENDIAN_BITFIELD
0997 uint64_t reserved_18_63:46;
0998 uint64_t bp_enb:1;
0999 uint64_t page_cnt:17;
1000 #else
1001 uint64_t page_cnt:17;
1002 uint64_t bp_enb:1;
1003 uint64_t reserved_18_63:46;
1004 #endif
1005 } s;
1006 };
1007
1008 union cvmx_ipd_portx_bp_page_cnt2 {
1009 uint64_t u64;
1010 struct cvmx_ipd_portx_bp_page_cnt2_s {
1011 #ifdef __BIG_ENDIAN_BITFIELD
1012 uint64_t reserved_18_63:46;
1013 uint64_t bp_enb:1;
1014 uint64_t page_cnt:17;
1015 #else
1016 uint64_t page_cnt:17;
1017 uint64_t bp_enb:1;
1018 uint64_t reserved_18_63:46;
1019 #endif
1020 } s;
1021 };
1022
1023 union cvmx_ipd_portx_bp_page_cnt3 {
1024 uint64_t u64;
1025 struct cvmx_ipd_portx_bp_page_cnt3_s {
1026 #ifdef __BIG_ENDIAN_BITFIELD
1027 uint64_t reserved_18_63:46;
1028 uint64_t bp_enb:1;
1029 uint64_t page_cnt:17;
1030 #else
1031 uint64_t page_cnt:17;
1032 uint64_t bp_enb:1;
1033 uint64_t reserved_18_63:46;
1034 #endif
1035 } s;
1036 };
1037
1038 union cvmx_ipd_port_bp_counters2_pairx {
1039 uint64_t u64;
1040 struct cvmx_ipd_port_bp_counters2_pairx_s {
1041 #ifdef __BIG_ENDIAN_BITFIELD
1042 uint64_t reserved_25_63:39;
1043 uint64_t cnt_val:25;
1044 #else
1045 uint64_t cnt_val:25;
1046 uint64_t reserved_25_63:39;
1047 #endif
1048 } s;
1049 };
1050
1051 union cvmx_ipd_port_bp_counters3_pairx {
1052 uint64_t u64;
1053 struct cvmx_ipd_port_bp_counters3_pairx_s {
1054 #ifdef __BIG_ENDIAN_BITFIELD
1055 uint64_t reserved_25_63:39;
1056 uint64_t cnt_val:25;
1057 #else
1058 uint64_t cnt_val:25;
1059 uint64_t reserved_25_63:39;
1060 #endif
1061 } s;
1062 };
1063
1064 union cvmx_ipd_port_bp_counters4_pairx {
1065 uint64_t u64;
1066 struct cvmx_ipd_port_bp_counters4_pairx_s {
1067 #ifdef __BIG_ENDIAN_BITFIELD
1068 uint64_t reserved_25_63:39;
1069 uint64_t cnt_val:25;
1070 #else
1071 uint64_t cnt_val:25;
1072 uint64_t reserved_25_63:39;
1073 #endif
1074 } s;
1075 };
1076
1077 union cvmx_ipd_port_bp_counters_pairx {
1078 uint64_t u64;
1079 struct cvmx_ipd_port_bp_counters_pairx_s {
1080 #ifdef __BIG_ENDIAN_BITFIELD
1081 uint64_t reserved_25_63:39;
1082 uint64_t cnt_val:25;
1083 #else
1084 uint64_t cnt_val:25;
1085 uint64_t reserved_25_63:39;
1086 #endif
1087 } s;
1088 };
1089
1090 union cvmx_ipd_port_ptr_fifo_ctl {
1091 uint64_t u64;
1092 struct cvmx_ipd_port_ptr_fifo_ctl_s {
1093 #ifdef __BIG_ENDIAN_BITFIELD
1094 uint64_t reserved_48_63:16;
1095 uint64_t ptr:33;
1096 uint64_t max_pkt:7;
1097 uint64_t cena:1;
1098 uint64_t raddr:7;
1099 #else
1100 uint64_t raddr:7;
1101 uint64_t cena:1;
1102 uint64_t max_pkt:7;
1103 uint64_t ptr:33;
1104 uint64_t reserved_48_63:16;
1105 #endif
1106 } s;
1107 };
1108
1109 union cvmx_ipd_port_qos_x_cnt {
1110 uint64_t u64;
1111 struct cvmx_ipd_port_qos_x_cnt_s {
1112 #ifdef __BIG_ENDIAN_BITFIELD
1113 uint64_t wmark:32;
1114 uint64_t cnt:32;
1115 #else
1116 uint64_t cnt:32;
1117 uint64_t wmark:32;
1118 #endif
1119 } s;
1120 };
1121
1122 union cvmx_ipd_port_qos_intx {
1123 uint64_t u64;
1124 struct cvmx_ipd_port_qos_intx_s {
1125 #ifdef __BIG_ENDIAN_BITFIELD
1126 uint64_t intr:64;
1127 #else
1128 uint64_t intr:64;
1129 #endif
1130 } s;
1131 };
1132
1133 union cvmx_ipd_port_qos_int_enbx {
1134 uint64_t u64;
1135 struct cvmx_ipd_port_qos_int_enbx_s {
1136 #ifdef __BIG_ENDIAN_BITFIELD
1137 uint64_t enb:64;
1138 #else
1139 uint64_t enb:64;
1140 #endif
1141 } s;
1142 };
1143
1144 union cvmx_ipd_port_sopx {
1145 uint64_t u64;
1146 struct cvmx_ipd_port_sopx_s {
1147 #ifdef __BIG_ENDIAN_BITFIELD
1148 uint64_t sop:64;
1149 #else
1150 uint64_t sop:64;
1151 #endif
1152 } s;
1153 };
1154
1155 union cvmx_ipd_prc_hold_ptr_fifo_ctl {
1156 uint64_t u64;
1157 struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s {
1158 #ifdef __BIG_ENDIAN_BITFIELD
1159 uint64_t reserved_39_63:25;
1160 uint64_t max_pkt:3;
1161 uint64_t praddr:3;
1162 uint64_t ptr:29;
1163 uint64_t cena:1;
1164 uint64_t raddr:3;
1165 #else
1166 uint64_t raddr:3;
1167 uint64_t cena:1;
1168 uint64_t ptr:29;
1169 uint64_t praddr:3;
1170 uint64_t max_pkt:3;
1171 uint64_t reserved_39_63:25;
1172 #endif
1173 } s;
1174 };
1175
1176 union cvmx_ipd_prc_port_ptr_fifo_ctl {
1177 uint64_t u64;
1178 struct cvmx_ipd_prc_port_ptr_fifo_ctl_s {
1179 #ifdef __BIG_ENDIAN_BITFIELD
1180 uint64_t reserved_44_63:20;
1181 uint64_t max_pkt:7;
1182 uint64_t ptr:29;
1183 uint64_t cena:1;
1184 uint64_t raddr:7;
1185 #else
1186 uint64_t raddr:7;
1187 uint64_t cena:1;
1188 uint64_t ptr:29;
1189 uint64_t max_pkt:7;
1190 uint64_t reserved_44_63:20;
1191 #endif
1192 } s;
1193 };
1194
1195 union cvmx_ipd_ptr_count {
1196 uint64_t u64;
1197 struct cvmx_ipd_ptr_count_s {
1198 #ifdef __BIG_ENDIAN_BITFIELD
1199 uint64_t reserved_19_63:45;
1200 uint64_t pktv_cnt:1;
1201 uint64_t wqev_cnt:1;
1202 uint64_t pfif_cnt:3;
1203 uint64_t pkt_pcnt:7;
1204 uint64_t wqe_pcnt:7;
1205 #else
1206 uint64_t wqe_pcnt:7;
1207 uint64_t pkt_pcnt:7;
1208 uint64_t pfif_cnt:3;
1209 uint64_t wqev_cnt:1;
1210 uint64_t pktv_cnt:1;
1211 uint64_t reserved_19_63:45;
1212 #endif
1213 } s;
1214 };
1215
1216 union cvmx_ipd_pwp_ptr_fifo_ctl {
1217 uint64_t u64;
1218 struct cvmx_ipd_pwp_ptr_fifo_ctl_s {
1219 #ifdef __BIG_ENDIAN_BITFIELD
1220 uint64_t reserved_61_63:3;
1221 uint64_t max_cnts:7;
1222 uint64_t wraddr:8;
1223 uint64_t praddr:8;
1224 uint64_t ptr:29;
1225 uint64_t cena:1;
1226 uint64_t raddr:8;
1227 #else
1228 uint64_t raddr:8;
1229 uint64_t cena:1;
1230 uint64_t ptr:29;
1231 uint64_t praddr:8;
1232 uint64_t wraddr:8;
1233 uint64_t max_cnts:7;
1234 uint64_t reserved_61_63:3;
1235 #endif
1236 } s;
1237 };
1238
1239 union cvmx_ipd_qosx_red_marks {
1240 uint64_t u64;
1241 struct cvmx_ipd_qosx_red_marks_s {
1242 #ifdef __BIG_ENDIAN_BITFIELD
1243 uint64_t drop:32;
1244 uint64_t pass:32;
1245 #else
1246 uint64_t pass:32;
1247 uint64_t drop:32;
1248 #endif
1249 } s;
1250 };
1251
1252 union cvmx_ipd_que0_free_page_cnt {
1253 uint64_t u64;
1254 struct cvmx_ipd_que0_free_page_cnt_s {
1255 #ifdef __BIG_ENDIAN_BITFIELD
1256 uint64_t reserved_32_63:32;
1257 uint64_t q0_pcnt:32;
1258 #else
1259 uint64_t q0_pcnt:32;
1260 uint64_t reserved_32_63:32;
1261 #endif
1262 } s;
1263 };
1264
1265 union cvmx_ipd_red_bpid_enablex {
1266 uint64_t u64;
1267 struct cvmx_ipd_red_bpid_enablex_s {
1268 #ifdef __BIG_ENDIAN_BITFIELD
1269 uint64_t prt_enb:64;
1270 #else
1271 uint64_t prt_enb:64;
1272 #endif
1273 } s;
1274 };
1275
1276 union cvmx_ipd_red_delay {
1277 uint64_t u64;
1278 struct cvmx_ipd_red_delay_s {
1279 #ifdef __BIG_ENDIAN_BITFIELD
1280 uint64_t reserved_28_63:36;
1281 uint64_t prb_dly:14;
1282 uint64_t avg_dly:14;
1283 #else
1284 uint64_t avg_dly:14;
1285 uint64_t prb_dly:14;
1286 uint64_t reserved_28_63:36;
1287 #endif
1288 } s;
1289 };
1290
1291 union cvmx_ipd_red_port_enable {
1292 uint64_t u64;
1293 struct cvmx_ipd_red_port_enable_s {
1294 #ifdef __BIG_ENDIAN_BITFIELD
1295 uint64_t prb_dly:14;
1296 uint64_t avg_dly:14;
1297 uint64_t prt_enb:36;
1298 #else
1299 uint64_t prt_enb:36;
1300 uint64_t avg_dly:14;
1301 uint64_t prb_dly:14;
1302 #endif
1303 } s;
1304 };
1305
1306 union cvmx_ipd_red_port_enable2 {
1307 uint64_t u64;
1308 struct cvmx_ipd_red_port_enable2_s {
1309 #ifdef __BIG_ENDIAN_BITFIELD
1310 uint64_t reserved_12_63:52;
1311 uint64_t prt_enb:12;
1312 #else
1313 uint64_t prt_enb:12;
1314 uint64_t reserved_12_63:52;
1315 #endif
1316 } s;
1317 struct cvmx_ipd_red_port_enable2_cn52xx {
1318 #ifdef __BIG_ENDIAN_BITFIELD
1319 uint64_t reserved_4_63:60;
1320 uint64_t prt_enb:4;
1321 #else
1322 uint64_t prt_enb:4;
1323 uint64_t reserved_4_63:60;
1324 #endif
1325 } cn52xx;
1326 struct cvmx_ipd_red_port_enable2_cn63xx {
1327 #ifdef __BIG_ENDIAN_BITFIELD
1328 uint64_t reserved_8_63:56;
1329 uint64_t prt_enb:8;
1330 #else
1331 uint64_t prt_enb:8;
1332 uint64_t reserved_8_63:56;
1333 #endif
1334 } cn63xx;
1335 };
1336
1337 union cvmx_ipd_red_quex_param {
1338 uint64_t u64;
1339 struct cvmx_ipd_red_quex_param_s {
1340 #ifdef __BIG_ENDIAN_BITFIELD
1341 uint64_t reserved_49_63:15;
1342 uint64_t use_pcnt:1;
1343 uint64_t new_con:8;
1344 uint64_t avg_con:8;
1345 uint64_t prb_con:32;
1346 #else
1347 uint64_t prb_con:32;
1348 uint64_t avg_con:8;
1349 uint64_t new_con:8;
1350 uint64_t use_pcnt:1;
1351 uint64_t reserved_49_63:15;
1352 #endif
1353 } s;
1354 };
1355
1356 union cvmx_ipd_req_wgt {
1357 uint64_t u64;
1358 struct cvmx_ipd_req_wgt_s {
1359 #ifdef __BIG_ENDIAN_BITFIELD
1360 uint64_t wgt7:8;
1361 uint64_t wgt6:8;
1362 uint64_t wgt5:8;
1363 uint64_t wgt4:8;
1364 uint64_t wgt3:8;
1365 uint64_t wgt2:8;
1366 uint64_t wgt1:8;
1367 uint64_t wgt0:8;
1368 #else
1369 uint64_t wgt0:8;
1370 uint64_t wgt1:8;
1371 uint64_t wgt2:8;
1372 uint64_t wgt3:8;
1373 uint64_t wgt4:8;
1374 uint64_t wgt5:8;
1375 uint64_t wgt6:8;
1376 uint64_t wgt7:8;
1377 #endif
1378 } s;
1379 };
1380
1381 union cvmx_ipd_sub_port_bp_page_cnt {
1382 uint64_t u64;
1383 struct cvmx_ipd_sub_port_bp_page_cnt_s {
1384 #ifdef __BIG_ENDIAN_BITFIELD
1385 uint64_t reserved_31_63:33;
1386 uint64_t port:6;
1387 uint64_t page_cnt:25;
1388 #else
1389 uint64_t page_cnt:25;
1390 uint64_t port:6;
1391 uint64_t reserved_31_63:33;
1392 #endif
1393 } s;
1394 };
1395
1396 union cvmx_ipd_sub_port_fcs {
1397 uint64_t u64;
1398 struct cvmx_ipd_sub_port_fcs_s {
1399 #ifdef __BIG_ENDIAN_BITFIELD
1400 uint64_t reserved_40_63:24;
1401 uint64_t port_bit2:4;
1402 uint64_t reserved_32_35:4;
1403 uint64_t port_bit:32;
1404 #else
1405 uint64_t port_bit:32;
1406 uint64_t reserved_32_35:4;
1407 uint64_t port_bit2:4;
1408 uint64_t reserved_40_63:24;
1409 #endif
1410 } s;
1411 struct cvmx_ipd_sub_port_fcs_cn30xx {
1412 #ifdef __BIG_ENDIAN_BITFIELD
1413 uint64_t reserved_3_63:61;
1414 uint64_t port_bit:3;
1415 #else
1416 uint64_t port_bit:3;
1417 uint64_t reserved_3_63:61;
1418 #endif
1419 } cn30xx;
1420 struct cvmx_ipd_sub_port_fcs_cn38xx {
1421 #ifdef __BIG_ENDIAN_BITFIELD
1422 uint64_t reserved_32_63:32;
1423 uint64_t port_bit:32;
1424 #else
1425 uint64_t port_bit:32;
1426 uint64_t reserved_32_63:32;
1427 #endif
1428 } cn38xx;
1429 };
1430
1431 union cvmx_ipd_sub_port_qos_cnt {
1432 uint64_t u64;
1433 struct cvmx_ipd_sub_port_qos_cnt_s {
1434 #ifdef __BIG_ENDIAN_BITFIELD
1435 uint64_t reserved_41_63:23;
1436 uint64_t port_qos:9;
1437 uint64_t cnt:32;
1438 #else
1439 uint64_t cnt:32;
1440 uint64_t port_qos:9;
1441 uint64_t reserved_41_63:23;
1442 #endif
1443 } s;
1444 };
1445
1446 union cvmx_ipd_wqe_fpa_queue {
1447 uint64_t u64;
1448 struct cvmx_ipd_wqe_fpa_queue_s {
1449 #ifdef __BIG_ENDIAN_BITFIELD
1450 uint64_t reserved_3_63:61;
1451 uint64_t wqe_pool:3;
1452 #else
1453 uint64_t wqe_pool:3;
1454 uint64_t reserved_3_63:61;
1455 #endif
1456 } s;
1457 };
1458
1459 union cvmx_ipd_wqe_ptr_valid {
1460 uint64_t u64;
1461 struct cvmx_ipd_wqe_ptr_valid_s {
1462 #ifdef __BIG_ENDIAN_BITFIELD
1463 uint64_t reserved_29_63:35;
1464 uint64_t ptr:29;
1465 #else
1466 uint64_t ptr:29;
1467 uint64_t reserved_29_63:35;
1468 #endif
1469 } s;
1470 };
1471
1472 #endif