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}; 112 113union cvmx_ipd_1st_next_ptr_back { 114 uint64_t u64; 115 struct cvmx_ipd_1st_next_ptr_back_s { 116#ifdef __BIG_ENDIAN_BITFIELD 117 uint64_t reserved_4_63:60; 118 uint64_t back:4; 119#else 120 uint64_t back:4; 121 uint64_t reserved_4_63:60; 122#endif 123 } s; 124}; 125 126union cvmx_ipd_2nd_next_ptr_back { 127 uint64_t u64; 128 struct cvmx_ipd_2nd_next_ptr_back_s { 129#ifdef __BIG_ENDIAN_BITFIELD 130 uint64_t reserved_4_63:60; 131 uint64_t back:4; 132#else 133 uint64_t back:4; 134 uint64_t reserved_4_63:60; 135#endif 136 } s; 137}; 138 139union cvmx_ipd_bist_status { 140 uint64_t u64; 141 struct cvmx_ipd_bist_status_s { 142#ifdef __BIG_ENDIAN_BITFIELD 143 uint64_t reserved_23_63:41; 144 uint64_t iiwo1:1; 145 uint64_t iiwo0:1; 146 uint64_t iio1:1; 147 uint64_t iio0:1; 148 uint64_t pbm4:1; 149 uint64_t csr_mem:1; 150 uint64_t csr_ncmd:1; 151 uint64_t pwq_wqed:1; 152 uint64_t pwq_wp1:1; 153 uint64_t pwq_pow:1; 154 uint64_t ipq_pbe1:1; 155 uint64_t ipq_pbe0:1; 156 uint64_t pbm3:1; 157 uint64_t pbm2:1; 158 uint64_t pbm1:1; 159 uint64_t pbm0:1; 160 uint64_t pbm_word:1; 161 uint64_t pwq1:1; 162 uint64_t pwq0:1; 163 uint64_t prc_off:1; 164 uint64_t ipd_old:1; 165 uint64_t ipd_new:1; 166 uint64_t pwp:1; 167#else 168 uint64_t pwp:1; 169 uint64_t ipd_new:1; 170 uint64_t ipd_old:1; 171 uint64_t prc_off:1; 172 uint64_t pwq0:1; 173 uint64_t pwq1:1; 174 uint64_t pbm_word:1; 175 uint64_t pbm0:1; 176 uint64_t pbm1:1; 177 uint64_t pbm2:1; 178 uint64_t pbm3:1; 179 uint64_t ipq_pbe0:1; 180 uint64_t ipq_pbe1:1; 181 uint64_t pwq_pow:1; 182 uint64_t pwq_wp1:1; 183 uint64_t pwq_wqed:1; 184 uint64_t csr_ncmd:1; 185 uint64_t csr_mem:1; 186 uint64_t pbm4:1; 187 uint64_t iio0:1; 188 uint64_t iio1:1; 189 uint64_t iiwo0:1; 190 uint64_t iiwo1:1; 191 uint64_t reserved_23_63:41; 192#endif 193 } s; 194 struct cvmx_ipd_bist_status_cn30xx { 195#ifdef __BIG_ENDIAN_BITFIELD 196 uint64_t reserved_16_63:48; 197 uint64_t pwq_wqed:1; 198 uint64_t pwq_wp1:1; 199 uint64_t pwq_pow:1; 200 uint64_t ipq_pbe1:1; 201 uint64_t ipq_pbe0:1; 202 uint64_t pbm3:1; 203 uint64_t pbm2:1; 204 uint64_t pbm1:1; 205 uint64_t pbm0:1; 206 uint64_t pbm_word:1; 207 uint64_t pwq1:1; 208 uint64_t pwq0:1; 209 uint64_t prc_off:1; 210 uint64_t ipd_old:1; 211 uint64_t ipd_new:1; 212 uint64_t pwp:1; 213#else 214 uint64_t pwp:1; 215 uint64_t ipd_new:1; 216 uint64_t ipd_old:1; 217 uint64_t prc_off:1; 218 uint64_t pwq0:1; 219 uint64_t pwq1:1; 220 uint64_t pbm_word:1; 221 uint64_t pbm0:1; 222 uint64_t pbm1:1; 223 uint64_t pbm2:1; 224 uint64_t pbm3:1; 225 uint64_t ipq_pbe0:1; 226 uint64_t ipq_pbe1:1; 227 uint64_t pwq_pow:1; 228 uint64_t pwq_wp1:1; 229 uint64_t pwq_wqed:1; 230 uint64_t reserved_16_63:48; 231#endif 232 } cn30xx; 233 struct cvmx_ipd_bist_status_cn52xx { 234#ifdef __BIG_ENDIAN_BITFIELD 235 uint64_t reserved_18_63:46; 236 uint64_t csr_mem:1; 237 uint64_t csr_ncmd:1; 238 uint64_t pwq_wqed:1; 239 uint64_t pwq_wp1:1; 240 uint64_t pwq_pow:1; 241 uint64_t ipq_pbe1:1; 242 uint64_t ipq_pbe0:1; 243 uint64_t pbm3:1; 244 uint64_t pbm2:1; 245 uint64_t pbm1:1; 246 uint64_t pbm0:1; 247 uint64_t pbm_word:1; 248 uint64_t pwq1:1; 249 uint64_t pwq0:1; 250 uint64_t prc_off:1; 251 uint64_t ipd_old:1; 252 uint64_t ipd_new:1; 253 uint64_t pwp:1; 254#else 255 uint64_t pwp:1; 256 uint64_t ipd_new:1; 257 uint64_t ipd_old:1; 258 uint64_t prc_off:1; 259 uint64_t pwq0:1; 260 uint64_t pwq1:1; 261 uint64_t pbm_word:1; 262 uint64_t pbm0:1; 263 uint64_t pbm1:1; 264 uint64_t pbm2:1; 265 uint64_t pbm3:1; 266 uint64_t ipq_pbe0:1; 267 uint64_t ipq_pbe1:1; 268 uint64_t pwq_pow:1; 269 uint64_t pwq_wp1:1; 270 uint64_t pwq_wqed:1; 271 uint64_t csr_ncmd:1; 272 uint64_t csr_mem:1; 273 uint64_t reserved_18_63:46; 274#endif 275 } cn52xx; 276}; 277 278union cvmx_ipd_bp_prt_red_end { 279 uint64_t u64; 280 struct cvmx_ipd_bp_prt_red_end_s { 281#ifdef __BIG_ENDIAN_BITFIELD 282 uint64_t reserved_48_63:16; 283 uint64_t prt_enb:48; 284#else 285 uint64_t prt_enb:48; 286 uint64_t reserved_48_63:16; 287#endif 288 } s; 289 struct cvmx_ipd_bp_prt_red_end_cn30xx { 290#ifdef __BIG_ENDIAN_BITFIELD 291 uint64_t reserved_36_63:28; 292 uint64_t prt_enb:36; 293#else 294 uint64_t prt_enb:36; 295 uint64_t reserved_36_63:28; 296#endif 297 } cn30xx; 298 struct cvmx_ipd_bp_prt_red_end_cn52xx { 299#ifdef __BIG_ENDIAN_BITFIELD 300 uint64_t reserved_40_63:24; 301 uint64_t prt_enb:40; 302#else 303 uint64_t prt_enb:40; 304 uint64_t reserved_40_63:24; 305#endif 306 } cn52xx; 307 struct cvmx_ipd_bp_prt_red_end_cn63xx { 308#ifdef __BIG_ENDIAN_BITFIELD 309 uint64_t reserved_44_63:20; 310 uint64_t prt_enb:44; 311#else 312 uint64_t prt_enb:44; 313 uint64_t reserved_44_63:20; 314#endif 315 } cn63xx; 316}; 317 318union cvmx_ipd_bpidx_mbuf_th { 319 uint64_t u64; 320 struct cvmx_ipd_bpidx_mbuf_th_s { 321#ifdef __BIG_ENDIAN_BITFIELD 322 uint64_t reserved_18_63:46; 323 uint64_t bp_enb:1; 324 uint64_t page_cnt:17; 325#else 326 uint64_t page_cnt:17; 327 uint64_t bp_enb:1; 328 uint64_t reserved_18_63:46; 329#endif 330 } s; 331}; 332 333union cvmx_ipd_bpid_bp_counterx { 334 uint64_t u64; 335 struct cvmx_ipd_bpid_bp_counterx_s { 336#ifdef __BIG_ENDIAN_BITFIELD 337 uint64_t reserved_25_63:39; 338 uint64_t cnt_val:25; 339#else 340 uint64_t cnt_val:25; 341 uint64_t reserved_25_63:39; 342#endif 343 } s; 344}; 345 346union cvmx_ipd_clk_count { 347 uint64_t u64; 348 struct cvmx_ipd_clk_count_s { 349#ifdef __BIG_ENDIAN_BITFIELD 350 uint64_t clk_cnt:64; 351#else 352 uint64_t clk_cnt:64; 353#endif 354 } s; 355}; 356 357union cvmx_ipd_credits { 358 uint64_t u64; 359 struct cvmx_ipd_credits_s { 360#ifdef __BIG_ENDIAN_BITFIELD 361 uint64_t reserved_16_63:48; 362 uint64_t iob_wrc:8; 363 uint64_t iob_wr:8; 364#else 365 uint64_t iob_wr:8; 366 uint64_t iob_wrc:8; 367 uint64_t reserved_16_63:48; 368#endif 369 } s; 370}; 371 372union cvmx_ipd_ctl_status { 373 uint64_t u64; 374 struct cvmx_ipd_ctl_status_s { 375#ifdef __BIG_ENDIAN_BITFIELD 376 uint64_t reserved_18_63:46; 377 uint64_t use_sop:1; 378 uint64_t rst_done:1; 379 uint64_t clken:1; 380 uint64_t no_wptr:1; 381 uint64_t pq_apkt:1; 382 uint64_t pq_nabuf:1; 383 uint64_t ipd_full:1; 384 uint64_t pkt_off:1; 385 uint64_t len_m8:1; 386 uint64_t reset:1; 387 uint64_t addpkt:1; 388 uint64_t naddbuf:1; 389 uint64_t pkt_lend:1; 390 uint64_t wqe_lend:1; 391 uint64_t pbp_en:1; 392 uint64_t opc_mode:2; 393 uint64_t ipd_en:1; 394#else 395 uint64_t ipd_en:1; 396 uint64_t opc_mode:2; 397 uint64_t pbp_en:1; 398 uint64_t wqe_lend:1; 399 uint64_t pkt_lend:1; 400 uint64_t naddbuf:1; 401 uint64_t addpkt:1; 402 uint64_t reset:1; 403 uint64_t len_m8:1; 404 uint64_t pkt_off:1; 405 uint64_t ipd_full:1; 406 uint64_t pq_nabuf:1; 407 uint64_t pq_apkt:1; 408 uint64_t no_wptr:1; 409 uint64_t clken:1; 410 uint64_t rst_done:1; 411 uint64_t use_sop:1; 412 uint64_t reserved_18_63:46; 413#endif 414 } s; 415 struct cvmx_ipd_ctl_status_cn30xx { 416#ifdef __BIG_ENDIAN_BITFIELD 417 uint64_t reserved_10_63:54; 418 uint64_t len_m8:1; 419 uint64_t reset:1; 420 uint64_t addpkt:1; 421 uint64_t naddbuf:1; 422 uint64_t pkt_lend:1; 423 uint64_t wqe_lend:1; 424 uint64_t pbp_en:1; 425 uint64_t opc_mode:2; 426 uint64_t ipd_en:1; 427#else 428 uint64_t ipd_en:1; 429 uint64_t opc_mode:2; 430 uint64_t pbp_en:1; 431 uint64_t wqe_lend:1; 432 uint64_t pkt_lend:1; 433 uint64_t naddbuf:1; 434 uint64_t addpkt:1; 435 uint64_t reset:1; 436 uint64_t len_m8:1; 437 uint64_t reserved_10_63:54; 438#endif 439 } cn30xx; 440 struct cvmx_ipd_ctl_status_cn38xxp2 { 441#ifdef __BIG_ENDIAN_BITFIELD 442 uint64_t reserved_9_63:55; 443 uint64_t reset:1; 444 uint64_t addpkt:1; 445 uint64_t naddbuf:1; 446 uint64_t pkt_lend:1; 447 uint64_t wqe_lend:1; 448 uint64_t pbp_en:1; 449 uint64_t opc_mode:2; 450 uint64_t ipd_en:1; 451#else 452 uint64_t ipd_en:1; 453 uint64_t opc_mode:2; 454 uint64_t pbp_en:1; 455 uint64_t wqe_lend:1; 456 uint64_t pkt_lend:1; 457 uint64_t naddbuf:1; 458 uint64_t addpkt:1; 459 uint64_t reset:1; 460 uint64_t reserved_9_63:55; 461#endif 462 } cn38xxp2; 463 struct cvmx_ipd_ctl_status_cn50xx { 464#ifdef __BIG_ENDIAN_BITFIELD 465 uint64_t reserved_15_63:49; 466 uint64_t no_wptr:1; 467 uint64_t pq_apkt:1; 468 uint64_t pq_nabuf:1; 469 uint64_t ipd_full:1; 470 uint64_t pkt_off:1; 471 uint64_t len_m8:1; 472 uint64_t reset:1; 473 uint64_t addpkt:1; 474 uint64_t naddbuf:1; 475 uint64_t pkt_lend:1; 476 uint64_t wqe_lend:1; 477 uint64_t pbp_en:1; 478 uint64_t opc_mode:2; 479 uint64_t ipd_en:1; 480#else 481 uint64_t ipd_en:1; 482 uint64_t opc_mode:2; 483 uint64_t pbp_en:1; 484 uint64_t wqe_lend:1; 485 uint64_t pkt_lend:1; 486 uint64_t naddbuf:1; 487 uint64_t addpkt:1; 488 uint64_t reset:1; 489 uint64_t len_m8:1; 490 uint64_t pkt_off:1; 491 uint64_t ipd_full:1; 492 uint64_t pq_nabuf:1; 493 uint64_t pq_apkt:1; 494 uint64_t no_wptr:1; 495 uint64_t reserved_15_63:49; 496#endif 497 } cn50xx; 498 struct cvmx_ipd_ctl_status_cn58xx { 499#ifdef __BIG_ENDIAN_BITFIELD 500 uint64_t reserved_12_63:52; 501 uint64_t ipd_full:1; 502 uint64_t pkt_off:1; 503 uint64_t len_m8:1; 504 uint64_t reset:1; 505 uint64_t addpkt:1; 506 uint64_t naddbuf:1; 507 uint64_t pkt_lend:1; 508 uint64_t wqe_lend:1; 509 uint64_t pbp_en:1; 510 uint64_t opc_mode:2; 511 uint64_t ipd_en:1; 512#else 513 uint64_t ipd_en:1; 514 uint64_t opc_mode:2; 515 uint64_t pbp_en:1; 516 uint64_t wqe_lend:1; 517 uint64_t pkt_lend:1; 518 uint64_t naddbuf:1; 519 uint64_t addpkt:1; 520 uint64_t reset:1; 521 uint64_t len_m8:1; 522 uint64_t pkt_off:1; 523 uint64_t ipd_full:1; 524 uint64_t reserved_12_63:52; 525#endif 526 } cn58xx; 527 struct cvmx_ipd_ctl_status_cn63xxp1 { 528#ifdef __BIG_ENDIAN_BITFIELD 529 uint64_t reserved_16_63:48; 530 uint64_t clken:1; 531 uint64_t no_wptr:1; 532 uint64_t pq_apkt:1; 533 uint64_t pq_nabuf:1; 534 uint64_t ipd_full:1; 535 uint64_t pkt_off:1; 536 uint64_t len_m8:1; 537 uint64_t reset:1; 538 uint64_t addpkt:1; 539 uint64_t naddbuf:1; 540 uint64_t pkt_lend:1; 541 uint64_t wqe_lend:1; 542 uint64_t pbp_en:1; 543 uint64_t opc_mode:2; 544 uint64_t ipd_en:1; 545#else 546 uint64_t ipd_en:1; 547 uint64_t opc_mode:2; 548 uint64_t pbp_en:1; 549 uint64_t wqe_lend:1; 550 uint64_t pkt_lend:1; 551 uint64_t naddbuf:1; 552 uint64_t addpkt:1; 553 uint64_t reset:1; 554 uint64_t len_m8:1; 555 uint64_t pkt_off:1; 556 uint64_t ipd_full:1; 557 uint64_t pq_nabuf:1; 558 uint64_t pq_apkt:1; 559 uint64_t no_wptr:1; 560 uint64_t clken:1; 561 uint64_t reserved_16_63:48; 562#endif 563 } cn63xxp1; 564}; 565 566union cvmx_ipd_ecc_ctl { 567 uint64_t u64; 568 struct cvmx_ipd_ecc_ctl_s { 569#ifdef __BIG_ENDIAN_BITFIELD 570 uint64_t reserved_8_63:56; 571 uint64_t pm3_syn:2; 572 uint64_t pm2_syn:2; 573 uint64_t pm1_syn:2; 574 uint64_t pm0_syn:2; 575#else 576 uint64_t pm0_syn:2; 577 uint64_t pm1_syn:2; 578 uint64_t pm2_syn:2; 579 uint64_t pm3_syn:2; 580 uint64_t reserved_8_63:56; 581#endif 582 } s; 583}; 584 585union cvmx_ipd_free_ptr_fifo_ctl { 586 uint64_t u64; 587 struct cvmx_ipd_free_ptr_fifo_ctl_s { 588#ifdef __BIG_ENDIAN_BITFIELD 589 uint64_t reserved_32_63:32; 590 uint64_t max_cnts:7; 591 uint64_t wraddr:8; 592 uint64_t praddr:8; 593 uint64_t cena:1; 594 uint64_t raddr:8; 595#else 596 uint64_t raddr:8; 597 uint64_t cena:1; 598 uint64_t praddr:8; 599 uint64_t wraddr:8; 600 uint64_t max_cnts:7; 601 uint64_t reserved_32_63:32; 602#endif 603 } s; 604}; 605 606union cvmx_ipd_free_ptr_value { 607 uint64_t u64; 608 struct cvmx_ipd_free_ptr_value_s { 609#ifdef __BIG_ENDIAN_BITFIELD 610 uint64_t reserved_33_63:31; 611 uint64_t ptr:33; 612#else 613 uint64_t ptr:33; 614 uint64_t reserved_33_63:31; 615#endif 616 } s; 617}; 618 619union cvmx_ipd_hold_ptr_fifo_ctl { 620 uint64_t u64; 621 struct cvmx_ipd_hold_ptr_fifo_ctl_s { 622#ifdef __BIG_ENDIAN_BITFIELD 623 uint64_t reserved_43_63:21; 624 uint64_t ptr:33; 625 uint64_t max_pkt:3; 626 uint64_t praddr:3; 627 uint64_t cena:1; 628 uint64_t raddr:3; 629#else 630 uint64_t raddr:3; 631 uint64_t cena:1; 632 uint64_t praddr:3; 633 uint64_t max_pkt:3; 634 uint64_t ptr:33; 635 uint64_t reserved_43_63:21; 636#endif 637 } s; 638}; 639 640union cvmx_ipd_int_enb { 641 uint64_t u64; 642 struct cvmx_ipd_int_enb_s { 643#ifdef __BIG_ENDIAN_BITFIELD 644 uint64_t reserved_23_63:41; 645 uint64_t pw3_dbe:1; 646 uint64_t pw3_sbe:1; 647 uint64_t pw2_dbe:1; 648 uint64_t pw2_sbe:1; 649 uint64_t pw1_dbe:1; 650 uint64_t pw1_sbe:1; 651 uint64_t pw0_dbe:1; 652 uint64_t pw0_sbe:1; 653 uint64_t dat:1; 654 uint64_t eop:1; 655 uint64_t sop:1; 656 uint64_t pq_sub:1; 657 uint64_t pq_add:1; 658 uint64_t bc_ovr:1; 659 uint64_t d_coll:1; 660 uint64_t c_coll:1; 661 uint64_t cc_ovr:1; 662 uint64_t dc_ovr:1; 663 uint64_t bp_sub:1; 664 uint64_t prc_par3:1; 665 uint64_t prc_par2:1; 666 uint64_t prc_par1:1; 667 uint64_t prc_par0:1; 668#else 669 uint64_t prc_par0:1; 670 uint64_t prc_par1:1; 671 uint64_t prc_par2:1; 672 uint64_t prc_par3:1; 673 uint64_t bp_sub:1; 674 uint64_t dc_ovr:1; 675 uint64_t cc_ovr:1; 676 uint64_t c_coll:1; 677 uint64_t d_coll:1; 678 uint64_t bc_ovr:1; 679 uint64_t pq_add:1; 680 uint64_t pq_sub:1; 681 uint64_t sop:1; 682 uint64_t eop:1; 683 uint64_t dat:1; 684 uint64_t pw0_sbe:1; 685 uint64_t pw0_dbe:1; 686 uint64_t pw1_sbe:1; 687 uint64_t pw1_dbe:1; 688 uint64_t pw2_sbe:1; 689 uint64_t pw2_dbe:1; 690 uint64_t pw3_sbe:1; 691 uint64_t pw3_dbe:1; 692 uint64_t reserved_23_63:41; 693#endif 694 } s; 695 struct cvmx_ipd_int_enb_cn30xx { 696#ifdef __BIG_ENDIAN_BITFIELD 697 uint64_t reserved_5_63:59; 698 uint64_t bp_sub:1; 699 uint64_t prc_par3:1; 700 uint64_t prc_par2:1; 701 uint64_t prc_par1:1; 702 uint64_t prc_par0:1; 703#else 704 uint64_t prc_par0:1; 705 uint64_t prc_par1:1; 706 uint64_t prc_par2:1; 707 uint64_t prc_par3:1; 708 uint64_t bp_sub:1; 709 uint64_t reserved_5_63:59; 710#endif 711 } cn30xx; 712 struct cvmx_ipd_int_enb_cn38xx { 713#ifdef __BIG_ENDIAN_BITFIELD 714 uint64_t reserved_10_63:54; 715 uint64_t bc_ovr:1; 716 uint64_t d_coll:1; 717 uint64_t c_coll:1; 718 uint64_t cc_ovr:1; 719 uint64_t dc_ovr:1; 720 uint64_t bp_sub:1; 721 uint64_t prc_par3:1; 722 uint64_t prc_par2:1; 723 uint64_t prc_par1:1; 724 uint64_t prc_par0:1; 725#else 726 uint64_t prc_par0:1; 727 uint64_t prc_par1:1; 728 uint64_t prc_par2:1; 729 uint64_t prc_par3:1; 730 uint64_t bp_sub:1; 731 uint64_t dc_ovr:1; 732 uint64_t cc_ovr:1; 733 uint64_t c_coll:1; 734 uint64_t d_coll:1; 735 uint64_t bc_ovr:1; 736 uint64_t reserved_10_63:54; 737#endif 738 } cn38xx; 739 struct cvmx_ipd_int_enb_cn52xx { 740#ifdef __BIG_ENDIAN_BITFIELD 741 uint64_t reserved_12_63:52; 742 uint64_t pq_sub:1; 743 uint64_t pq_add:1; 744 uint64_t bc_ovr:1; 745 uint64_t d_coll:1; 746 uint64_t c_coll:1; 747 uint64_t cc_ovr:1; 748 uint64_t dc_ovr:1; 749 uint64_t bp_sub:1; 750 uint64_t prc_par3:1; 751 uint64_t prc_par2:1; 752 uint64_t prc_par1:1; 753 uint64_t prc_par0:1; 754#else 755 uint64_t prc_par0:1; 756 uint64_t prc_par1:1; 757 uint64_t prc_par2:1; 758 uint64_t prc_par3:1; 759 uint64_t bp_sub:1; 760 uint64_t dc_ovr:1; 761 uint64_t cc_ovr:1; 762 uint64_t c_coll:1; 763 uint64_t d_coll:1; 764 uint64_t bc_ovr:1; 765 uint64_t pq_add:1; 766 uint64_t pq_sub:1; 767 uint64_t reserved_12_63:52; 768#endif 769 } cn52xx; 770}; 771 772union cvmx_ipd_int_sum { 773 uint64_t u64; 774 struct cvmx_ipd_int_sum_s { 775#ifdef __BIG_ENDIAN_BITFIELD 776 uint64_t reserved_23_63:41; 777 uint64_t pw3_dbe:1; 778 uint64_t pw3_sbe:1; 779 uint64_t pw2_dbe:1; 780 uint64_t pw2_sbe:1; 781 uint64_t pw1_dbe:1; 782 uint64_t pw1_sbe:1; 783 uint64_t pw0_dbe:1; 784 uint64_t pw0_sbe:1; 785 uint64_t dat:1; 786 uint64_t eop:1; 787 uint64_t sop:1; 788 uint64_t pq_sub:1; 789 uint64_t pq_add:1; 790 uint64_t bc_ovr:1; 791 uint64_t d_coll:1; 792 uint64_t c_coll:1; 793 uint64_t cc_ovr:1; 794 uint64_t dc_ovr:1; 795 uint64_t bp_sub:1; 796 uint64_t prc_par3:1; 797 uint64_t prc_par2:1; 798 uint64_t prc_par1:1; 799 uint64_t prc_par0:1; 800#else 801 uint64_t prc_par0:1; 802 uint64_t prc_par1:1; 803 uint64_t prc_par2:1; 804 uint64_t prc_par3:1; 805 uint64_t bp_sub:1; 806 uint64_t dc_ovr:1; 807 uint64_t cc_ovr:1; 808 uint64_t c_coll:1; 809 uint64_t d_coll:1; 810 uint64_t bc_ovr:1; 811 uint64_t pq_add:1; 812 uint64_t pq_sub:1; 813 uint64_t sop:1; 814 uint64_t eop:1; 815 uint64_t dat:1; 816 uint64_t pw0_sbe:1; 817 uint64_t pw0_dbe:1; 818 uint64_t pw1_sbe:1; 819 uint64_t pw1_dbe:1; 820 uint64_t pw2_sbe:1; 821 uint64_t pw2_dbe:1; 822 uint64_t pw3_sbe:1; 823 uint64_t pw3_dbe:1; 824 uint64_t reserved_23_63:41; 825#endif 826 } s; 827 struct cvmx_ipd_int_sum_cn30xx { 828#ifdef __BIG_ENDIAN_BITFIELD 829 uint64_t reserved_5_63:59; 830 uint64_t bp_sub:1; 831 uint64_t prc_par3:1; 832 uint64_t prc_par2:1; 833 uint64_t prc_par1:1; 834 uint64_t prc_par0:1; 835#else 836 uint64_t prc_par0:1; 837 uint64_t prc_par1:1; 838 uint64_t prc_par2:1; 839 uint64_t prc_par3:1; 840 uint64_t bp_sub:1; 841 uint64_t reserved_5_63:59; 842#endif 843 } cn30xx; 844 struct cvmx_ipd_int_sum_cn38xx { 845#ifdef __BIG_ENDIAN_BITFIELD 846 uint64_t reserved_10_63:54; 847 uint64_t bc_ovr:1; 848 uint64_t d_coll:1; 849 uint64_t c_coll:1; 850 uint64_t cc_ovr:1; 851 uint64_t dc_ovr:1; 852 uint64_t bp_sub:1; 853 uint64_t prc_par3:1; 854 uint64_t prc_par2:1; 855 uint64_t prc_par1:1; 856 uint64_t prc_par0:1; 857#else 858 uint64_t prc_par0:1; 859 uint64_t prc_par1:1; 860 uint64_t prc_par2:1; 861 uint64_t prc_par3:1; 862 uint64_t bp_sub:1; 863 uint64_t dc_ovr:1; 864 uint64_t cc_ovr:1; 865 uint64_t c_coll:1; 866 uint64_t d_coll:1; 867 uint64_t bc_ovr:1; 868 uint64_t reserved_10_63:54; 869#endif 870 } cn38xx; 871 struct cvmx_ipd_int_sum_cn52xx { 872#ifdef __BIG_ENDIAN_BITFIELD 873 uint64_t reserved_12_63:52; 874 uint64_t pq_sub:1; 875 uint64_t pq_add:1; 876 uint64_t bc_ovr:1; 877 uint64_t d_coll:1; 878 uint64_t c_coll:1; 879 uint64_t cc_ovr:1; 880 uint64_t dc_ovr:1; 881 uint64_t bp_sub:1; 882 uint64_t prc_par3:1; 883 uint64_t prc_par2:1; 884 uint64_t prc_par1:1; 885 uint64_t prc_par0:1; 886#else 887 uint64_t prc_par0:1; 888 uint64_t prc_par1:1; 889 uint64_t prc_par2:1; 890 uint64_t prc_par3:1; 891 uint64_t bp_sub:1; 892 uint64_t dc_ovr:1; 893 uint64_t cc_ovr:1; 894 uint64_t c_coll:1; 895 uint64_t d_coll:1; 896 uint64_t bc_ovr:1; 897 uint64_t pq_add:1; 898 uint64_t pq_sub:1; 899 uint64_t reserved_12_63:52; 900#endif 901 } cn52xx; 902}; 903 904union cvmx_ipd_next_pkt_ptr { 905 uint64_t u64; 906 struct cvmx_ipd_next_pkt_ptr_s { 907#ifdef __BIG_ENDIAN_BITFIELD 908 uint64_t reserved_33_63:31; 909 uint64_t ptr:33; 910#else 911 uint64_t ptr:33; 912 uint64_t reserved_33_63:31; 913#endif 914 } s; 915}; 916 917union cvmx_ipd_next_wqe_ptr { 918 uint64_t u64; 919 struct cvmx_ipd_next_wqe_ptr_s { 920#ifdef __BIG_ENDIAN_BITFIELD 921 uint64_t reserved_33_63:31; 922 uint64_t ptr:33; 923#else 924 uint64_t ptr:33; 925 uint64_t reserved_33_63:31; 926#endif 927 } s; 928}; 929 930union cvmx_ipd_not_1st_mbuff_skip { 931 uint64_t u64; 932 struct cvmx_ipd_not_1st_mbuff_skip_s { 933#ifdef __BIG_ENDIAN_BITFIELD 934 uint64_t reserved_6_63:58; 935 uint64_t skip_sz:6; 936#else 937 uint64_t skip_sz:6; 938 uint64_t reserved_6_63:58; 939#endif 940 } s; 941}; 942 943union cvmx_ipd_on_bp_drop_pktx { 944 uint64_t u64; 945 struct cvmx_ipd_on_bp_drop_pktx_s { 946#ifdef __BIG_ENDIAN_BITFIELD 947 uint64_t prt_enb:64; 948#else 949 uint64_t prt_enb:64; 950#endif 951 } s; 952}; 953 954union cvmx_ipd_packet_mbuff_size { 955 uint64_t u64; 956 struct cvmx_ipd_packet_mbuff_size_s { 957#ifdef __BIG_ENDIAN_BITFIELD 958 uint64_t reserved_12_63:52; 959 uint64_t mb_size:12; 960#else 961 uint64_t mb_size:12; 962 uint64_t reserved_12_63:52; 963#endif 964 } s; 965}; 966 967union cvmx_ipd_pkt_err { 968 uint64_t u64; 969 struct cvmx_ipd_pkt_err_s { 970#ifdef __BIG_ENDIAN_BITFIELD 971 uint64_t reserved_6_63:58; 972 uint64_t reasm:6; 973#else 974 uint64_t reasm:6; 975 uint64_t reserved_6_63:58; 976#endif 977 } s; 978}; 979 980union cvmx_ipd_pkt_ptr_valid { 981 uint64_t u64; 982 struct cvmx_ipd_pkt_ptr_valid_s { 983#ifdef __BIG_ENDIAN_BITFIELD 984 uint64_t reserved_29_63:35; 985 uint64_t ptr:29; 986#else 987 uint64_t ptr:29; 988 uint64_t reserved_29_63:35; 989#endif 990 } s; 991}; 992 993union cvmx_ipd_portx_bp_page_cnt { 994 uint64_t u64; 995 struct cvmx_ipd_portx_bp_page_cnt_s { 996#ifdef __BIG_ENDIAN_BITFIELD 997 uint64_t reserved_18_63:46; 998 uint64_t bp_enb:1; 999 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 1008union 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 1023union 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 1038union 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 1051union 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 1064union 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 1077union 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 1090union 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 1109union 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 1122union 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 1133union 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 1144union 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 1155union 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 1176union 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 1195union 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 1216union 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 1239union 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 1252union 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 1265union 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 1276union 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 1291union 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 1306union 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 1337union 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 1356union 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 1381union 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 1396union 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 1431union 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 1446union 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 1459union 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 1473