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_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 89 union cvmx_pko_mem_count0 { 90 uint64_t u64; 91 struct cvmx_pko_mem_count0_s { 92 #ifdef __BIG_ENDIAN_BITFIELD 93 uint64_t reserved_32_63:32; 94 uint64_t count:32; 95 #else 96 uint64_t count:32; 97 uint64_t reserved_32_63:32; 98 #endif 99 } s; 100 struct cvmx_pko_mem_count0_s cn30xx; 101 struct cvmx_pko_mem_count0_s cn31xx; 102 struct cvmx_pko_mem_count0_s cn38xx; 103 struct cvmx_pko_mem_count0_s cn38xxp2; 104 struct cvmx_pko_mem_count0_s cn50xx; 105 struct cvmx_pko_mem_count0_s cn52xx; 106 struct cvmx_pko_mem_count0_s cn52xxp1; 107 struct cvmx_pko_mem_count0_s cn56xx; 108 struct cvmx_pko_mem_count0_s cn56xxp1; 109 struct cvmx_pko_mem_count0_s cn58xx; 110 struct cvmx_pko_mem_count0_s cn58xxp1; 111 struct cvmx_pko_mem_count0_s cn61xx; 112 struct cvmx_pko_mem_count0_s cn63xx; 113 struct cvmx_pko_mem_count0_s cn63xxp1; 114 struct cvmx_pko_mem_count0_s cn66xx; 115 struct cvmx_pko_mem_count0_s cn68xx; 116 struct cvmx_pko_mem_count0_s cn68xxp1; 117 struct cvmx_pko_mem_count0_s cnf71xx; 118 }; 119 120 union cvmx_pko_mem_count1 { 121 uint64_t u64; 122 struct cvmx_pko_mem_count1_s { 123 #ifdef __BIG_ENDIAN_BITFIELD 124 uint64_t reserved_48_63:16; 125 uint64_t count:48; 126 #else 127 uint64_t count:48; 128 uint64_t reserved_48_63:16; 129 #endif 130 } s; 131 struct cvmx_pko_mem_count1_s cn30xx; 132 struct cvmx_pko_mem_count1_s cn31xx; 133 struct cvmx_pko_mem_count1_s cn38xx; 134 struct cvmx_pko_mem_count1_s cn38xxp2; 135 struct cvmx_pko_mem_count1_s cn50xx; 136 struct cvmx_pko_mem_count1_s cn52xx; 137 struct cvmx_pko_mem_count1_s cn52xxp1; 138 struct cvmx_pko_mem_count1_s cn56xx; 139 struct cvmx_pko_mem_count1_s cn56xxp1; 140 struct cvmx_pko_mem_count1_s cn58xx; 141 struct cvmx_pko_mem_count1_s cn58xxp1; 142 struct cvmx_pko_mem_count1_s cn61xx; 143 struct cvmx_pko_mem_count1_s cn63xx; 144 struct cvmx_pko_mem_count1_s cn63xxp1; 145 struct cvmx_pko_mem_count1_s cn66xx; 146 struct cvmx_pko_mem_count1_s cn68xx; 147 struct cvmx_pko_mem_count1_s cn68xxp1; 148 struct cvmx_pko_mem_count1_s cnf71xx; 149 }; 150 151 union cvmx_pko_mem_debug0 { 152 uint64_t u64; 153 struct cvmx_pko_mem_debug0_s { 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 160 uint64_t size:16; 161 uint64_t segs:6; 162 uint64_t cmd:14; 163 uint64_t fau:28; 164 #endif 165 } s; 166 struct cvmx_pko_mem_debug0_s cn30xx; 167 struct cvmx_pko_mem_debug0_s cn31xx; 168 struct cvmx_pko_mem_debug0_s cn38xx; 169 struct cvmx_pko_mem_debug0_s cn38xxp2; 170 struct cvmx_pko_mem_debug0_s cn50xx; 171 struct cvmx_pko_mem_debug0_s cn52xx; 172 struct cvmx_pko_mem_debug0_s cn52xxp1; 173 struct cvmx_pko_mem_debug0_s cn56xx; 174 struct cvmx_pko_mem_debug0_s cn56xxp1; 175 struct cvmx_pko_mem_debug0_s cn58xx; 176 struct cvmx_pko_mem_debug0_s cn58xxp1; 177 struct cvmx_pko_mem_debug0_s cn61xx; 178 struct cvmx_pko_mem_debug0_s cn63xx; 179 struct cvmx_pko_mem_debug0_s cn63xxp1; 180 struct cvmx_pko_mem_debug0_s cn66xx; 181 struct cvmx_pko_mem_debug0_s cn68xx; 182 struct cvmx_pko_mem_debug0_s cn68xxp1; 183 struct cvmx_pko_mem_debug0_s cnf71xx; 184 }; 185 186 union cvmx_pko_mem_debug1 { 187 uint64_t u64; 188 struct cvmx_pko_mem_debug1_s { 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 196 uint64_t ptr:40; 197 uint64_t size:16; 198 uint64_t pool:3; 199 uint64_t back:4; 200 uint64_t i:1; 201 #endif 202 } s; 203 struct cvmx_pko_mem_debug1_s cn30xx; 204 struct cvmx_pko_mem_debug1_s cn31xx; 205 struct cvmx_pko_mem_debug1_s cn38xx; 206 struct cvmx_pko_mem_debug1_s cn38xxp2; 207 struct cvmx_pko_mem_debug1_s cn50xx; 208 struct cvmx_pko_mem_debug1_s cn52xx; 209 struct cvmx_pko_mem_debug1_s cn52xxp1; 210 struct cvmx_pko_mem_debug1_s cn56xx; 211 struct cvmx_pko_mem_debug1_s cn56xxp1; 212 struct cvmx_pko_mem_debug1_s cn58xx; 213 struct cvmx_pko_mem_debug1_s cn58xxp1; 214 struct cvmx_pko_mem_debug1_s cn61xx; 215 struct cvmx_pko_mem_debug1_s cn63xx; 216 struct cvmx_pko_mem_debug1_s cn63xxp1; 217 struct cvmx_pko_mem_debug1_s cn66xx; 218 struct cvmx_pko_mem_debug1_s cn68xx; 219 struct cvmx_pko_mem_debug1_s cn68xxp1; 220 struct cvmx_pko_mem_debug1_s cnf71xx; 221 }; 222 223 union cvmx_pko_mem_debug10 { 224 uint64_t u64; 225 struct cvmx_pko_mem_debug10_s { 226 #ifdef __BIG_ENDIAN_BITFIELD 227 uint64_t reserved_0_63:64; 228 #else 229 uint64_t reserved_0_63:64; 230 #endif 231 } s; 232 struct cvmx_pko_mem_debug10_cn30xx { 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 239 uint64_t size:16; 240 uint64_t segs:6; 241 uint64_t cmd:14; 242 uint64_t fau:28; 243 #endif 244 } cn30xx; 245 struct cvmx_pko_mem_debug10_cn30xx cn31xx; 246 struct cvmx_pko_mem_debug10_cn30xx cn38xx; 247 struct cvmx_pko_mem_debug10_cn30xx cn38xxp2; 248 struct cvmx_pko_mem_debug10_cn50xx { 249 #ifdef __BIG_ENDIAN_BITFIELD 250 uint64_t reserved_49_63:15; 251 uint64_t ptrs1:17; 252 uint64_t reserved_17_31:15; 253 uint64_t ptrs2:17; 254 #else 255 uint64_t ptrs2:17; 256 uint64_t reserved_17_31:15; 257 uint64_t ptrs1:17; 258 uint64_t reserved_49_63:15; 259 #endif 260 } cn50xx; 261 struct cvmx_pko_mem_debug10_cn50xx cn52xx; 262 struct cvmx_pko_mem_debug10_cn50xx cn52xxp1; 263 struct cvmx_pko_mem_debug10_cn50xx cn56xx; 264 struct cvmx_pko_mem_debug10_cn50xx cn56xxp1; 265 struct cvmx_pko_mem_debug10_cn50xx cn58xx; 266 struct cvmx_pko_mem_debug10_cn50xx cn58xxp1; 267 struct cvmx_pko_mem_debug10_cn50xx cn61xx; 268 struct cvmx_pko_mem_debug10_cn50xx cn63xx; 269 struct cvmx_pko_mem_debug10_cn50xx cn63xxp1; 270 struct cvmx_pko_mem_debug10_cn50xx cn66xx; 271 struct cvmx_pko_mem_debug10_cn50xx cn68xx; 272 struct cvmx_pko_mem_debug10_cn50xx cn68xxp1; 273 struct cvmx_pko_mem_debug10_cn50xx cnf71xx; 274 }; 275 276 union cvmx_pko_mem_debug11 { 277 uint64_t u64; 278 struct cvmx_pko_mem_debug11_s { 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; 284 uint64_t reserved_0_39:40; 285 #else 286 uint64_t reserved_0_39:40; 287 uint64_t size:16; 288 uint64_t pool:3; 289 uint64_t back:4; 290 uint64_t i:1; 291 #endif 292 } s; 293 struct cvmx_pko_mem_debug11_cn30xx { 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 301 uint64_t ptr:40; 302 uint64_t size:16; 303 uint64_t pool:3; 304 uint64_t back:4; 305 uint64_t i:1; 306 #endif 307 } cn30xx; 308 struct cvmx_pko_mem_debug11_cn30xx cn31xx; 309 struct cvmx_pko_mem_debug11_cn30xx cn38xx; 310 struct cvmx_pko_mem_debug11_cn30xx cn38xxp2; 311 struct cvmx_pko_mem_debug11_cn50xx { 312 #ifdef __BIG_ENDIAN_BITFIELD 313 uint64_t reserved_23_63:41; 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 322 uint64_t mod:3; 323 uint64_t cnt:13; 324 uint64_t chk:1; 325 uint64_t len:1; 326 uint64_t sop:1; 327 uint64_t uid:3; 328 uint64_t maj:1; 329 uint64_t reserved_23_63:41; 330 #endif 331 } cn50xx; 332 struct cvmx_pko_mem_debug11_cn50xx cn52xx; 333 struct cvmx_pko_mem_debug11_cn50xx cn52xxp1; 334 struct cvmx_pko_mem_debug11_cn50xx cn56xx; 335 struct cvmx_pko_mem_debug11_cn50xx cn56xxp1; 336 struct cvmx_pko_mem_debug11_cn50xx cn58xx; 337 struct cvmx_pko_mem_debug11_cn50xx cn58xxp1; 338 struct cvmx_pko_mem_debug11_cn50xx cn61xx; 339 struct cvmx_pko_mem_debug11_cn50xx cn63xx; 340 struct cvmx_pko_mem_debug11_cn50xx cn63xxp1; 341 struct cvmx_pko_mem_debug11_cn50xx cn66xx; 342 struct cvmx_pko_mem_debug11_cn50xx cn68xx; 343 struct cvmx_pko_mem_debug11_cn50xx cn68xxp1; 344 struct cvmx_pko_mem_debug11_cn50xx cnf71xx; 345 }; 346 347 union cvmx_pko_mem_debug12 { 348 uint64_t u64; 349 struct cvmx_pko_mem_debug12_s { 350 #ifdef __BIG_ENDIAN_BITFIELD 351 uint64_t reserved_0_63:64; 352 #else 353 uint64_t reserved_0_63:64; 354 #endif 355 } s; 356 struct cvmx_pko_mem_debug12_cn30xx { 357 #ifdef __BIG_ENDIAN_BITFIELD 358 uint64_t data:64; 359 #else 360 uint64_t data:64; 361 #endif 362 } cn30xx; 363 struct cvmx_pko_mem_debug12_cn30xx cn31xx; 364 struct cvmx_pko_mem_debug12_cn30xx cn38xx; 365 struct cvmx_pko_mem_debug12_cn30xx cn38xxp2; 366 struct cvmx_pko_mem_debug12_cn50xx { 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 373 uint64_t size:16; 374 uint64_t segs:6; 375 uint64_t cmd:14; 376 uint64_t fau:28; 377 #endif 378 } cn50xx; 379 struct cvmx_pko_mem_debug12_cn50xx cn52xx; 380 struct cvmx_pko_mem_debug12_cn50xx cn52xxp1; 381 struct cvmx_pko_mem_debug12_cn50xx cn56xx; 382 struct cvmx_pko_mem_debug12_cn50xx cn56xxp1; 383 struct cvmx_pko_mem_debug12_cn50xx cn58xx; 384 struct cvmx_pko_mem_debug12_cn50xx cn58xxp1; 385 struct cvmx_pko_mem_debug12_cn50xx cn61xx; 386 struct cvmx_pko_mem_debug12_cn50xx cn63xx; 387 struct cvmx_pko_mem_debug12_cn50xx cn63xxp1; 388 struct cvmx_pko_mem_debug12_cn50xx cn66xx; 389 struct cvmx_pko_mem_debug12_cn68xx { 390 #ifdef __BIG_ENDIAN_BITFIELD 391 uint64_t state:64; 392 #else 393 uint64_t state:64; 394 #endif 395 } cn68xx; 396 struct cvmx_pko_mem_debug12_cn68xx cn68xxp1; 397 struct cvmx_pko_mem_debug12_cn50xx cnf71xx; 398 }; 399 400 union cvmx_pko_mem_debug13 { 401 uint64_t u64; 402 struct cvmx_pko_mem_debug13_s { 403 #ifdef __BIG_ENDIAN_BITFIELD 404 uint64_t reserved_0_63:64; 405 #else 406 uint64_t reserved_0_63:64; 407 #endif 408 } s; 409 struct cvmx_pko_mem_debug13_cn30xx { 410 #ifdef __BIG_ENDIAN_BITFIELD 411 uint64_t reserved_51_63:13; 412 uint64_t widx:17; 413 uint64_t ridx2:17; 414 uint64_t widx2:17; 415 #else 416 uint64_t widx2:17; 417 uint64_t ridx2:17; 418 uint64_t widx:17; 419 uint64_t reserved_51_63:13; 420 #endif 421 } cn30xx; 422 struct cvmx_pko_mem_debug13_cn30xx cn31xx; 423 struct cvmx_pko_mem_debug13_cn30xx cn38xx; 424 struct cvmx_pko_mem_debug13_cn30xx cn38xxp2; 425 struct cvmx_pko_mem_debug13_cn50xx { 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 433 uint64_t ptr:40; 434 uint64_t size:16; 435 uint64_t pool:3; 436 uint64_t back:4; 437 uint64_t i:1; 438 #endif 439 } cn50xx; 440 struct cvmx_pko_mem_debug13_cn50xx cn52xx; 441 struct cvmx_pko_mem_debug13_cn50xx cn52xxp1; 442 struct cvmx_pko_mem_debug13_cn50xx cn56xx; 443 struct cvmx_pko_mem_debug13_cn50xx cn56xxp1; 444 struct cvmx_pko_mem_debug13_cn50xx cn58xx; 445 struct cvmx_pko_mem_debug13_cn50xx cn58xxp1; 446 struct cvmx_pko_mem_debug13_cn50xx cn61xx; 447 struct cvmx_pko_mem_debug13_cn50xx cn63xx; 448 struct cvmx_pko_mem_debug13_cn50xx cn63xxp1; 449 struct cvmx_pko_mem_debug13_cn50xx cn66xx; 450 struct cvmx_pko_mem_debug13_cn68xx { 451 #ifdef __BIG_ENDIAN_BITFIELD 452 uint64_t state:64; 453 #else 454 uint64_t state:64; 455 #endif 456 } cn68xx; 457 struct cvmx_pko_mem_debug13_cn68xx cn68xxp1; 458 struct cvmx_pko_mem_debug13_cn50xx cnf71xx; 459 }; 460 461 union cvmx_pko_mem_debug14 { 462 uint64_t u64; 463 struct cvmx_pko_mem_debug14_s { 464 #ifdef __BIG_ENDIAN_BITFIELD 465 uint64_t reserved_0_63:64; 466 #else 467 uint64_t reserved_0_63:64; 468 #endif 469 } s; 470 struct cvmx_pko_mem_debug14_cn30xx { 471 #ifdef __BIG_ENDIAN_BITFIELD 472 uint64_t reserved_17_63:47; 473 uint64_t ridx:17; 474 #else 475 uint64_t ridx:17; 476 uint64_t reserved_17_63:47; 477 #endif 478 } cn30xx; 479 struct cvmx_pko_mem_debug14_cn30xx cn31xx; 480 struct cvmx_pko_mem_debug14_cn30xx cn38xx; 481 struct cvmx_pko_mem_debug14_cn30xx cn38xxp2; 482 struct cvmx_pko_mem_debug14_cn52xx { 483 #ifdef __BIG_ENDIAN_BITFIELD 484 uint64_t data:64; 485 #else 486 uint64_t data:64; 487 #endif 488 } cn52xx; 489 struct cvmx_pko_mem_debug14_cn52xx cn52xxp1; 490 struct cvmx_pko_mem_debug14_cn52xx cn56xx; 491 struct cvmx_pko_mem_debug14_cn52xx cn56xxp1; 492 struct cvmx_pko_mem_debug14_cn52xx cn61xx; 493 struct cvmx_pko_mem_debug14_cn52xx cn63xx; 494 struct cvmx_pko_mem_debug14_cn52xx cn63xxp1; 495 struct cvmx_pko_mem_debug14_cn52xx cn66xx; 496 struct cvmx_pko_mem_debug14_cn52xx cnf71xx; 497 }; 498 499 union cvmx_pko_mem_debug2 { 500 uint64_t u64; 501 struct cvmx_pko_mem_debug2_s { 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 509 uint64_t ptr:40; 510 uint64_t size:16; 511 uint64_t pool:3; 512 uint64_t back:4; 513 uint64_t i:1; 514 #endif 515 } s; 516 struct cvmx_pko_mem_debug2_s cn30xx; 517 struct cvmx_pko_mem_debug2_s cn31xx; 518 struct cvmx_pko_mem_debug2_s cn38xx; 519 struct cvmx_pko_mem_debug2_s cn38xxp2; 520 struct cvmx_pko_mem_debug2_s cn50xx; 521 struct cvmx_pko_mem_debug2_s cn52xx; 522 struct cvmx_pko_mem_debug2_s cn52xxp1; 523 struct cvmx_pko_mem_debug2_s cn56xx; 524 struct cvmx_pko_mem_debug2_s cn56xxp1; 525 struct cvmx_pko_mem_debug2_s cn58xx; 526 struct cvmx_pko_mem_debug2_s cn58xxp1; 527 struct cvmx_pko_mem_debug2_s cn61xx; 528 struct cvmx_pko_mem_debug2_s cn63xx; 529 struct cvmx_pko_mem_debug2_s cn63xxp1; 530 struct cvmx_pko_mem_debug2_s cn66xx; 531 struct cvmx_pko_mem_debug2_s cn68xx; 532 struct cvmx_pko_mem_debug2_s cn68xxp1; 533 struct cvmx_pko_mem_debug2_s cnf71xx; 534 }; 535 536 union cvmx_pko_mem_debug3 { 537 uint64_t u64; 538 struct cvmx_pko_mem_debug3_s { 539 #ifdef __BIG_ENDIAN_BITFIELD 540 uint64_t reserved_0_63:64; 541 #else 542 uint64_t reserved_0_63:64; 543 #endif 544 } s; 545 struct cvmx_pko_mem_debug3_cn30xx { 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 553 uint64_t ptr:40; 554 uint64_t size:16; 555 uint64_t pool:3; 556 uint64_t back:4; 557 uint64_t i:1; 558 #endif 559 } cn30xx; 560 struct cvmx_pko_mem_debug3_cn30xx cn31xx; 561 struct cvmx_pko_mem_debug3_cn30xx cn38xx; 562 struct cvmx_pko_mem_debug3_cn30xx cn38xxp2; 563 struct cvmx_pko_mem_debug3_cn50xx { 564 #ifdef __BIG_ENDIAN_BITFIELD 565 uint64_t data:64; 566 #else 567 uint64_t data:64; 568 #endif 569 } cn50xx; 570 struct cvmx_pko_mem_debug3_cn50xx cn52xx; 571 struct cvmx_pko_mem_debug3_cn50xx cn52xxp1; 572 struct cvmx_pko_mem_debug3_cn50xx cn56xx; 573 struct cvmx_pko_mem_debug3_cn50xx cn56xxp1; 574 struct cvmx_pko_mem_debug3_cn50xx cn58xx; 575 struct cvmx_pko_mem_debug3_cn50xx cn58xxp1; 576 struct cvmx_pko_mem_debug3_cn50xx cn61xx; 577 struct cvmx_pko_mem_debug3_cn50xx cn63xx; 578 struct cvmx_pko_mem_debug3_cn50xx cn63xxp1; 579 struct cvmx_pko_mem_debug3_cn50xx cn66xx; 580 struct cvmx_pko_mem_debug3_cn50xx cn68xx; 581 struct cvmx_pko_mem_debug3_cn50xx cn68xxp1; 582 struct cvmx_pko_mem_debug3_cn50xx cnf71xx; 583 }; 584 585 union cvmx_pko_mem_debug4 { 586 uint64_t u64; 587 struct cvmx_pko_mem_debug4_s { 588 #ifdef __BIG_ENDIAN_BITFIELD 589 uint64_t reserved_0_63:64; 590 #else 591 uint64_t reserved_0_63:64; 592 #endif 593 } s; 594 struct cvmx_pko_mem_debug4_cn30xx { 595 #ifdef __BIG_ENDIAN_BITFIELD 596 uint64_t data:64; 597 #else 598 uint64_t data:64; 599 #endif 600 } cn30xx; 601 struct cvmx_pko_mem_debug4_cn30xx cn31xx; 602 struct cvmx_pko_mem_debug4_cn30xx cn38xx; 603 struct cvmx_pko_mem_debug4_cn30xx cn38xxp2; 604 struct cvmx_pko_mem_debug4_cn50xx { 605 #ifdef __BIG_ENDIAN_BITFIELD 606 uint64_t cmnd_segs:3; 607 uint64_t cmnd_siz:16; 608 uint64_t cmnd_off:6; 609 uint64_t uid:3; 610 uint64_t dread_sop:1; 611 uint64_t init_dwrite:1; 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; 618 uint64_t qid_off_max:4; 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 625 uint64_t major:3; 626 uint64_t minor:2; 627 uint64_t wait:1; 628 uint64_t qid_base:8; 629 uint64_t qid_off:4; 630 uint64_t qid_off_max:4; 631 uint64_t qcb_ridx:5; 632 uint64_t qos:3; 633 uint64_t static_p:1; 634 uint64_t active:1; 635 uint64_t chk_mode:1; 636 uint64_t chk_once:1; 637 uint64_t init_dwrite:1; 638 uint64_t dread_sop:1; 639 uint64_t uid:3; 640 uint64_t cmnd_off:6; 641 uint64_t cmnd_siz:16; 642 uint64_t cmnd_segs:3; 643 #endif 644 } cn50xx; 645 struct cvmx_pko_mem_debug4_cn52xx { 646 #ifdef __BIG_ENDIAN_BITFIELD 647 uint64_t curr_siz:8; 648 uint64_t curr_off:16; 649 uint64_t cmnd_segs:6; 650 uint64_t cmnd_siz:16; 651 uint64_t cmnd_off:6; 652 uint64_t uid:2; 653 uint64_t dread_sop:1; 654 uint64_t init_dwrite:1; 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 661 uint64_t major:3; 662 uint64_t minor:2; 663 uint64_t wait:1; 664 uint64_t chk_mode:1; 665 uint64_t chk_once:1; 666 uint64_t init_dwrite:1; 667 uint64_t dread_sop:1; 668 uint64_t uid:2; 669 uint64_t cmnd_off:6; 670 uint64_t cmnd_siz:16; 671 uint64_t cmnd_segs:6; 672 uint64_t curr_off:16; 673 uint64_t curr_siz:8; 674 #endif 675 } cn52xx; 676 struct cvmx_pko_mem_debug4_cn52xx cn52xxp1; 677 struct cvmx_pko_mem_debug4_cn52xx cn56xx; 678 struct cvmx_pko_mem_debug4_cn52xx cn56xxp1; 679 struct cvmx_pko_mem_debug4_cn50xx cn58xx; 680 struct cvmx_pko_mem_debug4_cn50xx cn58xxp1; 681 struct cvmx_pko_mem_debug4_cn52xx cn61xx; 682 struct cvmx_pko_mem_debug4_cn52xx cn63xx; 683 struct cvmx_pko_mem_debug4_cn52xx cn63xxp1; 684 struct cvmx_pko_mem_debug4_cn52xx cn66xx; 685 struct cvmx_pko_mem_debug4_cn52xx cn68xx; 686 struct cvmx_pko_mem_debug4_cn52xx cn68xxp1; 687 struct cvmx_pko_mem_debug4_cn52xx cnf71xx; 688 }; 689 690 union cvmx_pko_mem_debug5 { 691 uint64_t u64; 692 struct cvmx_pko_mem_debug5_s { 693 #ifdef __BIG_ENDIAN_BITFIELD 694 uint64_t reserved_0_63:64; 695 #else 696 uint64_t reserved_0_63:64; 697 #endif 698 } s; 699 struct cvmx_pko_mem_debug5_cn30xx { 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; 710 uint64_t reserved_27_27: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 721 uint64_t major:4; 722 uint64_t minor:2; 723 uint64_t wait:1; 724 uint64_t qid_base:7; 725 uint64_t qid_off:3; 726 uint64_t qcb_ridx:5; 727 uint64_t qos:3; 728 uint64_t active:1; 729 uint64_t chk_mode:1; 730 uint64_t reserved_27_27:1; 731 uint64_t cbuf_fre:1; 732 uint64_t xfer_dwr:1; 733 uint64_t xfer_wor:1; 734 uint64_t uid:1; 735 uint64_t cmnd_siz:16; 736 uint64_t dwri_cnt:13; 737 uint64_t dwri_len:1; 738 uint64_t dwri_sop:1; 739 uint64_t dwri_mod:1; 740 #endif 741 } cn30xx; 742 struct cvmx_pko_mem_debug5_cn30xx cn31xx; 743 struct cvmx_pko_mem_debug5_cn30xx cn38xx; 744 struct cvmx_pko_mem_debug5_cn30xx cn38xxp2; 745 struct cvmx_pko_mem_debug5_cn50xx { 746 #ifdef __BIG_ENDIAN_BITFIELD 747 uint64_t curr_ptr:29; 748 uint64_t curr_siz:16; 749 uint64_t curr_off:16; 750 uint64_t cmnd_segs:3; 751 #else 752 uint64_t cmnd_segs:3; 753 uint64_t curr_off:16; 754 uint64_t curr_siz:16; 755 uint64_t curr_ptr:29; 756 #endif 757 } cn50xx; 758 struct cvmx_pko_mem_debug5_cn52xx { 759 #ifdef __BIG_ENDIAN_BITFIELD 760 uint64_t reserved_54_63:10; 761 uint64_t nxt_inflt:6; 762 uint64_t curr_ptr:40; 763 uint64_t curr_siz:8; 764 #else 765 uint64_t curr_siz:8; 766 uint64_t curr_ptr:40; 767 uint64_t nxt_inflt:6; 768 uint64_t reserved_54_63:10; 769 #endif 770 } cn52xx; 771 struct cvmx_pko_mem_debug5_cn52xx cn52xxp1; 772 struct cvmx_pko_mem_debug5_cn52xx cn56xx; 773 struct cvmx_pko_mem_debug5_cn52xx cn56xxp1; 774 struct cvmx_pko_mem_debug5_cn50xx cn58xx; 775 struct cvmx_pko_mem_debug5_cn50xx cn58xxp1; 776 struct cvmx_pko_mem_debug5_cn61xx { 777 #ifdef __BIG_ENDIAN_BITFIELD 778 uint64_t reserved_56_63:8; 779 uint64_t ptp:1; 780 uint64_t major_3:1; 781 uint64_t nxt_inflt:6; 782 uint64_t curr_ptr:40; 783 uint64_t curr_siz:8; 784 #else 785 uint64_t curr_siz:8; 786 uint64_t curr_ptr:40; 787 uint64_t nxt_inflt:6; 788 uint64_t major_3:1; 789 uint64_t ptp:1; 790 uint64_t reserved_56_63:8; 791 #endif 792 } cn61xx; 793 struct cvmx_pko_mem_debug5_cn61xx cn63xx; 794 struct cvmx_pko_mem_debug5_cn61xx cn63xxp1; 795 struct cvmx_pko_mem_debug5_cn61xx cn66xx; 796 struct cvmx_pko_mem_debug5_cn68xx { 797 #ifdef __BIG_ENDIAN_BITFIELD 798 uint64_t reserved_57_63:7; 799 uint64_t uid_2:1; 800 uint64_t ptp:1; 801 uint64_t major_3:1; 802 uint64_t nxt_inflt:6; 803 uint64_t curr_ptr:40; 804 uint64_t curr_siz:8; 805 #else 806 uint64_t curr_siz:8; 807 uint64_t curr_ptr:40; 808 uint64_t nxt_inflt:6; 809 uint64_t major_3:1; 810 uint64_t ptp:1; 811 uint64_t uid_2:1; 812 uint64_t reserved_57_63:7; 813 #endif 814 } cn68xx; 815 struct cvmx_pko_mem_debug5_cn68xx cn68xxp1; 816 struct cvmx_pko_mem_debug5_cn61xx cnf71xx; 817 }; 818 819 union cvmx_pko_mem_debug6 { 820 uint64_t u64; 821 struct cvmx_pko_mem_debug6_s { 822 #ifdef __BIG_ENDIAN_BITFIELD 823 uint64_t reserved_37_63:27; 824 uint64_t qid_offres:4; 825 uint64_t qid_offths:4; 826 uint64_t preempter:1; 827 uint64_t preemptee:1; 828 uint64_t preempted:1; 829 uint64_t active:1; 830 uint64_t statc:1; 831 uint64_t qos:3; 832 uint64_t qcb_ridx:5; 833 uint64_t qid_offmax:4; 834 uint64_t reserved_0_11:12; 835 #else 836 uint64_t reserved_0_11:12; 837 uint64_t qid_offmax:4; 838 uint64_t qcb_ridx:5; 839 uint64_t qos:3; 840 uint64_t statc:1; 841 uint64_t active:1; 842 uint64_t preempted:1; 843 uint64_t preemptee:1; 844 uint64_t preempter:1; 845 uint64_t qid_offths:4; 846 uint64_t qid_offres:4; 847 uint64_t reserved_37_63:27; 848 #endif 849 } s; 850 struct cvmx_pko_mem_debug6_cn30xx { 851 #ifdef __BIG_ENDIAN_BITFIELD 852 uint64_t reserved_11_63:53; 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 860 uint64_t dwri_mod:2; 861 uint64_t dwri_uid:1; 862 uint64_t dwri_chk:1; 863 uint64_t work_min:3; 864 uint64_t static_p:1; 865 uint64_t qid_offm:3; 866 uint64_t reserved_11_63:53; 867 #endif 868 } cn30xx; 869 struct cvmx_pko_mem_debug6_cn30xx cn31xx; 870 struct cvmx_pko_mem_debug6_cn30xx cn38xx; 871 struct cvmx_pko_mem_debug6_cn30xx cn38xxp2; 872 struct cvmx_pko_mem_debug6_cn50xx { 873 #ifdef __BIG_ENDIAN_BITFIELD 874 uint64_t reserved_11_63:53; 875 uint64_t curr_ptr:11; 876 #else 877 uint64_t curr_ptr:11; 878 uint64_t reserved_11_63:53; 879 #endif 880 } cn50xx; 881 struct cvmx_pko_mem_debug6_cn52xx { 882 #ifdef __BIG_ENDIAN_BITFIELD 883 uint64_t reserved_37_63:27; 884 uint64_t qid_offres:4; 885 uint64_t qid_offths:4; 886 uint64_t preempter:1; 887 uint64_t preemptee:1; 888 uint64_t preempted:1; 889 uint64_t active:1; 890 uint64_t statc:1; 891 uint64_t qos:3; 892 uint64_t qcb_ridx:5; 893 uint64_t qid_offmax:4; 894 uint64_t qid_off:4; 895 uint64_t qid_base:8; 896 #else 897 uint64_t qid_base:8; 898 uint64_t qid_off:4; 899 uint64_t qid_offmax:4; 900 uint64_t qcb_ridx:5; 901 uint64_t qos:3; 902 uint64_t statc:1; 903 uint64_t active:1; 904 uint64_t preempted:1; 905 uint64_t preemptee:1; 906 uint64_t preempter:1; 907 uint64_t qid_offths:4; 908 uint64_t qid_offres:4; 909 uint64_t reserved_37_63:27; 910 #endif 911 } cn52xx; 912 struct cvmx_pko_mem_debug6_cn52xx cn52xxp1; 913 struct cvmx_pko_mem_debug6_cn52xx cn56xx; 914 struct cvmx_pko_mem_debug6_cn52xx cn56xxp1; 915 struct cvmx_pko_mem_debug6_cn50xx cn58xx; 916 struct cvmx_pko_mem_debug6_cn50xx cn58xxp1; 917 struct cvmx_pko_mem_debug6_cn52xx cn61xx; 918 struct cvmx_pko_mem_debug6_cn52xx cn63xx; 919 struct cvmx_pko_mem_debug6_cn52xx cn63xxp1; 920 struct cvmx_pko_mem_debug6_cn52xx cn66xx; 921 struct cvmx_pko_mem_debug6_cn52xx cn68xx; 922 struct cvmx_pko_mem_debug6_cn52xx cn68xxp1; 923 struct cvmx_pko_mem_debug6_cn52xx cnf71xx; 924 }; 925 926 union cvmx_pko_mem_debug7 { 927 uint64_t u64; 928 struct cvmx_pko_mem_debug7_s { 929 #ifdef __BIG_ENDIAN_BITFIELD 930 uint64_t reserved_0_63:64; 931 #else 932 uint64_t reserved_0_63:64; 933 #endif 934 } s; 935 struct cvmx_pko_mem_debug7_cn30xx { 936 #ifdef __BIG_ENDIAN_BITFIELD 937 uint64_t reserved_58_63:6; 938 uint64_t dwb:9; 939 uint64_t start:33; 940 uint64_t size:16; 941 #else 942 uint64_t size:16; 943 uint64_t start:33; 944 uint64_t dwb:9; 945 uint64_t reserved_58_63:6; 946 #endif 947 } cn30xx; 948 struct cvmx_pko_mem_debug7_cn30xx cn31xx; 949 struct cvmx_pko_mem_debug7_cn30xx cn38xx; 950 struct cvmx_pko_mem_debug7_cn30xx cn38xxp2; 951 struct cvmx_pko_mem_debug7_cn50xx { 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 960 uint64_t qcb_ridx:6; 961 uint64_t qcb_widx:6; 962 uint64_t buf_ptr:33; 963 uint64_t buf_siz:13; 964 uint64_t tail:1; 965 uint64_t qos:5; 966 #endif 967 } cn50xx; 968 struct cvmx_pko_mem_debug7_cn50xx cn52xx; 969 struct cvmx_pko_mem_debug7_cn50xx cn52xxp1; 970 struct cvmx_pko_mem_debug7_cn50xx cn56xx; 971 struct cvmx_pko_mem_debug7_cn50xx cn56xxp1; 972 struct cvmx_pko_mem_debug7_cn50xx cn58xx; 973 struct cvmx_pko_mem_debug7_cn50xx cn58xxp1; 974 struct cvmx_pko_mem_debug7_cn50xx cn61xx; 975 struct cvmx_pko_mem_debug7_cn50xx cn63xx; 976 struct cvmx_pko_mem_debug7_cn50xx cn63xxp1; 977 struct cvmx_pko_mem_debug7_cn50xx cn66xx; 978 struct cvmx_pko_mem_debug7_cn68xx { 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 987 uint64_t qcb_ridx:7; 988 uint64_t qcb_widx:7; 989 uint64_t buf_ptr:33; 990 uint64_t buf_siz:13; 991 uint64_t tail:1; 992 uint64_t qos:3; 993 #endif 994 } cn68xx; 995 struct cvmx_pko_mem_debug7_cn68xx cn68xxp1; 996 struct cvmx_pko_mem_debug7_cn50xx cnf71xx; 997 }; 998 999 union cvmx_pko_mem_debug8 { 1000 uint64_t u64; 1001 struct cvmx_pko_mem_debug8_s { 1002 #ifdef __BIG_ENDIAN_BITFIELD 1003 uint64_t reserved_59_63:5; 1004 uint64_t tail:1; 1005 uint64_t buf_siz:13; 1006 uint64_t reserved_0_44:45; 1007 #else 1008 uint64_t reserved_0_44:45; 1009 uint64_t buf_siz:13; 1010 uint64_t tail:1; 1011 uint64_t reserved_59_63:5; 1012 #endif 1013 } s; 1014 struct cvmx_pko_mem_debug8_cn30xx { 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 1023 uint64_t qcb_ridx:6; 1024 uint64_t qcb_widx:6; 1025 uint64_t buf_ptr:33; 1026 uint64_t buf_siz:13; 1027 uint64_t tail:1; 1028 uint64_t qos:5; 1029 #endif 1030 } cn30xx; 1031 struct cvmx_pko_mem_debug8_cn30xx cn31xx; 1032 struct cvmx_pko_mem_debug8_cn30xx cn38xx; 1033 struct cvmx_pko_mem_debug8_cn30xx cn38xxp2; 1034 struct cvmx_pko_mem_debug8_cn50xx { 1035 #ifdef __BIG_ENDIAN_BITFIELD 1036 uint64_t reserved_28_63:36; 1037 uint64_t doorbell:20; 1038 uint64_t reserved_6_7:2; 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 1044 uint64_t qos:3; 1045 uint64_t static_q:1; 1046 uint64_t s_tail:1; 1047 uint64_t static_p:1; 1048 uint64_t reserved_6_7:2; 1049 uint64_t doorbell:20; 1050 uint64_t reserved_28_63:36; 1051 #endif 1052 } cn50xx; 1053 struct cvmx_pko_mem_debug8_cn52xx { 1054 #ifdef __BIG_ENDIAN_BITFIELD 1055 uint64_t reserved_29_63:35; 1056 uint64_t preempter:1; 1057 uint64_t doorbell:20; 1058 uint64_t reserved_7_7:1; 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 1065 uint64_t qos:3; 1066 uint64_t static_q:1; 1067 uint64_t s_tail:1; 1068 uint64_t static_p:1; 1069 uint64_t preemptee:1; 1070 uint64_t reserved_7_7:1; 1071 uint64_t doorbell:20; 1072 uint64_t preempter:1; 1073 uint64_t reserved_29_63:35; 1074 #endif 1075 } cn52xx; 1076 struct cvmx_pko_mem_debug8_cn52xx cn52xxp1; 1077 struct cvmx_pko_mem_debug8_cn52xx cn56xx; 1078 struct cvmx_pko_mem_debug8_cn52xx cn56xxp1; 1079 struct cvmx_pko_mem_debug8_cn50xx cn58xx; 1080 struct cvmx_pko_mem_debug8_cn50xx cn58xxp1; 1081 struct cvmx_pko_mem_debug8_cn61xx { 1082 #ifdef __BIG_ENDIAN_BITFIELD 1083 uint64_t reserved_42_63:22; 1084 uint64_t qid_qqos:8; 1085 uint64_t reserved_33_33:1; 1086 uint64_t qid_idx:4; 1087 uint64_t preempter:1; 1088 uint64_t doorbell:20; 1089 uint64_t reserved_7_7:1; 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 1096 uint64_t qos:3; 1097 uint64_t static_q:1; 1098 uint64_t s_tail:1; 1099 uint64_t static_p:1; 1100 uint64_t preemptee:1; 1101 uint64_t reserved_7_7:1; 1102 uint64_t doorbell:20; 1103 uint64_t preempter:1; 1104 uint64_t qid_idx:4; 1105 uint64_t reserved_33_33:1; 1106 uint64_t qid_qqos:8; 1107 uint64_t reserved_42_63:22; 1108 #endif 1109 } cn61xx; 1110 struct cvmx_pko_mem_debug8_cn52xx cn63xx; 1111 struct cvmx_pko_mem_debug8_cn52xx cn63xxp1; 1112 struct cvmx_pko_mem_debug8_cn61xx cn66xx; 1113 struct cvmx_pko_mem_debug8_cn68xx { 1114 #ifdef __BIG_ENDIAN_BITFIELD 1115 uint64_t reserved_37_63:27; 1116 uint64_t preempter:1; 1117 uint64_t doorbell:20; 1118 uint64_t reserved_9_15:7; 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 1125 uint64_t qos:5; 1126 uint64_t static_q:1; 1127 uint64_t s_tail:1; 1128 uint64_t static_p:1; 1129 uint64_t preemptee:1; 1130 uint64_t reserved_9_15:7; 1131 uint64_t doorbell:20; 1132 uint64_t preempter:1; 1133 uint64_t reserved_37_63:27; 1134 #endif 1135 } cn68xx; 1136 struct cvmx_pko_mem_debug8_cn68xx cn68xxp1; 1137 struct cvmx_pko_mem_debug8_cn61xx cnf71xx; 1138 }; 1139 1140 union cvmx_pko_mem_debug9 { 1141 uint64_t u64; 1142 struct cvmx_pko_mem_debug9_s { 1143 #ifdef __BIG_ENDIAN_BITFIELD 1144 uint64_t reserved_49_63:15; 1145 uint64_t ptrs0:17; 1146 uint64_t reserved_0_31:32; 1147 #else 1148 uint64_t reserved_0_31:32; 1149 uint64_t ptrs0:17; 1150 uint64_t reserved_49_63:15; 1151 #endif 1152 } s; 1153 struct cvmx_pko_mem_debug9_cn30xx { 1154 #ifdef __BIG_ENDIAN_BITFIELD 1155 uint64_t reserved_28_63:36; 1156 uint64_t doorbell:20; 1157 uint64_t reserved_5_7:3; 1158 uint64_t s_tail:1; 1159 uint64_t static_q:1; 1160 uint64_t qos:3; 1161 #else 1162 uint64_t qos:3; 1163 uint64_t static_q:1; 1164 uint64_t s_tail:1; 1165 uint64_t reserved_5_7:3; 1166 uint64_t doorbell:20; 1167 uint64_t reserved_28_63:36; 1168 #endif 1169 } cn30xx; 1170 struct cvmx_pko_mem_debug9_cn30xx cn31xx; 1171 struct cvmx_pko_mem_debug9_cn38xx { 1172 #ifdef __BIG_ENDIAN_BITFIELD 1173 uint64_t reserved_28_63:36; 1174 uint64_t doorbell:20; 1175 uint64_t reserved_6_7:2; 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 1181 uint64_t qos:3; 1182 uint64_t static_q:1; 1183 uint64_t s_tail:1; 1184 uint64_t static_p:1; 1185 uint64_t reserved_6_7:2; 1186 uint64_t doorbell:20; 1187 uint64_t reserved_28_63:36; 1188 #endif 1189 } cn38xx; 1190 struct cvmx_pko_mem_debug9_cn38xx cn38xxp2; 1191 struct cvmx_pko_mem_debug9_cn50xx { 1192 #ifdef __BIG_ENDIAN_BITFIELD 1193 uint64_t reserved_49_63:15; 1194 uint64_t ptrs0:17; 1195 uint64_t reserved_17_31:15; 1196 uint64_t ptrs3:17; 1197 #else 1198 uint64_t ptrs3:17; 1199 uint64_t reserved_17_31:15; 1200 uint64_t ptrs0:17; 1201 uint64_t reserved_49_63:15; 1202 #endif 1203 } cn50xx; 1204 struct cvmx_pko_mem_debug9_cn50xx cn52xx; 1205 struct cvmx_pko_mem_debug9_cn50xx cn52xxp1; 1206 struct cvmx_pko_mem_debug9_cn50xx cn56xx; 1207 struct cvmx_pko_mem_debug9_cn50xx cn56xxp1; 1208 struct cvmx_pko_mem_debug9_cn50xx cn58xx; 1209 struct cvmx_pko_mem_debug9_cn50xx cn58xxp1; 1210 struct cvmx_pko_mem_debug9_cn50xx cn61xx; 1211 struct cvmx_pko_mem_debug9_cn50xx cn63xx; 1212 struct cvmx_pko_mem_debug9_cn50xx cn63xxp1; 1213 struct cvmx_pko_mem_debug9_cn50xx cn66xx; 1214 struct cvmx_pko_mem_debug9_cn50xx cn68xx; 1215 struct cvmx_pko_mem_debug9_cn50xx cn68xxp1; 1216 struct cvmx_pko_mem_debug9_cn50xx cnf71xx; 1217 }; 1218 1219 union cvmx_pko_mem_iport_ptrs { 1220 uint64_t u64; 1221 struct cvmx_pko_mem_iport_ptrs_s { 1222 #ifdef __BIG_ENDIAN_BITFIELD 1223 uint64_t reserved_63_63:1; 1224 uint64_t crc:1; 1225 uint64_t static_p:1; 1226 uint64_t qos_mask:8; 1227 uint64_t min_pkt:3; 1228 uint64_t reserved_31_49:19; 1229 uint64_t pipe:7; 1230 uint64_t reserved_21_23:3; 1231 uint64_t intr:5; 1232 uint64_t reserved_13_15:3; 1233 uint64_t eid:5; 1234 uint64_t reserved_7_7:1; 1235 uint64_t ipid:7; 1236 #else 1237 uint64_t ipid:7; 1238 uint64_t reserved_7_7:1; 1239 uint64_t eid:5; 1240 uint64_t reserved_13_15:3; 1241 uint64_t intr:5; 1242 uint64_t reserved_21_23:3; 1243 uint64_t pipe:7; 1244 uint64_t reserved_31_49:19; 1245 uint64_t min_pkt:3; 1246 uint64_t qos_mask:8; 1247 uint64_t static_p:1; 1248 uint64_t crc:1; 1249 uint64_t reserved_63_63:1; 1250 #endif 1251 } s; 1252 struct cvmx_pko_mem_iport_ptrs_s cn68xx; 1253 struct cvmx_pko_mem_iport_ptrs_s cn68xxp1; 1254 }; 1255 1256 union cvmx_pko_mem_iport_qos { 1257 uint64_t u64; 1258 struct cvmx_pko_mem_iport_qos_s { 1259 #ifdef __BIG_ENDIAN_BITFIELD 1260 uint64_t reserved_61_63:3; 1261 uint64_t qos_mask:8; 1262 uint64_t reserved_13_52:40; 1263 uint64_t eid:5; 1264 uint64_t reserved_7_7:1; 1265 uint64_t ipid:7; 1266 #else 1267 uint64_t ipid:7; 1268 uint64_t reserved_7_7:1; 1269 uint64_t eid:5; 1270 uint64_t reserved_13_52:40; 1271 uint64_t qos_mask:8; 1272 uint64_t reserved_61_63:3; 1273 #endif 1274 } s; 1275 struct cvmx_pko_mem_iport_qos_s cn68xx; 1276 struct cvmx_pko_mem_iport_qos_s cn68xxp1; 1277 }; 1278 1279 union cvmx_pko_mem_iqueue_ptrs { 1280 uint64_t u64; 1281 struct cvmx_pko_mem_iqueue_ptrs_s { 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; 1290 uint64_t reserved_15_15:1; 1291 uint64_t ipid:7; 1292 uint64_t qid:8; 1293 #else 1294 uint64_t qid:8; 1295 uint64_t ipid:7; 1296 uint64_t reserved_15_15:1; 1297 uint64_t index:5; 1298 uint64_t tail:1; 1299 uint64_t buf_ptr:31; 1300 uint64_t qos_mask:8; 1301 uint64_t static_q:1; 1302 uint64_t static_p:1; 1303 uint64_t s_tail:1; 1304 #endif 1305 } s; 1306 struct cvmx_pko_mem_iqueue_ptrs_s cn68xx; 1307 struct cvmx_pko_mem_iqueue_ptrs_s cn68xxp1; 1308 }; 1309 1310 union cvmx_pko_mem_iqueue_qos { 1311 uint64_t u64; 1312 struct cvmx_pko_mem_iqueue_qos_s { 1313 #ifdef __BIG_ENDIAN_BITFIELD 1314 uint64_t reserved_61_63:3; 1315 uint64_t qos_mask:8; 1316 uint64_t reserved_15_52:38; 1317 uint64_t ipid:7; 1318 uint64_t qid:8; 1319 #else 1320 uint64_t qid:8; 1321 uint64_t ipid:7; 1322 uint64_t reserved_15_52:38; 1323 uint64_t qos_mask:8; 1324 uint64_t reserved_61_63:3; 1325 #endif 1326 } s; 1327 struct cvmx_pko_mem_iqueue_qos_s cn68xx; 1328 struct cvmx_pko_mem_iqueue_qos_s cn68xxp1; 1329 }; 1330 1331 union cvmx_pko_mem_port_ptrs { 1332 uint64_t u64; 1333 struct cvmx_pko_mem_port_ptrs_s { 1334 #ifdef __BIG_ENDIAN_BITFIELD 1335 uint64_t reserved_62_63:2; 1336 uint64_t static_p:1; 1337 uint64_t qos_mask:8; 1338 uint64_t reserved_16_52:37; 1339 uint64_t bp_port:6; 1340 uint64_t eid:4; 1341 uint64_t pid:6; 1342 #else 1343 uint64_t pid:6; 1344 uint64_t eid:4; 1345 uint64_t bp_port:6; 1346 uint64_t reserved_16_52:37; 1347 uint64_t qos_mask:8; 1348 uint64_t static_p:1; 1349 uint64_t reserved_62_63:2; 1350 #endif 1351 } s; 1352 struct cvmx_pko_mem_port_ptrs_s cn52xx; 1353 struct cvmx_pko_mem_port_ptrs_s cn52xxp1; 1354 struct cvmx_pko_mem_port_ptrs_s cn56xx; 1355 struct cvmx_pko_mem_port_ptrs_s cn56xxp1; 1356 struct cvmx_pko_mem_port_ptrs_s cn61xx; 1357 struct cvmx_pko_mem_port_ptrs_s cn63xx; 1358 struct cvmx_pko_mem_port_ptrs_s cn63xxp1; 1359 struct cvmx_pko_mem_port_ptrs_s cn66xx; 1360 struct cvmx_pko_mem_port_ptrs_s cnf71xx; 1361 }; 1362 1363 union cvmx_pko_mem_port_qos { 1364 uint64_t u64; 1365 struct cvmx_pko_mem_port_qos_s { 1366 #ifdef __BIG_ENDIAN_BITFIELD 1367 uint64_t reserved_61_63:3; 1368 uint64_t qos_mask:8; 1369 uint64_t reserved_10_52:43; 1370 uint64_t eid:4; 1371 uint64_t pid:6; 1372 #else 1373 uint64_t pid:6; 1374 uint64_t eid:4; 1375 uint64_t reserved_10_52:43; 1376 uint64_t qos_mask:8; 1377 uint64_t reserved_61_63:3; 1378 #endif 1379 } s; 1380 struct cvmx_pko_mem_port_qos_s cn52xx; 1381 struct cvmx_pko_mem_port_qos_s cn52xxp1; 1382 struct cvmx_pko_mem_port_qos_s cn56xx; 1383 struct cvmx_pko_mem_port_qos_s cn56xxp1; 1384 struct cvmx_pko_mem_port_qos_s cn61xx; 1385 struct cvmx_pko_mem_port_qos_s cn63xx; 1386 struct cvmx_pko_mem_port_qos_s cn63xxp1; 1387 struct cvmx_pko_mem_port_qos_s cn66xx; 1388 struct cvmx_pko_mem_port_qos_s cnf71xx; 1389 }; 1390 1391 union cvmx_pko_mem_port_rate0 { 1392 uint64_t u64; 1393 struct cvmx_pko_mem_port_rate0_s { 1394 #ifdef __BIG_ENDIAN_BITFIELD 1395 uint64_t reserved_51_63:13; 1396 uint64_t rate_word:19; 1397 uint64_t rate_pkt:24; 1398 uint64_t reserved_7_7:1; 1399 uint64_t pid:7; 1400 #else 1401 uint64_t pid:7; 1402 uint64_t reserved_7_7:1; 1403 uint64_t rate_pkt:24; 1404 uint64_t rate_word:19; 1405 uint64_t reserved_51_63:13; 1406 #endif 1407 } s; 1408 struct cvmx_pko_mem_port_rate0_cn52xx { 1409 #ifdef __BIG_ENDIAN_BITFIELD 1410 uint64_t reserved_51_63:13; 1411 uint64_t rate_word:19; 1412 uint64_t rate_pkt:24; 1413 uint64_t reserved_6_7:2; 1414 uint64_t pid:6; 1415 #else 1416 uint64_t pid:6; 1417 uint64_t reserved_6_7:2; 1418 uint64_t rate_pkt:24; 1419 uint64_t rate_word:19; 1420 uint64_t reserved_51_63:13; 1421 #endif 1422 } cn52xx; 1423 struct cvmx_pko_mem_port_rate0_cn52xx cn52xxp1; 1424 struct cvmx_pko_mem_port_rate0_cn52xx cn56xx; 1425 struct cvmx_pko_mem_port_rate0_cn52xx cn56xxp1; 1426 struct cvmx_pko_mem_port_rate0_cn52xx cn61xx; 1427 struct cvmx_pko_mem_port_rate0_cn52xx cn63xx; 1428 struct cvmx_pko_mem_port_rate0_cn52xx cn63xxp1; 1429 struct cvmx_pko_mem_port_rate0_cn52xx cn66xx; 1430 struct cvmx_pko_mem_port_rate0_s cn68xx; 1431 struct cvmx_pko_mem_port_rate0_s cn68xxp1; 1432 struct cvmx_pko_mem_port_rate0_cn52xx cnf71xx; 1433 }; 1434 1435 union cvmx_pko_mem_port_rate1 { 1436 uint64_t u64; 1437 struct cvmx_pko_mem_port_rate1_s { 1438 #ifdef __BIG_ENDIAN_BITFIELD 1439 uint64_t reserved_32_63:32; 1440 uint64_t rate_lim:24; 1441 uint64_t reserved_7_7:1; 1442 uint64_t pid:7; 1443 #else 1444 uint64_t pid:7; 1445 uint64_t reserved_7_7:1; 1446 uint64_t rate_lim:24; 1447 uint64_t reserved_32_63:32; 1448 #endif 1449 } s; 1450 struct cvmx_pko_mem_port_rate1_cn52xx { 1451 #ifdef __BIG_ENDIAN_BITFIELD 1452 uint64_t reserved_32_63:32; 1453 uint64_t rate_lim:24; 1454 uint64_t reserved_6_7:2; 1455 uint64_t pid:6; 1456 #else 1457 uint64_t pid:6; 1458 uint64_t reserved_6_7:2; 1459 uint64_t rate_lim:24; 1460 uint64_t reserved_32_63:32; 1461 #endif 1462 } cn52xx; 1463 struct cvmx_pko_mem_port_rate1_cn52xx cn52xxp1; 1464 struct cvmx_pko_mem_port_rate1_cn52xx cn56xx; 1465 struct cvmx_pko_mem_port_rate1_cn52xx cn56xxp1; 1466 struct cvmx_pko_mem_port_rate1_cn52xx cn61xx; 1467 struct cvmx_pko_mem_port_rate1_cn52xx cn63xx; 1468 struct cvmx_pko_mem_port_rate1_cn52xx cn63xxp1; 1469 struct cvmx_pko_mem_port_rate1_cn52xx cn66xx; 1470 struct cvmx_pko_mem_port_rate1_s cn68xx; 1471 struct cvmx_pko_mem_port_rate1_s cn68xxp1; 1472 struct cvmx_pko_mem_port_rate1_cn52xx cnf71xx; 1473 }; 1474 1475 union cvmx_pko_mem_queue_ptrs { 1476 uint64_t u64; 1477 struct cvmx_pko_mem_queue_ptrs_s { 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 1489 uint64_t queue:7; 1490 uint64_t port:6; 1491 uint64_t index:3; 1492 uint64_t tail:1; 1493 uint64_t buf_ptr:36; 1494 uint64_t qos_mask:8; 1495 uint64_t static_q:1; 1496 uint64_t static_p:1; 1497 uint64_t s_tail:1; 1498 #endif 1499 } s; 1500 struct cvmx_pko_mem_queue_ptrs_s cn30xx; 1501 struct cvmx_pko_mem_queue_ptrs_s cn31xx; 1502 struct cvmx_pko_mem_queue_ptrs_s cn38xx; 1503 struct cvmx_pko_mem_queue_ptrs_s cn38xxp2; 1504 struct cvmx_pko_mem_queue_ptrs_s cn50xx; 1505 struct cvmx_pko_mem_queue_ptrs_s cn52xx; 1506 struct cvmx_pko_mem_queue_ptrs_s cn52xxp1; 1507 struct cvmx_pko_mem_queue_ptrs_s cn56xx; 1508 struct cvmx_pko_mem_queue_ptrs_s cn56xxp1; 1509 struct cvmx_pko_mem_queue_ptrs_s cn58xx; 1510 struct cvmx_pko_mem_queue_ptrs_s cn58xxp1; 1511 struct cvmx_pko_mem_queue_ptrs_s cn61xx; 1512 struct cvmx_pko_mem_queue_ptrs_s cn63xx; 1513 struct cvmx_pko_mem_queue_ptrs_s cn63xxp1; 1514 struct cvmx_pko_mem_queue_ptrs_s cn66xx; 1515 struct cvmx_pko_mem_queue_ptrs_s cnf71xx; 1516 }; 1517 1518 union cvmx_pko_mem_queue_qos { 1519 uint64_t u64; 1520 struct cvmx_pko_mem_queue_qos_s { 1521 #ifdef __BIG_ENDIAN_BITFIELD 1522 uint64_t reserved_61_63:3; 1523 uint64_t qos_mask:8; 1524 uint64_t reserved_13_52:40; 1525 uint64_t pid:6; 1526 uint64_t qid:7; 1527 #else 1528 uint64_t qid:7; 1529 uint64_t pid:6; 1530 uint64_t reserved_13_52:40; 1531 uint64_t qos_mask:8; 1532 uint64_t reserved_61_63:3; 1533 #endif 1534 } s; 1535 struct cvmx_pko_mem_queue_qos_s cn30xx; 1536 struct cvmx_pko_mem_queue_qos_s cn31xx; 1537 struct cvmx_pko_mem_queue_qos_s cn38xx; 1538 struct cvmx_pko_mem_queue_qos_s cn38xxp2; 1539 struct cvmx_pko_mem_queue_qos_s cn50xx; 1540 struct cvmx_pko_mem_queue_qos_s cn52xx; 1541 struct cvmx_pko_mem_queue_qos_s cn52xxp1; 1542 struct cvmx_pko_mem_queue_qos_s cn56xx; 1543 struct cvmx_pko_mem_queue_qos_s cn56xxp1; 1544 struct cvmx_pko_mem_queue_qos_s cn58xx; 1545 struct cvmx_pko_mem_queue_qos_s cn58xxp1; 1546 struct cvmx_pko_mem_queue_qos_s cn61xx; 1547 struct cvmx_pko_mem_queue_qos_s cn63xx; 1548 struct cvmx_pko_mem_queue_qos_s cn63xxp1; 1549 struct cvmx_pko_mem_queue_qos_s cn66xx; 1550 struct cvmx_pko_mem_queue_qos_s cnf71xx; 1551 }; 1552 1553 union cvmx_pko_mem_throttle_int { 1554 uint64_t u64; 1555 struct cvmx_pko_mem_throttle_int_s { 1556 #ifdef __BIG_ENDIAN_BITFIELD 1557 uint64_t reserved_47_63:17; 1558 uint64_t word:15; 1559 uint64_t reserved_14_31:18; 1560 uint64_t packet:6; 1561 uint64_t reserved_5_7:3; 1562 uint64_t intr:5; 1563 #else 1564 uint64_t intr:5; 1565 uint64_t reserved_5_7:3; 1566 uint64_t packet:6; 1567 uint64_t reserved_14_31:18; 1568 uint64_t word:15; 1569 uint64_t reserved_47_63:17; 1570 #endif 1571 } s; 1572 struct cvmx_pko_mem_throttle_int_s cn68xx; 1573 struct cvmx_pko_mem_throttle_int_s cn68xxp1; 1574 }; 1575 1576 union cvmx_pko_mem_throttle_pipe { 1577 uint64_t u64; 1578 struct cvmx_pko_mem_throttle_pipe_s { 1579 #ifdef __BIG_ENDIAN_BITFIELD 1580 uint64_t reserved_47_63:17; 1581 uint64_t word:15; 1582 uint64_t reserved_14_31:18; 1583 uint64_t packet:6; 1584 uint64_t reserved_7_7:1; 1585 uint64_t pipe:7; 1586 #else 1587 uint64_t pipe:7; 1588 uint64_t reserved_7_7:1; 1589 uint64_t packet:6; 1590 uint64_t reserved_14_31:18; 1591 uint64_t word:15; 1592 uint64_t reserved_47_63:17; 1593 #endif 1594 } s; 1595 struct cvmx_pko_mem_throttle_pipe_s cn68xx; 1596 struct cvmx_pko_mem_throttle_pipe_s cn68xxp1; 1597 }; 1598 1599 union cvmx_pko_reg_bist_result { 1600 uint64_t u64; 1601 struct cvmx_pko_reg_bist_result_s { 1602 #ifdef __BIG_ENDIAN_BITFIELD 1603 uint64_t reserved_0_63:64; 1604 #else 1605 uint64_t reserved_0_63:64; 1606 #endif 1607 } s; 1608 struct cvmx_pko_reg_bist_result_cn30xx { 1609 #ifdef __BIG_ENDIAN_BITFIELD 1610 uint64_t reserved_27_63:37; 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 1624 uint64_t psb:7; 1625 uint64_t pdb:4; 1626 uint64_t qcb:2; 1627 uint64_t qsb:2; 1628 uint64_t chk:1; 1629 uint64_t crc:1; 1630 uint64_t out:1; 1631 uint64_t ncb:1; 1632 uint64_t wif:1; 1633 uint64_t rif:1; 1634 uint64_t count:1; 1635 uint64_t psb2:5; 1636 uint64_t reserved_27_63:37; 1637 #endif 1638 } cn30xx; 1639 struct cvmx_pko_reg_bist_result_cn30xx cn31xx; 1640 struct cvmx_pko_reg_bist_result_cn30xx cn38xx; 1641 struct cvmx_pko_reg_bist_result_cn30xx cn38xxp2; 1642 struct cvmx_pko_reg_bist_result_cn50xx { 1643 #ifdef __BIG_ENDIAN_BITFIELD 1644 uint64_t reserved_33_63:31; 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 1660 uint64_t dat_ptr:4; 1661 uint64_t dat_dat:4; 1662 uint64_t prt_qsb:3; 1663 uint64_t prt_qcb:2; 1664 uint64_t ncb_inb:2; 1665 uint64_t prt_psb:6; 1666 uint64_t prt_nxt:1; 1667 uint64_t prt_chk:3; 1668 uint64_t out_wif:1; 1669 uint64_t out_sta:1; 1670 uint64_t out_ctl:3; 1671 uint64_t out_crc:1; 1672 uint64_t iob:1; 1673 uint64_t csr:1; 1674 uint64_t reserved_33_63:31; 1675 #endif 1676 } cn50xx; 1677 struct cvmx_pko_reg_bist_result_cn52xx { 1678 #ifdef __BIG_ENDIAN_BITFIELD 1679 uint64_t reserved_35_63:29; 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 1696 uint64_t dat_ptr:4; 1697 uint64_t dat_dat:2; 1698 uint64_t prt_ctl:2; 1699 uint64_t prt_qsb:3; 1700 uint64_t prt_qcb:2; 1701 uint64_t ncb_inb:2; 1702 uint64_t prt_psb:8; 1703 uint64_t prt_nxt:1; 1704 uint64_t prt_chk:3; 1705 uint64_t out_wif:1; 1706 uint64_t out_sta:1; 1707 uint64_t out_ctl:3; 1708 uint64_t out_dat:1; 1709 uint64_t iob:1; 1710 uint64_t csr:1; 1711 uint64_t reserved_35_63:29; 1712 #endif 1713 } cn52xx; 1714 struct cvmx_pko_reg_bist_result_cn52xx cn52xxp1; 1715 struct cvmx_pko_reg_bist_result_cn52xx cn56xx; 1716 struct cvmx_pko_reg_bist_result_cn52xx cn56xxp1; 1717 struct cvmx_pko_reg_bist_result_cn50xx cn58xx; 1718 struct cvmx_pko_reg_bist_result_cn50xx cn58xxp1; 1719 struct cvmx_pko_reg_bist_result_cn52xx cn61xx; 1720 struct cvmx_pko_reg_bist_result_cn52xx cn63xx; 1721 struct cvmx_pko_reg_bist_result_cn52xx cn63xxp1; 1722 struct cvmx_pko_reg_bist_result_cn52xx cn66xx; 1723 struct cvmx_pko_reg_bist_result_cn68xx { 1724 #ifdef __BIG_ENDIAN_BITFIELD 1725 uint64_t reserved_36_63:28; 1726 uint64_t crc:1; 1727 uint64_t csr:1; 1728 uint64_t iob:1; 1729 uint64_t out_dat:1; 1730 uint64_t reserved_31_31: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; 1737 uint64_t reserved_21_21: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 1746 uint64_t dat_ptr:4; 1747 uint64_t dat_dat:2; 1748 uint64_t prt_ctl:2; 1749 uint64_t prt_qsb:3; 1750 uint64_t prt_qcb:2; 1751 uint64_t ncb_inb:2; 1752 uint64_t prt_psb:6; 1753 uint64_t reserved_21_21:1; 1754 uint64_t prt_psb7:1; 1755 uint64_t prt_nxt:1; 1756 uint64_t prt_chk:3; 1757 uint64_t out_wif:1; 1758 uint64_t out_sta:1; 1759 uint64_t out_ctl:2; 1760 uint64_t reserved_31_31:1; 1761 uint64_t out_dat:1; 1762 uint64_t iob:1; 1763 uint64_t csr:1; 1764 uint64_t crc:1; 1765 uint64_t reserved_36_63:28; 1766 #endif 1767 } cn68xx; 1768 struct cvmx_pko_reg_bist_result_cn68xxp1 { 1769 #ifdef __BIG_ENDIAN_BITFIELD 1770 uint64_t reserved_35_63:29; 1771 uint64_t csr:1; 1772 uint64_t iob:1; 1773 uint64_t out_dat:1; 1774 uint64_t reserved_31_31: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; 1781 uint64_t reserved_21_21: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 1790 uint64_t dat_ptr:4; 1791 uint64_t dat_dat:2; 1792 uint64_t prt_ctl:2; 1793 uint64_t prt_qsb:3; 1794 uint64_t prt_qcb:2; 1795 uint64_t ncb_inb:2; 1796 uint64_t prt_psb:6; 1797 uint64_t reserved_21_21:1; 1798 uint64_t prt_psb7:1; 1799 uint64_t prt_nxt:1; 1800 uint64_t prt_chk:3; 1801 uint64_t out_wif:1; 1802 uint64_t out_sta:1; 1803 uint64_t out_ctl:2; 1804 uint64_t reserved_31_31:1; 1805 uint64_t out_dat:1; 1806 uint64_t iob:1; 1807 uint64_t csr:1; 1808 uint64_t reserved_35_63:29; 1809 #endif 1810 } cn68xxp1; 1811 struct cvmx_pko_reg_bist_result_cn52xx cnf71xx; 1812 }; 1813 1814 union cvmx_pko_reg_cmd_buf { 1815 uint64_t u64; 1816 struct cvmx_pko_reg_cmd_buf_s { 1817 #ifdef __BIG_ENDIAN_BITFIELD 1818 uint64_t reserved_23_63:41; 1819 uint64_t pool:3; 1820 uint64_t reserved_13_19:7; 1821 uint64_t size:13; 1822 #else 1823 uint64_t size:13; 1824 uint64_t reserved_13_19:7; 1825 uint64_t pool:3; 1826 uint64_t reserved_23_63:41; 1827 #endif 1828 } s; 1829 struct cvmx_pko_reg_cmd_buf_s cn30xx; 1830 struct cvmx_pko_reg_cmd_buf_s cn31xx; 1831 struct cvmx_pko_reg_cmd_buf_s cn38xx; 1832 struct cvmx_pko_reg_cmd_buf_s cn38xxp2; 1833 struct cvmx_pko_reg_cmd_buf_s cn50xx; 1834 struct cvmx_pko_reg_cmd_buf_s cn52xx; 1835 struct cvmx_pko_reg_cmd_buf_s cn52xxp1; 1836 struct cvmx_pko_reg_cmd_buf_s cn56xx; 1837 struct cvmx_pko_reg_cmd_buf_s cn56xxp1; 1838 struct cvmx_pko_reg_cmd_buf_s cn58xx; 1839 struct cvmx_pko_reg_cmd_buf_s cn58xxp1; 1840 struct cvmx_pko_reg_cmd_buf_s cn61xx; 1841 struct cvmx_pko_reg_cmd_buf_s cn63xx; 1842 struct cvmx_pko_reg_cmd_buf_s cn63xxp1; 1843 struct cvmx_pko_reg_cmd_buf_s cn66xx; 1844 struct cvmx_pko_reg_cmd_buf_s cn68xx; 1845 struct cvmx_pko_reg_cmd_buf_s cn68xxp1; 1846 struct cvmx_pko_reg_cmd_buf_s cnf71xx; 1847 }; 1848 1849 union cvmx_pko_reg_crc_ctlx { 1850 uint64_t u64; 1851 struct cvmx_pko_reg_crc_ctlx_s { 1852 #ifdef __BIG_ENDIAN_BITFIELD 1853 uint64_t reserved_2_63:62; 1854 uint64_t invres:1; 1855 uint64_t refin:1; 1856 #else 1857 uint64_t refin:1; 1858 uint64_t invres:1; 1859 uint64_t reserved_2_63:62; 1860 #endif 1861 } s; 1862 struct cvmx_pko_reg_crc_ctlx_s cn38xx; 1863 struct cvmx_pko_reg_crc_ctlx_s cn38xxp2; 1864 struct cvmx_pko_reg_crc_ctlx_s cn58xx; 1865 struct cvmx_pko_reg_crc_ctlx_s cn58xxp1; 1866 }; 1867 1868 union cvmx_pko_reg_crc_enable { 1869 uint64_t u64; 1870 struct cvmx_pko_reg_crc_enable_s { 1871 #ifdef __BIG_ENDIAN_BITFIELD 1872 uint64_t reserved_32_63:32; 1873 uint64_t enable:32; 1874 #else 1875 uint64_t enable:32; 1876 uint64_t reserved_32_63:32; 1877 #endif 1878 } s; 1879 struct cvmx_pko_reg_crc_enable_s cn38xx; 1880 struct cvmx_pko_reg_crc_enable_s cn38xxp2; 1881 struct cvmx_pko_reg_crc_enable_s cn58xx; 1882 struct cvmx_pko_reg_crc_enable_s cn58xxp1; 1883 }; 1884 1885 union cvmx_pko_reg_crc_ivx { 1886 uint64_t u64; 1887 struct cvmx_pko_reg_crc_ivx_s { 1888 #ifdef __BIG_ENDIAN_BITFIELD 1889 uint64_t reserved_32_63:32; 1890 uint64_t iv:32; 1891 #else 1892 uint64_t iv:32; 1893 uint64_t reserved_32_63:32; 1894 #endif 1895 } s; 1896 struct cvmx_pko_reg_crc_ivx_s cn38xx; 1897 struct cvmx_pko_reg_crc_ivx_s cn38xxp2; 1898 struct cvmx_pko_reg_crc_ivx_s cn58xx; 1899 struct cvmx_pko_reg_crc_ivx_s cn58xxp1; 1900 }; 1901 1902 union cvmx_pko_reg_debug0 { 1903 uint64_t u64; 1904 struct cvmx_pko_reg_debug0_s { 1905 #ifdef __BIG_ENDIAN_BITFIELD 1906 uint64_t asserts:64; 1907 #else 1908 uint64_t asserts:64; 1909 #endif 1910 } s; 1911 struct cvmx_pko_reg_debug0_cn30xx { 1912 #ifdef __BIG_ENDIAN_BITFIELD 1913 uint64_t reserved_17_63:47; 1914 uint64_t asserts:17; 1915 #else 1916 uint64_t asserts:17; 1917 uint64_t reserved_17_63:47; 1918 #endif 1919 } cn30xx; 1920 struct cvmx_pko_reg_debug0_cn30xx cn31xx; 1921 struct cvmx_pko_reg_debug0_cn30xx cn38xx; 1922 struct cvmx_pko_reg_debug0_cn30xx cn38xxp2; 1923 struct cvmx_pko_reg_debug0_s cn50xx; 1924 struct cvmx_pko_reg_debug0_s cn52xx; 1925 struct cvmx_pko_reg_debug0_s cn52xxp1; 1926 struct cvmx_pko_reg_debug0_s cn56xx; 1927 struct cvmx_pko_reg_debug0_s cn56xxp1; 1928 struct cvmx_pko_reg_debug0_s cn58xx; 1929 struct cvmx_pko_reg_debug0_s cn58xxp1; 1930 struct cvmx_pko_reg_debug0_s cn61xx; 1931 struct cvmx_pko_reg_debug0_s cn63xx; 1932 struct cvmx_pko_reg_debug0_s cn63xxp1; 1933 struct cvmx_pko_reg_debug0_s cn66xx; 1934 struct cvmx_pko_reg_debug0_s cn68xx; 1935 struct cvmx_pko_reg_debug0_s cn68xxp1; 1936 struct cvmx_pko_reg_debug0_s cnf71xx; 1937 }; 1938 1939 union cvmx_pko_reg_debug1 { 1940 uint64_t u64; 1941 struct cvmx_pko_reg_debug1_s { 1942 #ifdef __BIG_ENDIAN_BITFIELD 1943 uint64_t asserts:64; 1944 #else 1945 uint64_t asserts:64; 1946 #endif 1947 } s; 1948 struct cvmx_pko_reg_debug1_s cn50xx; 1949 struct cvmx_pko_reg_debug1_s cn52xx; 1950 struct cvmx_pko_reg_debug1_s cn52xxp1; 1951 struct cvmx_pko_reg_debug1_s cn56xx; 1952 struct cvmx_pko_reg_debug1_s cn56xxp1; 1953 struct cvmx_pko_reg_debug1_s cn58xx; 1954 struct cvmx_pko_reg_debug1_s cn58xxp1; 1955 struct cvmx_pko_reg_debug1_s cn61xx; 1956 struct cvmx_pko_reg_debug1_s cn63xx; 1957 struct cvmx_pko_reg_debug1_s cn63xxp1; 1958 struct cvmx_pko_reg_debug1_s cn66xx; 1959 struct cvmx_pko_reg_debug1_s cn68xx; 1960 struct cvmx_pko_reg_debug1_s cn68xxp1; 1961 struct cvmx_pko_reg_debug1_s cnf71xx; 1962 }; 1963 1964 union cvmx_pko_reg_debug2 { 1965 uint64_t u64; 1966 struct cvmx_pko_reg_debug2_s { 1967 #ifdef __BIG_ENDIAN_BITFIELD 1968 uint64_t asserts:64; 1969 #else 1970 uint64_t asserts:64; 1971 #endif 1972 } s; 1973 struct cvmx_pko_reg_debug2_s cn50xx; 1974 struct cvmx_pko_reg_debug2_s cn52xx; 1975 struct cvmx_pko_reg_debug2_s cn52xxp1; 1976 struct cvmx_pko_reg_debug2_s cn56xx; 1977 struct cvmx_pko_reg_debug2_s cn56xxp1; 1978 struct cvmx_pko_reg_debug2_s cn58xx; 1979 struct cvmx_pko_reg_debug2_s cn58xxp1; 1980 struct cvmx_pko_reg_debug2_s cn61xx; 1981 struct cvmx_pko_reg_debug2_s cn63xx; 1982 struct cvmx_pko_reg_debug2_s cn63xxp1; 1983 struct cvmx_pko_reg_debug2_s cn66xx; 1984 struct cvmx_pko_reg_debug2_s cn68xx; 1985 struct cvmx_pko_reg_debug2_s cn68xxp1; 1986 struct cvmx_pko_reg_debug2_s cnf71xx; 1987 }; 1988 1989 union cvmx_pko_reg_debug3 { 1990 uint64_t u64; 1991 struct cvmx_pko_reg_debug3_s { 1992 #ifdef __BIG_ENDIAN_BITFIELD 1993 uint64_t asserts:64; 1994 #else 1995 uint64_t asserts:64; 1996 #endif 1997 } s; 1998 struct cvmx_pko_reg_debug3_s cn50xx; 1999 struct cvmx_pko_reg_debug3_s cn52xx; 2000 struct cvmx_pko_reg_debug3_s cn52xxp1; 2001 struct cvmx_pko_reg_debug3_s cn56xx; 2002 struct cvmx_pko_reg_debug3_s cn56xxp1; 2003 struct cvmx_pko_reg_debug3_s cn58xx; 2004 struct cvmx_pko_reg_debug3_s cn58xxp1; 2005 struct cvmx_pko_reg_debug3_s cn61xx; 2006 struct cvmx_pko_reg_debug3_s cn63xx; 2007 struct cvmx_pko_reg_debug3_s cn63xxp1; 2008 struct cvmx_pko_reg_debug3_s cn66xx; 2009 struct cvmx_pko_reg_debug3_s cn68xx; 2010 struct cvmx_pko_reg_debug3_s cn68xxp1; 2011 struct cvmx_pko_reg_debug3_s cnf71xx; 2012 }; 2013 2014 union cvmx_pko_reg_debug4 { 2015 uint64_t u64; 2016 struct cvmx_pko_reg_debug4_s { 2017 #ifdef __BIG_ENDIAN_BITFIELD 2018 uint64_t asserts:64; 2019 #else 2020 uint64_t asserts:64; 2021 #endif 2022 } s; 2023 struct cvmx_pko_reg_debug4_s cn68xx; 2024 struct cvmx_pko_reg_debug4_s cn68xxp1; 2025 }; 2026 2027 union cvmx_pko_reg_engine_inflight { 2028 uint64_t u64; 2029 struct cvmx_pko_reg_engine_inflight_s { 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 2048 uint64_t engine0:4; 2049 uint64_t engine1:4; 2050 uint64_t engine2:4; 2051 uint64_t engine3:4; 2052 uint64_t engine4:4; 2053 uint64_t engine5:4; 2054 uint64_t engine6:4; 2055 uint64_t engine7:4; 2056 uint64_t engine8:4; 2057 uint64_t engine9:4; 2058 uint64_t engine10:4; 2059 uint64_t engine11:4; 2060 uint64_t engine12:4; 2061 uint64_t engine13:4; 2062 uint64_t engine14:4; 2063 uint64_t engine15:4; 2064 #endif 2065 } s; 2066 struct cvmx_pko_reg_engine_inflight_cn52xx { 2067 #ifdef __BIG_ENDIAN_BITFIELD 2068 uint64_t reserved_40_63:24; 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 2080 uint64_t engine0:4; 2081 uint64_t engine1:4; 2082 uint64_t engine2:4; 2083 uint64_t engine3:4; 2084 uint64_t engine4:4; 2085 uint64_t engine5:4; 2086 uint64_t engine6:4; 2087 uint64_t engine7:4; 2088 uint64_t engine8:4; 2089 uint64_t engine9:4; 2090 uint64_t reserved_40_63:24; 2091 #endif 2092 } cn52xx; 2093 struct cvmx_pko_reg_engine_inflight_cn52xx cn52xxp1; 2094 struct cvmx_pko_reg_engine_inflight_cn52xx cn56xx; 2095 struct cvmx_pko_reg_engine_inflight_cn52xx cn56xxp1; 2096 struct cvmx_pko_reg_engine_inflight_cn61xx { 2097 #ifdef __BIG_ENDIAN_BITFIELD 2098 uint64_t reserved_56_63:8; 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 2114 uint64_t engine0:4; 2115 uint64_t engine1:4; 2116 uint64_t engine2:4; 2117 uint64_t engine3:4; 2118 uint64_t engine4:4; 2119 uint64_t engine5:4; 2120 uint64_t engine6:4; 2121 uint64_t engine7:4; 2122 uint64_t engine8:4; 2123 uint64_t engine9:4; 2124 uint64_t engine10:4; 2125 uint64_t engine11:4; 2126 uint64_t engine12:4; 2127 uint64_t engine13:4; 2128 uint64_t reserved_56_63:8; 2129 #endif 2130 } cn61xx; 2131 struct cvmx_pko_reg_engine_inflight_cn63xx { 2132 #ifdef __BIG_ENDIAN_BITFIELD 2133 uint64_t reserved_48_63:16; 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 2147 uint64_t engine0:4; 2148 uint64_t engine1:4; 2149 uint64_t engine2:4; 2150 uint64_t engine3:4; 2151 uint64_t engine4:4; 2152 uint64_t engine5:4; 2153 uint64_t engine6:4; 2154 uint64_t engine7:4; 2155 uint64_t engine8:4; 2156 uint64_t engine9:4; 2157 uint64_t engine10:4; 2158 uint64_t engine11:4; 2159 uint64_t reserved_48_63:16; 2160 #endif 2161 } cn63xx; 2162 struct cvmx_pko_reg_engine_inflight_cn63xx cn63xxp1; 2163 struct cvmx_pko_reg_engine_inflight_cn61xx cn66xx; 2164 struct cvmx_pko_reg_engine_inflight_s cn68xx; 2165 struct cvmx_pko_reg_engine_inflight_s cn68xxp1; 2166 struct cvmx_pko_reg_engine_inflight_cn61xx cnf71xx; 2167 }; 2168 2169 union cvmx_pko_reg_engine_inflight1 { 2170 uint64_t u64; 2171 struct cvmx_pko_reg_engine_inflight1_s { 2172 #ifdef __BIG_ENDIAN_BITFIELD 2173 uint64_t reserved_16_63:48; 2174 uint64_t engine19:4; 2175 uint64_t engine18:4; 2176 uint64_t engine17:4; 2177 uint64_t engine16:4; 2178 #else 2179 uint64_t engine16:4; 2180 uint64_t engine17:4; 2181 uint64_t engine18:4; 2182 uint64_t engine19:4; 2183 uint64_t reserved_16_63:48; 2184 #endif 2185 } s; 2186 struct cvmx_pko_reg_engine_inflight1_s cn68xx; 2187 struct cvmx_pko_reg_engine_inflight1_s cn68xxp1; 2188 }; 2189 2190 union cvmx_pko_reg_engine_storagex { 2191 uint64_t u64; 2192 struct cvmx_pko_reg_engine_storagex_s { 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 2211 uint64_t engine0:4; 2212 uint64_t engine1:4; 2213 uint64_t engine2:4; 2214 uint64_t engine3:4; 2215 uint64_t engine4:4; 2216 uint64_t engine5:4; 2217 uint64_t engine6:4; 2218 uint64_t engine7:4; 2219 uint64_t engine8:4; 2220 uint64_t engine9:4; 2221 uint64_t engine10:4; 2222 uint64_t engine11:4; 2223 uint64_t engine12:4; 2224 uint64_t engine13:4; 2225 uint64_t engine14:4; 2226 uint64_t engine15:4; 2227 #endif 2228 } s; 2229 struct cvmx_pko_reg_engine_storagex_s cn68xx; 2230 struct cvmx_pko_reg_engine_storagex_s cn68xxp1; 2231 }; 2232 2233 union cvmx_pko_reg_engine_thresh { 2234 uint64_t u64; 2235 struct cvmx_pko_reg_engine_thresh_s { 2236 #ifdef __BIG_ENDIAN_BITFIELD 2237 uint64_t reserved_20_63:44; 2238 uint64_t mask:20; 2239 #else 2240 uint64_t mask:20; 2241 uint64_t reserved_20_63:44; 2242 #endif 2243 } s; 2244 struct cvmx_pko_reg_engine_thresh_cn52xx { 2245 #ifdef __BIG_ENDIAN_BITFIELD 2246 uint64_t reserved_10_63:54; 2247 uint64_t mask:10; 2248 #else 2249 uint64_t mask:10; 2250 uint64_t reserved_10_63:54; 2251 #endif 2252 } cn52xx; 2253 struct cvmx_pko_reg_engine_thresh_cn52xx cn52xxp1; 2254 struct cvmx_pko_reg_engine_thresh_cn52xx cn56xx; 2255 struct cvmx_pko_reg_engine_thresh_cn52xx cn56xxp1; 2256 struct cvmx_pko_reg_engine_thresh_cn61xx { 2257 #ifdef __BIG_ENDIAN_BITFIELD 2258 uint64_t reserved_14_63:50; 2259 uint64_t mask:14; 2260 #else 2261 uint64_t mask:14; 2262 uint64_t reserved_14_63:50; 2263 #endif 2264 } cn61xx; 2265 struct cvmx_pko_reg_engine_thresh_cn63xx { 2266 #ifdef __BIG_ENDIAN_BITFIELD 2267 uint64_t reserved_12_63:52; 2268 uint64_t mask:12; 2269 #else 2270 uint64_t mask:12; 2271 uint64_t reserved_12_63:52; 2272 #endif 2273 } cn63xx; 2274 struct cvmx_pko_reg_engine_thresh_cn63xx cn63xxp1; 2275 struct cvmx_pko_reg_engine_thresh_cn61xx cn66xx; 2276 struct cvmx_pko_reg_engine_thresh_s cn68xx; 2277 struct cvmx_pko_reg_engine_thresh_s cn68xxp1; 2278 struct cvmx_pko_reg_engine_thresh_cn61xx cnf71xx; 2279 }; 2280 2281 union cvmx_pko_reg_error { 2282 uint64_t u64; 2283 struct cvmx_pko_reg_error_s { 2284 #ifdef __BIG_ENDIAN_BITFIELD 2285 uint64_t reserved_4_63:60; 2286 uint64_t loopback:1; 2287 uint64_t currzero:1; 2288 uint64_t doorbell:1; 2289 uint64_t parity:1; 2290 #else 2291 uint64_t parity:1; 2292 uint64_t doorbell:1; 2293 uint64_t currzero:1; 2294 uint64_t loopback:1; 2295 uint64_t reserved_4_63:60; 2296 #endif 2297 } s; 2298 struct cvmx_pko_reg_error_cn30xx { 2299 #ifdef __BIG_ENDIAN_BITFIELD 2300 uint64_t reserved_2_63:62; 2301 uint64_t doorbell:1; 2302 uint64_t parity:1; 2303 #else 2304 uint64_t parity:1; 2305 uint64_t doorbell:1; 2306 uint64_t reserved_2_63:62; 2307 #endif 2308 } cn30xx; 2309 struct cvmx_pko_reg_error_cn30xx cn31xx; 2310 struct cvmx_pko_reg_error_cn30xx cn38xx; 2311 struct cvmx_pko_reg_error_cn30xx cn38xxp2; 2312 struct cvmx_pko_reg_error_cn50xx { 2313 #ifdef __BIG_ENDIAN_BITFIELD 2314 uint64_t reserved_3_63:61; 2315 uint64_t currzero:1; 2316 uint64_t doorbell:1; 2317 uint64_t parity:1; 2318 #else 2319 uint64_t parity:1; 2320 uint64_t doorbell:1; 2321 uint64_t currzero:1; 2322 uint64_t reserved_3_63:61; 2323 #endif 2324 } cn50xx; 2325 struct cvmx_pko_reg_error_cn50xx cn52xx; 2326 struct cvmx_pko_reg_error_cn50xx cn52xxp1; 2327 struct cvmx_pko_reg_error_cn50xx cn56xx; 2328 struct cvmx_pko_reg_error_cn50xx cn56xxp1; 2329 struct cvmx_pko_reg_error_cn50xx cn58xx; 2330 struct cvmx_pko_reg_error_cn50xx cn58xxp1; 2331 struct cvmx_pko_reg_error_cn50xx cn61xx; 2332 struct cvmx_pko_reg_error_cn50xx cn63xx; 2333 struct cvmx_pko_reg_error_cn50xx cn63xxp1; 2334 struct cvmx_pko_reg_error_cn50xx cn66xx; 2335 struct cvmx_pko_reg_error_s cn68xx; 2336 struct cvmx_pko_reg_error_s cn68xxp1; 2337 struct cvmx_pko_reg_error_cn50xx cnf71xx; 2338 }; 2339 2340 union cvmx_pko_reg_flags { 2341 uint64_t u64; 2342 struct cvmx_pko_reg_flags_s { 2343 #ifdef __BIG_ENDIAN_BITFIELD 2344 uint64_t reserved_9_63:55; 2345 uint64_t dis_perf3:1; 2346 uint64_t dis_perf2:1; 2347 uint64_t dis_perf1:1; 2348 uint64_t dis_perf0:1; 2349 uint64_t ena_throttle: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 2355 uint64_t ena_pko:1; 2356 uint64_t ena_dwb:1; 2357 uint64_t store_be:1; 2358 uint64_t reset:1; 2359 uint64_t ena_throttle:1; 2360 uint64_t dis_perf0:1; 2361 uint64_t dis_perf1:1; 2362 uint64_t dis_perf2:1; 2363 uint64_t dis_perf3:1; 2364 uint64_t reserved_9_63:55; 2365 #endif 2366 } s; 2367 struct cvmx_pko_reg_flags_cn30xx { 2368 #ifdef __BIG_ENDIAN_BITFIELD 2369 uint64_t reserved_4_63:60; 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 2375 uint64_t ena_pko:1; 2376 uint64_t ena_dwb:1; 2377 uint64_t store_be:1; 2378 uint64_t reset:1; 2379 uint64_t reserved_4_63:60; 2380 #endif 2381 } cn30xx; 2382 struct cvmx_pko_reg_flags_cn30xx cn31xx; 2383 struct cvmx_pko_reg_flags_cn30xx cn38xx; 2384 struct cvmx_pko_reg_flags_cn30xx cn38xxp2; 2385 struct cvmx_pko_reg_flags_cn30xx cn50xx; 2386 struct cvmx_pko_reg_flags_cn30xx cn52xx; 2387 struct cvmx_pko_reg_flags_cn30xx cn52xxp1; 2388 struct cvmx_pko_reg_flags_cn30xx cn56xx; 2389 struct cvmx_pko_reg_flags_cn30xx cn56xxp1; 2390 struct cvmx_pko_reg_flags_cn30xx cn58xx; 2391 struct cvmx_pko_reg_flags_cn30xx cn58xxp1; 2392 struct cvmx_pko_reg_flags_cn61xx { 2393 #ifdef __BIG_ENDIAN_BITFIELD 2394 uint64_t reserved_9_63:55; 2395 uint64_t dis_perf3:1; 2396 uint64_t dis_perf2:1; 2397 uint64_t reserved_4_6:3; 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 2403 uint64_t ena_pko:1; 2404 uint64_t ena_dwb:1; 2405 uint64_t store_be:1; 2406 uint64_t reset:1; 2407 uint64_t reserved_4_6:3; 2408 uint64_t dis_perf2:1; 2409 uint64_t dis_perf3:1; 2410 uint64_t reserved_9_63:55; 2411 #endif 2412 } cn61xx; 2413 struct cvmx_pko_reg_flags_cn30xx cn63xx; 2414 struct cvmx_pko_reg_flags_cn30xx cn63xxp1; 2415 struct cvmx_pko_reg_flags_cn61xx cn66xx; 2416 struct cvmx_pko_reg_flags_s cn68xx; 2417 struct cvmx_pko_reg_flags_cn68xxp1 { 2418 #ifdef __BIG_ENDIAN_BITFIELD 2419 uint64_t reserved_7_63:57; 2420 uint64_t dis_perf1:1; 2421 uint64_t dis_perf0:1; 2422 uint64_t ena_throttle: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 2428 uint64_t ena_pko:1; 2429 uint64_t ena_dwb:1; 2430 uint64_t store_be:1; 2431 uint64_t reset:1; 2432 uint64_t ena_throttle:1; 2433 uint64_t dis_perf0:1; 2434 uint64_t dis_perf1:1; 2435 uint64_t reserved_7_63:57; 2436 #endif 2437 } cn68xxp1; 2438 struct cvmx_pko_reg_flags_cn61xx cnf71xx; 2439 }; 2440 2441 union cvmx_pko_reg_gmx_port_mode { 2442 uint64_t u64; 2443 struct cvmx_pko_reg_gmx_port_mode_s { 2444 #ifdef __BIG_ENDIAN_BITFIELD 2445 uint64_t reserved_6_63:58; 2446 uint64_t mode1:3; 2447 uint64_t mode0:3; 2448 #else 2449 uint64_t mode0:3; 2450 uint64_t mode1:3; 2451 uint64_t reserved_6_63:58; 2452 #endif 2453 } s; 2454 struct cvmx_pko_reg_gmx_port_mode_s cn30xx; 2455 struct cvmx_pko_reg_gmx_port_mode_s cn31xx; 2456 struct cvmx_pko_reg_gmx_port_mode_s cn38xx; 2457 struct cvmx_pko_reg_gmx_port_mode_s cn38xxp2; 2458 struct cvmx_pko_reg_gmx_port_mode_s cn50xx; 2459 struct cvmx_pko_reg_gmx_port_mode_s cn52xx; 2460 struct cvmx_pko_reg_gmx_port_mode_s cn52xxp1; 2461 struct cvmx_pko_reg_gmx_port_mode_s cn56xx; 2462 struct cvmx_pko_reg_gmx_port_mode_s cn56xxp1; 2463 struct cvmx_pko_reg_gmx_port_mode_s cn58xx; 2464 struct cvmx_pko_reg_gmx_port_mode_s cn58xxp1; 2465 struct cvmx_pko_reg_gmx_port_mode_s cn61xx; 2466 struct cvmx_pko_reg_gmx_port_mode_s cn63xx; 2467 struct cvmx_pko_reg_gmx_port_mode_s cn63xxp1; 2468 struct cvmx_pko_reg_gmx_port_mode_s cn66xx; 2469 struct cvmx_pko_reg_gmx_port_mode_s cnf71xx; 2470 }; 2471 2472 union cvmx_pko_reg_int_mask { 2473 uint64_t u64; 2474 struct cvmx_pko_reg_int_mask_s { 2475 #ifdef __BIG_ENDIAN_BITFIELD 2476 uint64_t reserved_4_63:60; 2477 uint64_t loopback:1; 2478 uint64_t currzero:1; 2479 uint64_t doorbell:1; 2480 uint64_t parity:1; 2481 #else 2482 uint64_t parity:1; 2483 uint64_t doorbell:1; 2484 uint64_t currzero:1; 2485 uint64_t loopback:1; 2486 uint64_t reserved_4_63:60; 2487 #endif 2488 } s; 2489 struct cvmx_pko_reg_int_mask_cn30xx { 2490 #ifdef __BIG_ENDIAN_BITFIELD 2491 uint64_t reserved_2_63:62; 2492 uint64_t doorbell:1; 2493 uint64_t parity:1; 2494 #else 2495 uint64_t parity:1; 2496 uint64_t doorbell:1; 2497 uint64_t reserved_2_63:62; 2498 #endif 2499 } cn30xx; 2500 struct cvmx_pko_reg_int_mask_cn30xx cn31xx; 2501 struct cvmx_pko_reg_int_mask_cn30xx cn38xx; 2502 struct cvmx_pko_reg_int_mask_cn30xx cn38xxp2; 2503 struct cvmx_pko_reg_int_mask_cn50xx { 2504 #ifdef __BIG_ENDIAN_BITFIELD 2505 uint64_t reserved_3_63:61; 2506 uint64_t currzero:1; 2507 uint64_t doorbell:1; 2508 uint64_t parity:1; 2509 #else 2510 uint64_t parity:1; 2511 uint64_t doorbell:1; 2512 uint64_t currzero:1; 2513 uint64_t reserved_3_63:61; 2514 #endif 2515 } cn50xx; 2516 struct cvmx_pko_reg_int_mask_cn50xx cn52xx; 2517 struct cvmx_pko_reg_int_mask_cn50xx cn52xxp1; 2518 struct cvmx_pko_reg_int_mask_cn50xx cn56xx; 2519 struct cvmx_pko_reg_int_mask_cn50xx cn56xxp1; 2520 struct cvmx_pko_reg_int_mask_cn50xx cn58xx; 2521 struct cvmx_pko_reg_int_mask_cn50xx cn58xxp1; 2522 struct cvmx_pko_reg_int_mask_cn50xx cn61xx; 2523 struct cvmx_pko_reg_int_mask_cn50xx cn63xx; 2524 struct cvmx_pko_reg_int_mask_cn50xx cn63xxp1; 2525 struct cvmx_pko_reg_int_mask_cn50xx cn66xx; 2526 struct cvmx_pko_reg_int_mask_s cn68xx; 2527 struct cvmx_pko_reg_int_mask_s cn68xxp1; 2528 struct cvmx_pko_reg_int_mask_cn50xx cnf71xx; 2529 }; 2530 2531 union cvmx_pko_reg_loopback_bpid { 2532 uint64_t u64; 2533 struct cvmx_pko_reg_loopback_bpid_s { 2534 #ifdef __BIG_ENDIAN_BITFIELD 2535 uint64_t reserved_59_63:5; 2536 uint64_t bpid7:6; 2537 uint64_t reserved_52_52:1; 2538 uint64_t bpid6:6; 2539 uint64_t reserved_45_45:1; 2540 uint64_t bpid5:6; 2541 uint64_t reserved_38_38:1; 2542 uint64_t bpid4:6; 2543 uint64_t reserved_31_31:1; 2544 uint64_t bpid3:6; 2545 uint64_t reserved_24_24:1; 2546 uint64_t bpid2:6; 2547 uint64_t reserved_17_17:1; 2548 uint64_t bpid1:6; 2549 uint64_t reserved_10_10:1; 2550 uint64_t bpid0:6; 2551 uint64_t reserved_0_3:4; 2552 #else 2553 uint64_t reserved_0_3:4; 2554 uint64_t bpid0:6; 2555 uint64_t reserved_10_10:1; 2556 uint64_t bpid1:6; 2557 uint64_t reserved_17_17:1; 2558 uint64_t bpid2:6; 2559 uint64_t reserved_24_24:1; 2560 uint64_t bpid3:6; 2561 uint64_t reserved_31_31:1; 2562 uint64_t bpid4:6; 2563 uint64_t reserved_38_38:1; 2564 uint64_t bpid5:6; 2565 uint64_t reserved_45_45:1; 2566 uint64_t bpid6:6; 2567 uint64_t reserved_52_52:1; 2568 uint64_t bpid7:6; 2569 uint64_t reserved_59_63:5; 2570 #endif 2571 } s; 2572 struct cvmx_pko_reg_loopback_bpid_s cn68xx; 2573 struct cvmx_pko_reg_loopback_bpid_s cn68xxp1; 2574 }; 2575 2576 union cvmx_pko_reg_loopback_pkind { 2577 uint64_t u64; 2578 struct cvmx_pko_reg_loopback_pkind_s { 2579 #ifdef __BIG_ENDIAN_BITFIELD 2580 uint64_t reserved_59_63:5; 2581 uint64_t pkind7:6; 2582 uint64_t reserved_52_52:1; 2583 uint64_t pkind6:6; 2584 uint64_t reserved_45_45:1; 2585 uint64_t pkind5:6; 2586 uint64_t reserved_38_38:1; 2587 uint64_t pkind4:6; 2588 uint64_t reserved_31_31:1; 2589 uint64_t pkind3:6; 2590 uint64_t reserved_24_24:1; 2591 uint64_t pkind2:6; 2592 uint64_t reserved_17_17:1; 2593 uint64_t pkind1:6; 2594 uint64_t reserved_10_10:1; 2595 uint64_t pkind0:6; 2596 uint64_t num_ports:4; 2597 #else 2598 uint64_t num_ports:4; 2599 uint64_t pkind0:6; 2600 uint64_t reserved_10_10:1; 2601 uint64_t pkind1:6; 2602 uint64_t reserved_17_17:1; 2603 uint64_t pkind2:6; 2604 uint64_t reserved_24_24:1; 2605 uint64_t pkind3:6; 2606 uint64_t reserved_31_31:1; 2607 uint64_t pkind4:6; 2608 uint64_t reserved_38_38:1; 2609 uint64_t pkind5:6; 2610 uint64_t reserved_45_45:1; 2611 uint64_t pkind6:6; 2612 uint64_t reserved_52_52:1; 2613 uint64_t pkind7:6; 2614 uint64_t reserved_59_63:5; 2615 #endif 2616 } s; 2617 struct cvmx_pko_reg_loopback_pkind_s cn68xx; 2618 struct cvmx_pko_reg_loopback_pkind_s cn68xxp1; 2619 }; 2620 2621 union cvmx_pko_reg_min_pkt { 2622 uint64_t u64; 2623 struct cvmx_pko_reg_min_pkt_s { 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 2634 uint64_t size0:8; 2635 uint64_t size1:8; 2636 uint64_t size2:8; 2637 uint64_t size3:8; 2638 uint64_t size4:8; 2639 uint64_t size5:8; 2640 uint64_t size6:8; 2641 uint64_t size7:8; 2642 #endif 2643 } s; 2644 struct cvmx_pko_reg_min_pkt_s cn68xx; 2645 struct cvmx_pko_reg_min_pkt_s cn68xxp1; 2646 }; 2647 2648 union cvmx_pko_reg_preempt { 2649 uint64_t u64; 2650 struct cvmx_pko_reg_preempt_s { 2651 #ifdef __BIG_ENDIAN_BITFIELD 2652 uint64_t reserved_16_63:48; 2653 uint64_t min_size:16; 2654 #else 2655 uint64_t min_size:16; 2656 uint64_t reserved_16_63:48; 2657 #endif 2658 } s; 2659 struct cvmx_pko_reg_preempt_s cn52xx; 2660 struct cvmx_pko_reg_preempt_s cn52xxp1; 2661 struct cvmx_pko_reg_preempt_s cn56xx; 2662 struct cvmx_pko_reg_preempt_s cn56xxp1; 2663 struct cvmx_pko_reg_preempt_s cn61xx; 2664 struct cvmx_pko_reg_preempt_s cn63xx; 2665 struct cvmx_pko_reg_preempt_s cn63xxp1; 2666 struct cvmx_pko_reg_preempt_s cn66xx; 2667 struct cvmx_pko_reg_preempt_s cn68xx; 2668 struct cvmx_pko_reg_preempt_s cn68xxp1; 2669 struct cvmx_pko_reg_preempt_s cnf71xx; 2670 }; 2671 2672 union cvmx_pko_reg_queue_mode { 2673 uint64_t u64; 2674 struct cvmx_pko_reg_queue_mode_s { 2675 #ifdef __BIG_ENDIAN_BITFIELD 2676 uint64_t reserved_2_63:62; 2677 uint64_t mode:2; 2678 #else 2679 uint64_t mode:2; 2680 uint64_t reserved_2_63:62; 2681 #endif 2682 } s; 2683 struct cvmx_pko_reg_queue_mode_s cn30xx; 2684 struct cvmx_pko_reg_queue_mode_s cn31xx; 2685 struct cvmx_pko_reg_queue_mode_s cn38xx; 2686 struct cvmx_pko_reg_queue_mode_s cn38xxp2; 2687 struct cvmx_pko_reg_queue_mode_s cn50xx; 2688 struct cvmx_pko_reg_queue_mode_s cn52xx; 2689 struct cvmx_pko_reg_queue_mode_s cn52xxp1; 2690 struct cvmx_pko_reg_queue_mode_s cn56xx; 2691 struct cvmx_pko_reg_queue_mode_s cn56xxp1; 2692 struct cvmx_pko_reg_queue_mode_s cn58xx; 2693 struct cvmx_pko_reg_queue_mode_s cn58xxp1; 2694 struct cvmx_pko_reg_queue_mode_s cn61xx; 2695 struct cvmx_pko_reg_queue_mode_s cn63xx; 2696 struct cvmx_pko_reg_queue_mode_s cn63xxp1; 2697 struct cvmx_pko_reg_queue_mode_s cn66xx; 2698 struct cvmx_pko_reg_queue_mode_s cn68xx; 2699 struct cvmx_pko_reg_queue_mode_s cn68xxp1; 2700 struct cvmx_pko_reg_queue_mode_s cnf71xx; 2701 }; 2702 2703 union cvmx_pko_reg_queue_preempt { 2704 uint64_t u64; 2705 struct cvmx_pko_reg_queue_preempt_s { 2706 #ifdef __BIG_ENDIAN_BITFIELD 2707 uint64_t reserved_2_63:62; 2708 uint64_t preemptee:1; 2709 uint64_t preempter:1; 2710 #else 2711 uint64_t preempter:1; 2712 uint64_t preemptee:1; 2713 uint64_t reserved_2_63:62; 2714 #endif 2715 } s; 2716 struct cvmx_pko_reg_queue_preempt_s cn52xx; 2717 struct cvmx_pko_reg_queue_preempt_s cn52xxp1; 2718 struct cvmx_pko_reg_queue_preempt_s cn56xx; 2719 struct cvmx_pko_reg_queue_preempt_s cn56xxp1; 2720 struct cvmx_pko_reg_queue_preempt_s cn61xx; 2721 struct cvmx_pko_reg_queue_preempt_s cn63xx; 2722 struct cvmx_pko_reg_queue_preempt_s cn63xxp1; 2723 struct cvmx_pko_reg_queue_preempt_s cn66xx; 2724 struct cvmx_pko_reg_queue_preempt_s cn68xx; 2725 struct cvmx_pko_reg_queue_preempt_s cn68xxp1; 2726 struct cvmx_pko_reg_queue_preempt_s cnf71xx; 2727 }; 2728 2729 union cvmx_pko_reg_queue_ptrs1 { 2730 uint64_t u64; 2731 struct cvmx_pko_reg_queue_ptrs1_s { 2732 #ifdef __BIG_ENDIAN_BITFIELD 2733 uint64_t reserved_2_63:62; 2734 uint64_t idx3:1; 2735 uint64_t qid7:1; 2736 #else 2737 uint64_t qid7:1; 2738 uint64_t idx3:1; 2739 uint64_t reserved_2_63:62; 2740 #endif 2741 } s; 2742 struct cvmx_pko_reg_queue_ptrs1_s cn50xx; 2743 struct cvmx_pko_reg_queue_ptrs1_s cn52xx; 2744 struct cvmx_pko_reg_queue_ptrs1_s cn52xxp1; 2745 struct cvmx_pko_reg_queue_ptrs1_s cn56xx; 2746 struct cvmx_pko_reg_queue_ptrs1_s cn56xxp1; 2747 struct cvmx_pko_reg_queue_ptrs1_s cn58xx; 2748 struct cvmx_pko_reg_queue_ptrs1_s cn58xxp1; 2749 struct cvmx_pko_reg_queue_ptrs1_s cn61xx; 2750 struct cvmx_pko_reg_queue_ptrs1_s cn63xx; 2751 struct cvmx_pko_reg_queue_ptrs1_s cn63xxp1; 2752 struct cvmx_pko_reg_queue_ptrs1_s cn66xx; 2753 struct cvmx_pko_reg_queue_ptrs1_s cnf71xx; 2754 }; 2755 2756 union cvmx_pko_reg_read_idx { 2757 uint64_t u64; 2758 struct cvmx_pko_reg_read_idx_s { 2759 #ifdef __BIG_ENDIAN_BITFIELD 2760 uint64_t reserved_16_63:48; 2761 uint64_t inc:8; 2762 uint64_t index:8; 2763 #else 2764 uint64_t index:8; 2765 uint64_t inc:8; 2766 uint64_t reserved_16_63:48; 2767 #endif 2768 } s; 2769 struct cvmx_pko_reg_read_idx_s cn30xx; 2770 struct cvmx_pko_reg_read_idx_s cn31xx; 2771 struct cvmx_pko_reg_read_idx_s cn38xx; 2772 struct cvmx_pko_reg_read_idx_s cn38xxp2; 2773 struct cvmx_pko_reg_read_idx_s cn50xx; 2774 struct cvmx_pko_reg_read_idx_s cn52xx; 2775 struct cvmx_pko_reg_read_idx_s cn52xxp1; 2776 struct cvmx_pko_reg_read_idx_s cn56xx; 2777 struct cvmx_pko_reg_read_idx_s cn56xxp1; 2778 struct cvmx_pko_reg_read_idx_s cn58xx; 2779 struct cvmx_pko_reg_read_idx_s cn58xxp1; 2780 struct cvmx_pko_reg_read_idx_s cn61xx; 2781 struct cvmx_pko_reg_read_idx_s cn63xx; 2782 struct cvmx_pko_reg_read_idx_s cn63xxp1; 2783 struct cvmx_pko_reg_read_idx_s cn66xx; 2784 struct cvmx_pko_reg_read_idx_s cn68xx; 2785 struct cvmx_pko_reg_read_idx_s cn68xxp1; 2786 struct cvmx_pko_reg_read_idx_s cnf71xx; 2787 }; 2788 2789 union cvmx_pko_reg_throttle { 2790 uint64_t u64; 2791 struct cvmx_pko_reg_throttle_s { 2792 #ifdef __BIG_ENDIAN_BITFIELD 2793 uint64_t reserved_32_63:32; 2794 uint64_t int_mask:32; 2795 #else 2796 uint64_t int_mask:32; 2797 uint64_t reserved_32_63:32; 2798 #endif 2799 } s; 2800 struct cvmx_pko_reg_throttle_s cn68xx; 2801 struct cvmx_pko_reg_throttle_s cn68xxp1; 2802 }; 2803 2804 union cvmx_pko_reg_timestamp { 2805 uint64_t u64; 2806 struct cvmx_pko_reg_timestamp_s { 2807 #ifdef __BIG_ENDIAN_BITFIELD 2808 uint64_t reserved_4_63:60; 2809 uint64_t wqe_word:4; 2810 #else 2811 uint64_t wqe_word:4; 2812 uint64_t reserved_4_63:60; 2813 #endif 2814 } s; 2815 struct cvmx_pko_reg_timestamp_s cn61xx; 2816 struct cvmx_pko_reg_timestamp_s cn63xx; 2817 struct cvmx_pko_reg_timestamp_s cn63xxp1; 2818 struct cvmx_pko_reg_timestamp_s cn66xx; 2819 struct cvmx_pko_reg_timestamp_s cn68xx; 2820 struct cvmx_pko_reg_timestamp_s cn68xxp1; 2821 struct cvmx_pko_reg_timestamp_s cnf71xx; 2822 }; 2823 2824 #endif 2825