154293ec3SDavid Daney /***********************license start*************** 254293ec3SDavid Daney * Author: Cavium Networks 354293ec3SDavid Daney * 454293ec3SDavid Daney * Contact: support@caviumnetworks.com 554293ec3SDavid Daney * This file is part of the OCTEON SDK 654293ec3SDavid Daney * 7c5aa59e8SDavid Daney * Copyright (c) 2003-2012 Cavium Networks 854293ec3SDavid Daney * 954293ec3SDavid Daney * This file is free software; you can redistribute it and/or modify 1054293ec3SDavid Daney * it under the terms of the GNU General Public License, Version 2, as 1154293ec3SDavid Daney * published by the Free Software Foundation. 1254293ec3SDavid Daney * 1354293ec3SDavid Daney * This file is distributed in the hope that it will be useful, but 1454293ec3SDavid Daney * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty 1554293ec3SDavid Daney * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or 1654293ec3SDavid Daney * NONINFRINGEMENT. See the GNU General Public License for more 1754293ec3SDavid Daney * details. 1854293ec3SDavid Daney * 1954293ec3SDavid Daney * You should have received a copy of the GNU General Public License 2054293ec3SDavid Daney * along with this file; if not, write to the Free Software 2154293ec3SDavid Daney * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 2254293ec3SDavid Daney * or visit http://www.gnu.org/licenses/. 2354293ec3SDavid Daney * 2454293ec3SDavid Daney * This file may also be available under a different license from Cavium. 2554293ec3SDavid Daney * Contact Cavium Networks for more information 2654293ec3SDavid Daney ***********************license end**************************************/ 2754293ec3SDavid Daney 2854293ec3SDavid Daney #ifndef __CVMX_IPD_DEFS_H__ 2954293ec3SDavid Daney #define __CVMX_IPD_DEFS_H__ 3054293ec3SDavid Daney 31aa32a955SDavid Daney #define CVMX_IPD_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000000ull)) 32aa32a955SDavid Daney #define CVMX_IPD_1st_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000150ull)) 33aa32a955SDavid Daney #define CVMX_IPD_2nd_NEXT_PTR_BACK (CVMX_ADD_IO_SEG(0x00014F0000000158ull)) 34aa32a955SDavid Daney #define CVMX_IPD_BIST_STATUS (CVMX_ADD_IO_SEG(0x00014F00000007F8ull)) 35c5aa59e8SDavid Daney #define CVMX_IPD_BPIDX_MBUF_TH(offset) (CVMX_ADD_IO_SEG(0x00014F0000002000ull) + ((offset) & 63) * 8) 36c5aa59e8SDavid Daney #define CVMX_IPD_BPID_BP_COUNTERX(offset) (CVMX_ADD_IO_SEG(0x00014F0000003000ull) + ((offset) & 63) * 8) 37aa32a955SDavid Daney #define CVMX_IPD_BP_PRT_RED_END (CVMX_ADD_IO_SEG(0x00014F0000000328ull)) 38aa32a955SDavid Daney #define CVMX_IPD_CLK_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000338ull)) 39c5aa59e8SDavid Daney #define CVMX_IPD_CREDITS (CVMX_ADD_IO_SEG(0x00014F0000004410ull)) 40aa32a955SDavid Daney #define CVMX_IPD_CTL_STATUS (CVMX_ADD_IO_SEG(0x00014F0000000018ull)) 41c5aa59e8SDavid Daney #define CVMX_IPD_ECC_CTL (CVMX_ADD_IO_SEG(0x00014F0000004408ull)) 42c5aa59e8SDavid Daney #define CVMX_IPD_FREE_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000780ull)) 43c5aa59e8SDavid Daney #define CVMX_IPD_FREE_PTR_VALUE (CVMX_ADD_IO_SEG(0x00014F0000000788ull)) 44c5aa59e8SDavid Daney #define CVMX_IPD_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000790ull)) 45aa32a955SDavid Daney #define CVMX_IPD_INT_ENB (CVMX_ADD_IO_SEG(0x00014F0000000160ull)) 46aa32a955SDavid Daney #define CVMX_IPD_INT_SUM (CVMX_ADD_IO_SEG(0x00014F0000000168ull)) 47c5aa59e8SDavid Daney #define CVMX_IPD_NEXT_PKT_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A0ull)) 48c5aa59e8SDavid Daney #define CVMX_IPD_NEXT_WQE_PTR (CVMX_ADD_IO_SEG(0x00014F00000007A8ull)) 49aa32a955SDavid Daney #define CVMX_IPD_NOT_1ST_MBUFF_SKIP (CVMX_ADD_IO_SEG(0x00014F0000000008ull)) 50c5aa59e8SDavid Daney #define CVMX_IPD_ON_BP_DROP_PKTX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004100ull)) 51aa32a955SDavid Daney #define CVMX_IPD_PACKET_MBUFF_SIZE (CVMX_ADD_IO_SEG(0x00014F0000000010ull)) 52c5aa59e8SDavid Daney #define CVMX_IPD_PKT_ERR (CVMX_ADD_IO_SEG(0x00014F00000003F0ull)) 53aa32a955SDavid Daney #define CVMX_IPD_PKT_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000358ull)) 54aa32a955SDavid Daney #define CVMX_IPD_PORTX_BP_PAGE_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000028ull) + ((offset) & 63) * 8) 55aa32a955SDavid Daney #define CVMX_IPD_PORTX_BP_PAGE_CNT2(offset) (CVMX_ADD_IO_SEG(0x00014F0000000368ull) + ((offset) & 63) * 8 - 8*36) 56aa32a955SDavid Daney #define CVMX_IPD_PORTX_BP_PAGE_CNT3(offset) (CVMX_ADD_IO_SEG(0x00014F00000003D0ull) + ((offset) & 63) * 8 - 8*40) 57aa32a955SDavid Daney #define CVMX_IPD_PORT_BP_COUNTERS2_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000388ull) + ((offset) & 63) * 8 - 8*36) 58aa32a955SDavid Daney #define CVMX_IPD_PORT_BP_COUNTERS3_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000003B0ull) + ((offset) & 63) * 8 - 8*40) 59c5aa59e8SDavid Daney #define CVMX_IPD_PORT_BP_COUNTERS4_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000410ull) + ((offset) & 63) * 8 - 8*44) 60aa32a955SDavid Daney #define CVMX_IPD_PORT_BP_COUNTERS_PAIRX(offset) (CVMX_ADD_IO_SEG(0x00014F00000001B8ull) + ((offset) & 63) * 8) 61c5aa59e8SDavid Daney #define CVMX_IPD_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000798ull)) 62aa32a955SDavid Daney #define CVMX_IPD_PORT_QOS_INTX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000808ull) + ((offset) & 7) * 8) 63aa32a955SDavid Daney #define CVMX_IPD_PORT_QOS_INT_ENBX(offset) (CVMX_ADD_IO_SEG(0x00014F0000000848ull) + ((offset) & 7) * 8) 64aa32a955SDavid Daney #define CVMX_IPD_PORT_QOS_X_CNT(offset) (CVMX_ADD_IO_SEG(0x00014F0000000888ull) + ((offset) & 511) * 8) 65c5aa59e8SDavid Daney #define CVMX_IPD_PORT_SOPX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004400ull)) 66aa32a955SDavid Daney #define CVMX_IPD_PRC_HOLD_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000348ull)) 67aa32a955SDavid Daney #define CVMX_IPD_PRC_PORT_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000350ull)) 68aa32a955SDavid Daney #define CVMX_IPD_PTR_COUNT (CVMX_ADD_IO_SEG(0x00014F0000000320ull)) 69aa32a955SDavid Daney #define CVMX_IPD_PWP_PTR_FIFO_CTL (CVMX_ADD_IO_SEG(0x00014F0000000340ull)) 70aa32a955SDavid Daney #define CVMX_IPD_QOS0_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(0) 71aa32a955SDavid Daney #define CVMX_IPD_QOS1_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(1) 72aa32a955SDavid Daney #define CVMX_IPD_QOS2_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(2) 73aa32a955SDavid Daney #define CVMX_IPD_QOS3_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(3) 74aa32a955SDavid Daney #define CVMX_IPD_QOS4_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(4) 75aa32a955SDavid Daney #define CVMX_IPD_QOS5_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(5) 76aa32a955SDavid Daney #define CVMX_IPD_QOS6_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(6) 77aa32a955SDavid Daney #define CVMX_IPD_QOS7_RED_MARKS CVMX_IPD_QOSX_RED_MARKS(7) 78aa32a955SDavid Daney #define CVMX_IPD_QOSX_RED_MARKS(offset) (CVMX_ADD_IO_SEG(0x00014F0000000178ull) + ((offset) & 7) * 8) 79aa32a955SDavid Daney #define CVMX_IPD_QUE0_FREE_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000330ull)) 80c5aa59e8SDavid Daney #define CVMX_IPD_RED_BPID_ENABLEX(block_id) (CVMX_ADD_IO_SEG(0x00014F0000004200ull)) 81c5aa59e8SDavid Daney #define CVMX_IPD_RED_DELAY (CVMX_ADD_IO_SEG(0x00014F0000004300ull)) 82aa32a955SDavid Daney #define CVMX_IPD_RED_PORT_ENABLE (CVMX_ADD_IO_SEG(0x00014F00000002D8ull)) 83aa32a955SDavid Daney #define CVMX_IPD_RED_PORT_ENABLE2 (CVMX_ADD_IO_SEG(0x00014F00000003A8ull)) 84aa32a955SDavid Daney #define CVMX_IPD_RED_QUE0_PARAM CVMX_IPD_RED_QUEX_PARAM(0) 85aa32a955SDavid Daney #define CVMX_IPD_RED_QUE1_PARAM CVMX_IPD_RED_QUEX_PARAM(1) 86aa32a955SDavid Daney #define CVMX_IPD_RED_QUE2_PARAM CVMX_IPD_RED_QUEX_PARAM(2) 87aa32a955SDavid Daney #define CVMX_IPD_RED_QUE3_PARAM CVMX_IPD_RED_QUEX_PARAM(3) 88aa32a955SDavid Daney #define CVMX_IPD_RED_QUE4_PARAM CVMX_IPD_RED_QUEX_PARAM(4) 89aa32a955SDavid Daney #define CVMX_IPD_RED_QUE5_PARAM CVMX_IPD_RED_QUEX_PARAM(5) 90aa32a955SDavid Daney #define CVMX_IPD_RED_QUE6_PARAM CVMX_IPD_RED_QUEX_PARAM(6) 91aa32a955SDavid Daney #define CVMX_IPD_RED_QUE7_PARAM CVMX_IPD_RED_QUEX_PARAM(7) 92aa32a955SDavid Daney #define CVMX_IPD_RED_QUEX_PARAM(offset) (CVMX_ADD_IO_SEG(0x00014F00000002E0ull) + ((offset) & 7) * 8) 93c5aa59e8SDavid Daney #define CVMX_IPD_REQ_WGT (CVMX_ADD_IO_SEG(0x00014F0000004418ull)) 94aa32a955SDavid Daney #define CVMX_IPD_SUB_PORT_BP_PAGE_CNT (CVMX_ADD_IO_SEG(0x00014F0000000148ull)) 95aa32a955SDavid Daney #define CVMX_IPD_SUB_PORT_FCS (CVMX_ADD_IO_SEG(0x00014F0000000170ull)) 96aa32a955SDavid Daney #define CVMX_IPD_SUB_PORT_QOS_CNT (CVMX_ADD_IO_SEG(0x00014F0000000800ull)) 97aa32a955SDavid Daney #define CVMX_IPD_WQE_FPA_QUEUE (CVMX_ADD_IO_SEG(0x00014F0000000020ull)) 98aa32a955SDavid Daney #define CVMX_IPD_WQE_PTR_VALID (CVMX_ADD_IO_SEG(0x00014F0000000360ull)) 9954293ec3SDavid Daney 10054293ec3SDavid Daney union cvmx_ipd_1st_mbuff_skip { 10154293ec3SDavid Daney uint64_t u64; 10254293ec3SDavid Daney struct cvmx_ipd_1st_mbuff_skip_s { 103c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 10454293ec3SDavid Daney uint64_t reserved_6_63:58; 10554293ec3SDavid Daney uint64_t skip_sz:6; 106c5aa59e8SDavid Daney #else 107c5aa59e8SDavid Daney uint64_t skip_sz:6; 108c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 109c5aa59e8SDavid Daney #endif 11054293ec3SDavid Daney } s; 11154293ec3SDavid Daney }; 11254293ec3SDavid Daney 11354293ec3SDavid Daney union cvmx_ipd_1st_next_ptr_back { 11454293ec3SDavid Daney uint64_t u64; 11554293ec3SDavid Daney struct cvmx_ipd_1st_next_ptr_back_s { 116c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 11754293ec3SDavid Daney uint64_t reserved_4_63:60; 11854293ec3SDavid Daney uint64_t back:4; 119c5aa59e8SDavid Daney #else 120c5aa59e8SDavid Daney uint64_t back:4; 121c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 122c5aa59e8SDavid Daney #endif 12354293ec3SDavid Daney } s; 12454293ec3SDavid Daney }; 12554293ec3SDavid Daney 12654293ec3SDavid Daney union cvmx_ipd_2nd_next_ptr_back { 12754293ec3SDavid Daney uint64_t u64; 12854293ec3SDavid Daney struct cvmx_ipd_2nd_next_ptr_back_s { 129c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 13054293ec3SDavid Daney uint64_t reserved_4_63:60; 13154293ec3SDavid Daney uint64_t back:4; 132c5aa59e8SDavid Daney #else 133c5aa59e8SDavid Daney uint64_t back:4; 134c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 135c5aa59e8SDavid Daney #endif 13654293ec3SDavid Daney } s; 13754293ec3SDavid Daney }; 13854293ec3SDavid Daney 13954293ec3SDavid Daney union cvmx_ipd_bist_status { 14054293ec3SDavid Daney uint64_t u64; 14154293ec3SDavid Daney struct cvmx_ipd_bist_status_s { 142c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 143c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 144c5aa59e8SDavid Daney uint64_t iiwo1:1; 145c5aa59e8SDavid Daney uint64_t iiwo0:1; 146c5aa59e8SDavid Daney uint64_t iio1:1; 147c5aa59e8SDavid Daney uint64_t iio0:1; 148c5aa59e8SDavid Daney uint64_t pbm4:1; 149c5aa59e8SDavid Daney uint64_t csr_mem:1; 150c5aa59e8SDavid Daney uint64_t csr_ncmd:1; 151c5aa59e8SDavid Daney uint64_t pwq_wqed:1; 152c5aa59e8SDavid Daney uint64_t pwq_wp1:1; 153c5aa59e8SDavid Daney uint64_t pwq_pow:1; 154c5aa59e8SDavid Daney uint64_t ipq_pbe1:1; 155c5aa59e8SDavid Daney uint64_t ipq_pbe0:1; 156c5aa59e8SDavid Daney uint64_t pbm3:1; 157c5aa59e8SDavid Daney uint64_t pbm2:1; 158c5aa59e8SDavid Daney uint64_t pbm1:1; 159c5aa59e8SDavid Daney uint64_t pbm0:1; 160c5aa59e8SDavid Daney uint64_t pbm_word:1; 161c5aa59e8SDavid Daney uint64_t pwq1:1; 162c5aa59e8SDavid Daney uint64_t pwq0:1; 163c5aa59e8SDavid Daney uint64_t prc_off:1; 164c5aa59e8SDavid Daney uint64_t ipd_old:1; 165c5aa59e8SDavid Daney uint64_t ipd_new:1; 166c5aa59e8SDavid Daney uint64_t pwp:1; 167c5aa59e8SDavid Daney #else 168c5aa59e8SDavid Daney uint64_t pwp:1; 169c5aa59e8SDavid Daney uint64_t ipd_new:1; 170c5aa59e8SDavid Daney uint64_t ipd_old:1; 171c5aa59e8SDavid Daney uint64_t prc_off:1; 172c5aa59e8SDavid Daney uint64_t pwq0:1; 173c5aa59e8SDavid Daney uint64_t pwq1:1; 174c5aa59e8SDavid Daney uint64_t pbm_word:1; 175c5aa59e8SDavid Daney uint64_t pbm0:1; 176c5aa59e8SDavid Daney uint64_t pbm1:1; 177c5aa59e8SDavid Daney uint64_t pbm2:1; 178c5aa59e8SDavid Daney uint64_t pbm3:1; 179c5aa59e8SDavid Daney uint64_t ipq_pbe0:1; 180c5aa59e8SDavid Daney uint64_t ipq_pbe1:1; 181c5aa59e8SDavid Daney uint64_t pwq_pow:1; 182c5aa59e8SDavid Daney uint64_t pwq_wp1:1; 183c5aa59e8SDavid Daney uint64_t pwq_wqed:1; 184c5aa59e8SDavid Daney uint64_t csr_ncmd:1; 185c5aa59e8SDavid Daney uint64_t csr_mem:1; 186c5aa59e8SDavid Daney uint64_t pbm4:1; 187c5aa59e8SDavid Daney uint64_t iio0:1; 188c5aa59e8SDavid Daney uint64_t iio1:1; 189c5aa59e8SDavid Daney uint64_t iiwo0:1; 190c5aa59e8SDavid Daney uint64_t iiwo1:1; 191c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 192c5aa59e8SDavid Daney #endif 193c5aa59e8SDavid Daney } s; 194c5aa59e8SDavid Daney struct cvmx_ipd_bist_status_cn30xx { 195c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 196c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 197c5aa59e8SDavid Daney uint64_t pwq_wqed:1; 198c5aa59e8SDavid Daney uint64_t pwq_wp1:1; 199c5aa59e8SDavid Daney uint64_t pwq_pow:1; 200c5aa59e8SDavid Daney uint64_t ipq_pbe1:1; 201c5aa59e8SDavid Daney uint64_t ipq_pbe0:1; 202c5aa59e8SDavid Daney uint64_t pbm3:1; 203c5aa59e8SDavid Daney uint64_t pbm2:1; 204c5aa59e8SDavid Daney uint64_t pbm1:1; 205c5aa59e8SDavid Daney uint64_t pbm0:1; 206c5aa59e8SDavid Daney uint64_t pbm_word:1; 207c5aa59e8SDavid Daney uint64_t pwq1:1; 208c5aa59e8SDavid Daney uint64_t pwq0:1; 209c5aa59e8SDavid Daney uint64_t prc_off:1; 210c5aa59e8SDavid Daney uint64_t ipd_old:1; 211c5aa59e8SDavid Daney uint64_t ipd_new:1; 212c5aa59e8SDavid Daney uint64_t pwp:1; 213c5aa59e8SDavid Daney #else 214c5aa59e8SDavid Daney uint64_t pwp:1; 215c5aa59e8SDavid Daney uint64_t ipd_new:1; 216c5aa59e8SDavid Daney uint64_t ipd_old:1; 217c5aa59e8SDavid Daney uint64_t prc_off:1; 218c5aa59e8SDavid Daney uint64_t pwq0:1; 219c5aa59e8SDavid Daney uint64_t pwq1:1; 220c5aa59e8SDavid Daney uint64_t pbm_word:1; 221c5aa59e8SDavid Daney uint64_t pbm0:1; 222c5aa59e8SDavid Daney uint64_t pbm1:1; 223c5aa59e8SDavid Daney uint64_t pbm2:1; 224c5aa59e8SDavid Daney uint64_t pbm3:1; 225c5aa59e8SDavid Daney uint64_t ipq_pbe0:1; 226c5aa59e8SDavid Daney uint64_t ipq_pbe1:1; 227c5aa59e8SDavid Daney uint64_t pwq_pow:1; 228c5aa59e8SDavid Daney uint64_t pwq_wp1:1; 229c5aa59e8SDavid Daney uint64_t pwq_wqed:1; 230c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 231c5aa59e8SDavid Daney #endif 232c5aa59e8SDavid Daney } cn30xx; 233c5aa59e8SDavid Daney struct cvmx_ipd_bist_status_cn52xx { 234c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 23554293ec3SDavid Daney uint64_t reserved_18_63:46; 23654293ec3SDavid Daney uint64_t csr_mem:1; 23754293ec3SDavid Daney uint64_t csr_ncmd:1; 23854293ec3SDavid Daney uint64_t pwq_wqed:1; 23954293ec3SDavid Daney uint64_t pwq_wp1:1; 24054293ec3SDavid Daney uint64_t pwq_pow:1; 24154293ec3SDavid Daney uint64_t ipq_pbe1:1; 24254293ec3SDavid Daney uint64_t ipq_pbe0:1; 24354293ec3SDavid Daney uint64_t pbm3:1; 24454293ec3SDavid Daney uint64_t pbm2:1; 24554293ec3SDavid Daney uint64_t pbm1:1; 24654293ec3SDavid Daney uint64_t pbm0:1; 24754293ec3SDavid Daney uint64_t pbm_word:1; 24854293ec3SDavid Daney uint64_t pwq1:1; 24954293ec3SDavid Daney uint64_t pwq0:1; 25054293ec3SDavid Daney uint64_t prc_off:1; 25154293ec3SDavid Daney uint64_t ipd_old:1; 25254293ec3SDavid Daney uint64_t ipd_new:1; 25354293ec3SDavid Daney uint64_t pwp:1; 254c5aa59e8SDavid Daney #else 25554293ec3SDavid Daney uint64_t pwp:1; 256c5aa59e8SDavid Daney uint64_t ipd_new:1; 257c5aa59e8SDavid Daney uint64_t ipd_old:1; 258c5aa59e8SDavid Daney uint64_t prc_off:1; 259c5aa59e8SDavid Daney uint64_t pwq0:1; 260c5aa59e8SDavid Daney uint64_t pwq1:1; 261c5aa59e8SDavid Daney uint64_t pbm_word:1; 262c5aa59e8SDavid Daney uint64_t pbm0:1; 263c5aa59e8SDavid Daney uint64_t pbm1:1; 264c5aa59e8SDavid Daney uint64_t pbm2:1; 265c5aa59e8SDavid Daney uint64_t pbm3:1; 266c5aa59e8SDavid Daney uint64_t ipq_pbe0:1; 267c5aa59e8SDavid Daney uint64_t ipq_pbe1:1; 268c5aa59e8SDavid Daney uint64_t pwq_pow:1; 269c5aa59e8SDavid Daney uint64_t pwq_wp1:1; 270c5aa59e8SDavid Daney uint64_t pwq_wqed:1; 271c5aa59e8SDavid Daney uint64_t csr_ncmd:1; 272c5aa59e8SDavid Daney uint64_t csr_mem:1; 273c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 274c5aa59e8SDavid Daney #endif 275c5aa59e8SDavid Daney } cn52xx; 27654293ec3SDavid Daney }; 27754293ec3SDavid Daney 27854293ec3SDavid Daney union cvmx_ipd_bp_prt_red_end { 27954293ec3SDavid Daney uint64_t u64; 28054293ec3SDavid Daney struct cvmx_ipd_bp_prt_red_end_s { 281c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 282c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 283c5aa59e8SDavid Daney uint64_t prt_enb:48; 284c5aa59e8SDavid Daney #else 285c5aa59e8SDavid Daney uint64_t prt_enb:48; 286c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 287c5aa59e8SDavid Daney #endif 28854293ec3SDavid Daney } s; 28954293ec3SDavid Daney struct cvmx_ipd_bp_prt_red_end_cn30xx { 290c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 29154293ec3SDavid Daney uint64_t reserved_36_63:28; 29254293ec3SDavid Daney uint64_t prt_enb:36; 293c5aa59e8SDavid Daney #else 294c5aa59e8SDavid Daney uint64_t prt_enb:36; 295c5aa59e8SDavid Daney uint64_t reserved_36_63:28; 296c5aa59e8SDavid Daney #endif 29754293ec3SDavid Daney } cn30xx; 298aa32a955SDavid Daney struct cvmx_ipd_bp_prt_red_end_cn52xx { 299c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 300aa32a955SDavid Daney uint64_t reserved_40_63:24; 301aa32a955SDavid Daney uint64_t prt_enb:40; 302c5aa59e8SDavid Daney #else 303c5aa59e8SDavid Daney uint64_t prt_enb:40; 304c5aa59e8SDavid Daney uint64_t reserved_40_63:24; 305c5aa59e8SDavid Daney #endif 306aa32a955SDavid Daney } cn52xx; 307c5aa59e8SDavid Daney struct cvmx_ipd_bp_prt_red_end_cn63xx { 308c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 309c5aa59e8SDavid Daney uint64_t reserved_44_63:20; 310c5aa59e8SDavid Daney uint64_t prt_enb:44; 311c5aa59e8SDavid Daney #else 312c5aa59e8SDavid Daney uint64_t prt_enb:44; 313c5aa59e8SDavid Daney uint64_t reserved_44_63:20; 314c5aa59e8SDavid Daney #endif 315c5aa59e8SDavid Daney } cn63xx; 316c5aa59e8SDavid Daney }; 317c5aa59e8SDavid Daney 318c5aa59e8SDavid Daney union cvmx_ipd_bpidx_mbuf_th { 319c5aa59e8SDavid Daney uint64_t u64; 320c5aa59e8SDavid Daney struct cvmx_ipd_bpidx_mbuf_th_s { 321c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 322c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 323c5aa59e8SDavid Daney uint64_t bp_enb:1; 324c5aa59e8SDavid Daney uint64_t page_cnt:17; 325c5aa59e8SDavid Daney #else 326c5aa59e8SDavid Daney uint64_t page_cnt:17; 327c5aa59e8SDavid Daney uint64_t bp_enb:1; 328c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 329c5aa59e8SDavid Daney #endif 330c5aa59e8SDavid Daney } s; 331c5aa59e8SDavid Daney }; 332c5aa59e8SDavid Daney 333c5aa59e8SDavid Daney union cvmx_ipd_bpid_bp_counterx { 334c5aa59e8SDavid Daney uint64_t u64; 335c5aa59e8SDavid Daney struct cvmx_ipd_bpid_bp_counterx_s { 336c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 337c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 338c5aa59e8SDavid Daney uint64_t cnt_val:25; 339c5aa59e8SDavid Daney #else 340c5aa59e8SDavid Daney uint64_t cnt_val:25; 341c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 342c5aa59e8SDavid Daney #endif 343c5aa59e8SDavid Daney } s; 34454293ec3SDavid Daney }; 34554293ec3SDavid Daney 34654293ec3SDavid Daney union cvmx_ipd_clk_count { 34754293ec3SDavid Daney uint64_t u64; 34854293ec3SDavid Daney struct cvmx_ipd_clk_count_s { 349c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 35054293ec3SDavid Daney uint64_t clk_cnt:64; 351c5aa59e8SDavid Daney #else 352c5aa59e8SDavid Daney uint64_t clk_cnt:64; 353c5aa59e8SDavid Daney #endif 35454293ec3SDavid Daney } s; 355c5aa59e8SDavid Daney }; 356c5aa59e8SDavid Daney 357c5aa59e8SDavid Daney union cvmx_ipd_credits { 358c5aa59e8SDavid Daney uint64_t u64; 359c5aa59e8SDavid Daney struct cvmx_ipd_credits_s { 360c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 361c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 362c5aa59e8SDavid Daney uint64_t iob_wrc:8; 363c5aa59e8SDavid Daney uint64_t iob_wr:8; 364c5aa59e8SDavid Daney #else 365c5aa59e8SDavid Daney uint64_t iob_wr:8; 366c5aa59e8SDavid Daney uint64_t iob_wrc:8; 367c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 368c5aa59e8SDavid Daney #endif 369c5aa59e8SDavid Daney } s; 37054293ec3SDavid Daney }; 37154293ec3SDavid Daney 37254293ec3SDavid Daney union cvmx_ipd_ctl_status { 37354293ec3SDavid Daney uint64_t u64; 37454293ec3SDavid Daney struct cvmx_ipd_ctl_status_s { 375c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 376aa32a955SDavid Daney uint64_t reserved_18_63:46; 377aa32a955SDavid Daney uint64_t use_sop:1; 378aa32a955SDavid Daney uint64_t rst_done:1; 379aa32a955SDavid Daney uint64_t clken:1; 38054293ec3SDavid Daney uint64_t no_wptr:1; 38154293ec3SDavid Daney uint64_t pq_apkt:1; 38254293ec3SDavid Daney uint64_t pq_nabuf:1; 38354293ec3SDavid Daney uint64_t ipd_full:1; 38454293ec3SDavid Daney uint64_t pkt_off:1; 38554293ec3SDavid Daney uint64_t len_m8:1; 38654293ec3SDavid Daney uint64_t reset:1; 38754293ec3SDavid Daney uint64_t addpkt:1; 38854293ec3SDavid Daney uint64_t naddbuf:1; 38954293ec3SDavid Daney uint64_t pkt_lend:1; 39054293ec3SDavid Daney uint64_t wqe_lend:1; 39154293ec3SDavid Daney uint64_t pbp_en:1; 39254293ec3SDavid Daney uint64_t opc_mode:2; 39354293ec3SDavid Daney uint64_t ipd_en:1; 394c5aa59e8SDavid Daney #else 395c5aa59e8SDavid Daney uint64_t ipd_en:1; 396c5aa59e8SDavid Daney uint64_t opc_mode:2; 397c5aa59e8SDavid Daney uint64_t pbp_en:1; 398c5aa59e8SDavid Daney uint64_t wqe_lend:1; 399c5aa59e8SDavid Daney uint64_t pkt_lend:1; 400c5aa59e8SDavid Daney uint64_t naddbuf:1; 401c5aa59e8SDavid Daney uint64_t addpkt:1; 402c5aa59e8SDavid Daney uint64_t reset:1; 403c5aa59e8SDavid Daney uint64_t len_m8:1; 404c5aa59e8SDavid Daney uint64_t pkt_off:1; 405c5aa59e8SDavid Daney uint64_t ipd_full:1; 406c5aa59e8SDavid Daney uint64_t pq_nabuf:1; 407c5aa59e8SDavid Daney uint64_t pq_apkt:1; 408c5aa59e8SDavid Daney uint64_t no_wptr:1; 409c5aa59e8SDavid Daney uint64_t clken:1; 410c5aa59e8SDavid Daney uint64_t rst_done:1; 411c5aa59e8SDavid Daney uint64_t use_sop:1; 412c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 413c5aa59e8SDavid Daney #endif 41454293ec3SDavid Daney } s; 41554293ec3SDavid Daney struct cvmx_ipd_ctl_status_cn30xx { 416c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 41754293ec3SDavid Daney uint64_t reserved_10_63:54; 41854293ec3SDavid Daney uint64_t len_m8:1; 41954293ec3SDavid Daney uint64_t reset:1; 42054293ec3SDavid Daney uint64_t addpkt:1; 42154293ec3SDavid Daney uint64_t naddbuf:1; 42254293ec3SDavid Daney uint64_t pkt_lend:1; 42354293ec3SDavid Daney uint64_t wqe_lend:1; 42454293ec3SDavid Daney uint64_t pbp_en:1; 42554293ec3SDavid Daney uint64_t opc_mode:2; 42654293ec3SDavid Daney uint64_t ipd_en:1; 427c5aa59e8SDavid Daney #else 428c5aa59e8SDavid Daney uint64_t ipd_en:1; 429c5aa59e8SDavid Daney uint64_t opc_mode:2; 430c5aa59e8SDavid Daney uint64_t pbp_en:1; 431c5aa59e8SDavid Daney uint64_t wqe_lend:1; 432c5aa59e8SDavid Daney uint64_t pkt_lend:1; 433c5aa59e8SDavid Daney uint64_t naddbuf:1; 434c5aa59e8SDavid Daney uint64_t addpkt:1; 435c5aa59e8SDavid Daney uint64_t reset:1; 436c5aa59e8SDavid Daney uint64_t len_m8:1; 437c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 438c5aa59e8SDavid Daney #endif 43954293ec3SDavid Daney } cn30xx; 44054293ec3SDavid Daney struct cvmx_ipd_ctl_status_cn38xxp2 { 441c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 44254293ec3SDavid Daney uint64_t reserved_9_63:55; 44354293ec3SDavid Daney uint64_t reset:1; 44454293ec3SDavid Daney uint64_t addpkt:1; 44554293ec3SDavid Daney uint64_t naddbuf:1; 44654293ec3SDavid Daney uint64_t pkt_lend:1; 44754293ec3SDavid Daney uint64_t wqe_lend:1; 44854293ec3SDavid Daney uint64_t pbp_en:1; 44954293ec3SDavid Daney uint64_t opc_mode:2; 45054293ec3SDavid Daney uint64_t ipd_en:1; 451c5aa59e8SDavid Daney #else 452c5aa59e8SDavid Daney uint64_t ipd_en:1; 453c5aa59e8SDavid Daney uint64_t opc_mode:2; 454c5aa59e8SDavid Daney uint64_t pbp_en:1; 455c5aa59e8SDavid Daney uint64_t wqe_lend:1; 456c5aa59e8SDavid Daney uint64_t pkt_lend:1; 457c5aa59e8SDavid Daney uint64_t naddbuf:1; 458c5aa59e8SDavid Daney uint64_t addpkt:1; 459c5aa59e8SDavid Daney uint64_t reset:1; 460c5aa59e8SDavid Daney uint64_t reserved_9_63:55; 461c5aa59e8SDavid Daney #endif 46254293ec3SDavid Daney } cn38xxp2; 463aa32a955SDavid Daney struct cvmx_ipd_ctl_status_cn50xx { 464c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 465aa32a955SDavid Daney uint64_t reserved_15_63:49; 466aa32a955SDavid Daney uint64_t no_wptr:1; 467aa32a955SDavid Daney uint64_t pq_apkt:1; 468aa32a955SDavid Daney uint64_t pq_nabuf:1; 469aa32a955SDavid Daney uint64_t ipd_full:1; 470aa32a955SDavid Daney uint64_t pkt_off:1; 471aa32a955SDavid Daney uint64_t len_m8:1; 472aa32a955SDavid Daney uint64_t reset:1; 473aa32a955SDavid Daney uint64_t addpkt:1; 474aa32a955SDavid Daney uint64_t naddbuf:1; 475aa32a955SDavid Daney uint64_t pkt_lend:1; 476aa32a955SDavid Daney uint64_t wqe_lend:1; 477aa32a955SDavid Daney uint64_t pbp_en:1; 478aa32a955SDavid Daney uint64_t opc_mode:2; 479aa32a955SDavid Daney uint64_t ipd_en:1; 480c5aa59e8SDavid Daney #else 481c5aa59e8SDavid Daney uint64_t ipd_en:1; 482c5aa59e8SDavid Daney uint64_t opc_mode:2; 483c5aa59e8SDavid Daney uint64_t pbp_en:1; 484c5aa59e8SDavid Daney uint64_t wqe_lend:1; 485c5aa59e8SDavid Daney uint64_t pkt_lend:1; 486c5aa59e8SDavid Daney uint64_t naddbuf:1; 487c5aa59e8SDavid Daney uint64_t addpkt:1; 488c5aa59e8SDavid Daney uint64_t reset:1; 489c5aa59e8SDavid Daney uint64_t len_m8:1; 490c5aa59e8SDavid Daney uint64_t pkt_off:1; 491c5aa59e8SDavid Daney uint64_t ipd_full:1; 492c5aa59e8SDavid Daney uint64_t pq_nabuf:1; 493c5aa59e8SDavid Daney uint64_t pq_apkt:1; 494c5aa59e8SDavid Daney uint64_t no_wptr:1; 495c5aa59e8SDavid Daney uint64_t reserved_15_63:49; 496c5aa59e8SDavid Daney #endif 497aa32a955SDavid Daney } cn50xx; 49854293ec3SDavid Daney struct cvmx_ipd_ctl_status_cn58xx { 499c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 50054293ec3SDavid Daney uint64_t reserved_12_63:52; 50154293ec3SDavid Daney uint64_t ipd_full:1; 50254293ec3SDavid Daney uint64_t pkt_off:1; 50354293ec3SDavid Daney uint64_t len_m8:1; 50454293ec3SDavid Daney uint64_t reset:1; 50554293ec3SDavid Daney uint64_t addpkt:1; 50654293ec3SDavid Daney uint64_t naddbuf:1; 50754293ec3SDavid Daney uint64_t pkt_lend:1; 50854293ec3SDavid Daney uint64_t wqe_lend:1; 50954293ec3SDavid Daney uint64_t pbp_en:1; 51054293ec3SDavid Daney uint64_t opc_mode:2; 51154293ec3SDavid Daney uint64_t ipd_en:1; 512c5aa59e8SDavid Daney #else 513c5aa59e8SDavid Daney uint64_t ipd_en:1; 514c5aa59e8SDavid Daney uint64_t opc_mode:2; 515c5aa59e8SDavid Daney uint64_t pbp_en:1; 516c5aa59e8SDavid Daney uint64_t wqe_lend:1; 517c5aa59e8SDavid Daney uint64_t pkt_lend:1; 518c5aa59e8SDavid Daney uint64_t naddbuf:1; 519c5aa59e8SDavid Daney uint64_t addpkt:1; 520c5aa59e8SDavid Daney uint64_t reset:1; 521c5aa59e8SDavid Daney uint64_t len_m8:1; 522c5aa59e8SDavid Daney uint64_t pkt_off:1; 523c5aa59e8SDavid Daney uint64_t ipd_full:1; 524c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 525c5aa59e8SDavid Daney #endif 52654293ec3SDavid Daney } cn58xx; 527aa32a955SDavid Daney struct cvmx_ipd_ctl_status_cn63xxp1 { 528c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 529aa32a955SDavid Daney uint64_t reserved_16_63:48; 530aa32a955SDavid Daney uint64_t clken:1; 531aa32a955SDavid Daney uint64_t no_wptr:1; 532aa32a955SDavid Daney uint64_t pq_apkt:1; 533aa32a955SDavid Daney uint64_t pq_nabuf:1; 534aa32a955SDavid Daney uint64_t ipd_full:1; 535aa32a955SDavid Daney uint64_t pkt_off:1; 536aa32a955SDavid Daney uint64_t len_m8:1; 537aa32a955SDavid Daney uint64_t reset:1; 538aa32a955SDavid Daney uint64_t addpkt:1; 539aa32a955SDavid Daney uint64_t naddbuf:1; 540aa32a955SDavid Daney uint64_t pkt_lend:1; 541aa32a955SDavid Daney uint64_t wqe_lend:1; 542aa32a955SDavid Daney uint64_t pbp_en:1; 543aa32a955SDavid Daney uint64_t opc_mode:2; 544aa32a955SDavid Daney uint64_t ipd_en:1; 545c5aa59e8SDavid Daney #else 546c5aa59e8SDavid Daney uint64_t ipd_en:1; 547c5aa59e8SDavid Daney uint64_t opc_mode:2; 548c5aa59e8SDavid Daney uint64_t pbp_en:1; 549c5aa59e8SDavid Daney uint64_t wqe_lend:1; 550c5aa59e8SDavid Daney uint64_t pkt_lend:1; 551c5aa59e8SDavid Daney uint64_t naddbuf:1; 552c5aa59e8SDavid Daney uint64_t addpkt:1; 553c5aa59e8SDavid Daney uint64_t reset:1; 554c5aa59e8SDavid Daney uint64_t len_m8:1; 555c5aa59e8SDavid Daney uint64_t pkt_off:1; 556c5aa59e8SDavid Daney uint64_t ipd_full:1; 557c5aa59e8SDavid Daney uint64_t pq_nabuf:1; 558c5aa59e8SDavid Daney uint64_t pq_apkt:1; 559c5aa59e8SDavid Daney uint64_t no_wptr:1; 560c5aa59e8SDavid Daney uint64_t clken:1; 561c5aa59e8SDavid Daney uint64_t reserved_16_63:48; 562c5aa59e8SDavid Daney #endif 563aa32a955SDavid Daney } cn63xxp1; 564c5aa59e8SDavid Daney }; 565c5aa59e8SDavid Daney 566c5aa59e8SDavid Daney union cvmx_ipd_ecc_ctl { 567c5aa59e8SDavid Daney uint64_t u64; 568c5aa59e8SDavid Daney struct cvmx_ipd_ecc_ctl_s { 569c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 570c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 571c5aa59e8SDavid Daney uint64_t pm3_syn:2; 572c5aa59e8SDavid Daney uint64_t pm2_syn:2; 573c5aa59e8SDavid Daney uint64_t pm1_syn:2; 574c5aa59e8SDavid Daney uint64_t pm0_syn:2; 575c5aa59e8SDavid Daney #else 576c5aa59e8SDavid Daney uint64_t pm0_syn:2; 577c5aa59e8SDavid Daney uint64_t pm1_syn:2; 578c5aa59e8SDavid Daney uint64_t pm2_syn:2; 579c5aa59e8SDavid Daney uint64_t pm3_syn:2; 580c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 581c5aa59e8SDavid Daney #endif 582c5aa59e8SDavid Daney } s; 583c5aa59e8SDavid Daney }; 584c5aa59e8SDavid Daney 585c5aa59e8SDavid Daney union cvmx_ipd_free_ptr_fifo_ctl { 586c5aa59e8SDavid Daney uint64_t u64; 587c5aa59e8SDavid Daney struct cvmx_ipd_free_ptr_fifo_ctl_s { 588c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 589c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 590c5aa59e8SDavid Daney uint64_t max_cnts:7; 591c5aa59e8SDavid Daney uint64_t wraddr:8; 592c5aa59e8SDavid Daney uint64_t praddr:8; 593c5aa59e8SDavid Daney uint64_t cena:1; 594c5aa59e8SDavid Daney uint64_t raddr:8; 595c5aa59e8SDavid Daney #else 596c5aa59e8SDavid Daney uint64_t raddr:8; 597c5aa59e8SDavid Daney uint64_t cena:1; 598c5aa59e8SDavid Daney uint64_t praddr:8; 599c5aa59e8SDavid Daney uint64_t wraddr:8; 600c5aa59e8SDavid Daney uint64_t max_cnts:7; 601c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 602c5aa59e8SDavid Daney #endif 603c5aa59e8SDavid Daney } s; 604c5aa59e8SDavid Daney }; 605c5aa59e8SDavid Daney 606c5aa59e8SDavid Daney union cvmx_ipd_free_ptr_value { 607c5aa59e8SDavid Daney uint64_t u64; 608c5aa59e8SDavid Daney struct cvmx_ipd_free_ptr_value_s { 609c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 610c5aa59e8SDavid Daney uint64_t reserved_33_63:31; 611c5aa59e8SDavid Daney uint64_t ptr:33; 612c5aa59e8SDavid Daney #else 613c5aa59e8SDavid Daney uint64_t ptr:33; 614c5aa59e8SDavid Daney uint64_t reserved_33_63:31; 615c5aa59e8SDavid Daney #endif 616c5aa59e8SDavid Daney } s; 617c5aa59e8SDavid Daney }; 618c5aa59e8SDavid Daney 619c5aa59e8SDavid Daney union cvmx_ipd_hold_ptr_fifo_ctl { 620c5aa59e8SDavid Daney uint64_t u64; 621c5aa59e8SDavid Daney struct cvmx_ipd_hold_ptr_fifo_ctl_s { 622c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 623c5aa59e8SDavid Daney uint64_t reserved_43_63:21; 624c5aa59e8SDavid Daney uint64_t ptr:33; 625c5aa59e8SDavid Daney uint64_t max_pkt:3; 626c5aa59e8SDavid Daney uint64_t praddr:3; 627c5aa59e8SDavid Daney uint64_t cena:1; 628c5aa59e8SDavid Daney uint64_t raddr:3; 629c5aa59e8SDavid Daney #else 630c5aa59e8SDavid Daney uint64_t raddr:3; 631c5aa59e8SDavid Daney uint64_t cena:1; 632c5aa59e8SDavid Daney uint64_t praddr:3; 633c5aa59e8SDavid Daney uint64_t max_pkt:3; 634c5aa59e8SDavid Daney uint64_t ptr:33; 635c5aa59e8SDavid Daney uint64_t reserved_43_63:21; 636c5aa59e8SDavid Daney #endif 637c5aa59e8SDavid Daney } s; 63854293ec3SDavid Daney }; 63954293ec3SDavid Daney 64054293ec3SDavid Daney union cvmx_ipd_int_enb { 64154293ec3SDavid Daney uint64_t u64; 64254293ec3SDavid Daney struct cvmx_ipd_int_enb_s { 643c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 644c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 645c5aa59e8SDavid Daney uint64_t pw3_dbe:1; 646c5aa59e8SDavid Daney uint64_t pw3_sbe:1; 647c5aa59e8SDavid Daney uint64_t pw2_dbe:1; 648c5aa59e8SDavid Daney uint64_t pw2_sbe:1; 649c5aa59e8SDavid Daney uint64_t pw1_dbe:1; 650c5aa59e8SDavid Daney uint64_t pw1_sbe:1; 651c5aa59e8SDavid Daney uint64_t pw0_dbe:1; 652c5aa59e8SDavid Daney uint64_t pw0_sbe:1; 653c5aa59e8SDavid Daney uint64_t dat:1; 654c5aa59e8SDavid Daney uint64_t eop:1; 655c5aa59e8SDavid Daney uint64_t sop:1; 656c5aa59e8SDavid Daney uint64_t pq_sub:1; 657c5aa59e8SDavid Daney uint64_t pq_add:1; 658c5aa59e8SDavid Daney uint64_t bc_ovr:1; 659c5aa59e8SDavid Daney uint64_t d_coll:1; 660c5aa59e8SDavid Daney uint64_t c_coll:1; 661c5aa59e8SDavid Daney uint64_t cc_ovr:1; 662c5aa59e8SDavid Daney uint64_t dc_ovr:1; 663c5aa59e8SDavid Daney uint64_t bp_sub:1; 664c5aa59e8SDavid Daney uint64_t prc_par3:1; 665c5aa59e8SDavid Daney uint64_t prc_par2:1; 666c5aa59e8SDavid Daney uint64_t prc_par1:1; 667c5aa59e8SDavid Daney uint64_t prc_par0:1; 668c5aa59e8SDavid Daney #else 669c5aa59e8SDavid Daney uint64_t prc_par0:1; 670c5aa59e8SDavid Daney uint64_t prc_par1:1; 671c5aa59e8SDavid Daney uint64_t prc_par2:1; 672c5aa59e8SDavid Daney uint64_t prc_par3:1; 673c5aa59e8SDavid Daney uint64_t bp_sub:1; 674c5aa59e8SDavid Daney uint64_t dc_ovr:1; 675c5aa59e8SDavid Daney uint64_t cc_ovr:1; 676c5aa59e8SDavid Daney uint64_t c_coll:1; 677c5aa59e8SDavid Daney uint64_t d_coll:1; 678c5aa59e8SDavid Daney uint64_t bc_ovr:1; 679c5aa59e8SDavid Daney uint64_t pq_add:1; 680c5aa59e8SDavid Daney uint64_t pq_sub:1; 681c5aa59e8SDavid Daney uint64_t sop:1; 682c5aa59e8SDavid Daney uint64_t eop:1; 683c5aa59e8SDavid Daney uint64_t dat:1; 684c5aa59e8SDavid Daney uint64_t pw0_sbe:1; 685c5aa59e8SDavid Daney uint64_t pw0_dbe:1; 686c5aa59e8SDavid Daney uint64_t pw1_sbe:1; 687c5aa59e8SDavid Daney uint64_t pw1_dbe:1; 688c5aa59e8SDavid Daney uint64_t pw2_sbe:1; 689c5aa59e8SDavid Daney uint64_t pw2_dbe:1; 690c5aa59e8SDavid Daney uint64_t pw3_sbe:1; 691c5aa59e8SDavid Daney uint64_t pw3_dbe:1; 692c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 693c5aa59e8SDavid Daney #endif 694c5aa59e8SDavid Daney } s; 695c5aa59e8SDavid Daney struct cvmx_ipd_int_enb_cn30xx { 696c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 697c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 698c5aa59e8SDavid Daney uint64_t bp_sub:1; 699c5aa59e8SDavid Daney uint64_t prc_par3:1; 700c5aa59e8SDavid Daney uint64_t prc_par2:1; 701c5aa59e8SDavid Daney uint64_t prc_par1:1; 702c5aa59e8SDavid Daney uint64_t prc_par0:1; 703c5aa59e8SDavid Daney #else 704c5aa59e8SDavid Daney uint64_t prc_par0:1; 705c5aa59e8SDavid Daney uint64_t prc_par1:1; 706c5aa59e8SDavid Daney uint64_t prc_par2:1; 707c5aa59e8SDavid Daney uint64_t prc_par3:1; 708c5aa59e8SDavid Daney uint64_t bp_sub:1; 709c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 710c5aa59e8SDavid Daney #endif 711c5aa59e8SDavid Daney } cn30xx; 712c5aa59e8SDavid Daney struct cvmx_ipd_int_enb_cn38xx { 713c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 714c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 715c5aa59e8SDavid Daney uint64_t bc_ovr:1; 716c5aa59e8SDavid Daney uint64_t d_coll:1; 717c5aa59e8SDavid Daney uint64_t c_coll:1; 718c5aa59e8SDavid Daney uint64_t cc_ovr:1; 719c5aa59e8SDavid Daney uint64_t dc_ovr:1; 720c5aa59e8SDavid Daney uint64_t bp_sub:1; 721c5aa59e8SDavid Daney uint64_t prc_par3:1; 722c5aa59e8SDavid Daney uint64_t prc_par2:1; 723c5aa59e8SDavid Daney uint64_t prc_par1:1; 724c5aa59e8SDavid Daney uint64_t prc_par0:1; 725c5aa59e8SDavid Daney #else 726c5aa59e8SDavid Daney uint64_t prc_par0:1; 727c5aa59e8SDavid Daney uint64_t prc_par1:1; 728c5aa59e8SDavid Daney uint64_t prc_par2:1; 729c5aa59e8SDavid Daney uint64_t prc_par3:1; 730c5aa59e8SDavid Daney uint64_t bp_sub:1; 731c5aa59e8SDavid Daney uint64_t dc_ovr:1; 732c5aa59e8SDavid Daney uint64_t cc_ovr:1; 733c5aa59e8SDavid Daney uint64_t c_coll:1; 734c5aa59e8SDavid Daney uint64_t d_coll:1; 735c5aa59e8SDavid Daney uint64_t bc_ovr:1; 736c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 737c5aa59e8SDavid Daney #endif 738c5aa59e8SDavid Daney } cn38xx; 739c5aa59e8SDavid Daney struct cvmx_ipd_int_enb_cn52xx { 740c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 74154293ec3SDavid Daney uint64_t reserved_12_63:52; 74254293ec3SDavid Daney uint64_t pq_sub:1; 74354293ec3SDavid Daney uint64_t pq_add:1; 74454293ec3SDavid Daney uint64_t bc_ovr:1; 74554293ec3SDavid Daney uint64_t d_coll:1; 74654293ec3SDavid Daney uint64_t c_coll:1; 74754293ec3SDavid Daney uint64_t cc_ovr:1; 74854293ec3SDavid Daney uint64_t dc_ovr:1; 74954293ec3SDavid Daney uint64_t bp_sub:1; 75054293ec3SDavid Daney uint64_t prc_par3:1; 75154293ec3SDavid Daney uint64_t prc_par2:1; 75254293ec3SDavid Daney uint64_t prc_par1:1; 75354293ec3SDavid Daney uint64_t prc_par0:1; 754c5aa59e8SDavid Daney #else 75554293ec3SDavid Daney uint64_t prc_par0:1; 756c5aa59e8SDavid Daney uint64_t prc_par1:1; 757c5aa59e8SDavid Daney uint64_t prc_par2:1; 758c5aa59e8SDavid Daney uint64_t prc_par3:1; 759c5aa59e8SDavid Daney uint64_t bp_sub:1; 76054293ec3SDavid Daney uint64_t dc_ovr:1; 761c5aa59e8SDavid Daney uint64_t cc_ovr:1; 762c5aa59e8SDavid Daney uint64_t c_coll:1; 763c5aa59e8SDavid Daney uint64_t d_coll:1; 764c5aa59e8SDavid Daney uint64_t bc_ovr:1; 765c5aa59e8SDavid Daney uint64_t pq_add:1; 766c5aa59e8SDavid Daney uint64_t pq_sub:1; 767c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 768c5aa59e8SDavid Daney #endif 769c5aa59e8SDavid Daney } cn52xx; 77054293ec3SDavid Daney }; 77154293ec3SDavid Daney 77254293ec3SDavid Daney union cvmx_ipd_int_sum { 77354293ec3SDavid Daney uint64_t u64; 77454293ec3SDavid Daney struct cvmx_ipd_int_sum_s { 775c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 776c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 777c5aa59e8SDavid Daney uint64_t pw3_dbe:1; 778c5aa59e8SDavid Daney uint64_t pw3_sbe:1; 779c5aa59e8SDavid Daney uint64_t pw2_dbe:1; 780c5aa59e8SDavid Daney uint64_t pw2_sbe:1; 781c5aa59e8SDavid Daney uint64_t pw1_dbe:1; 782c5aa59e8SDavid Daney uint64_t pw1_sbe:1; 783c5aa59e8SDavid Daney uint64_t pw0_dbe:1; 784c5aa59e8SDavid Daney uint64_t pw0_sbe:1; 785c5aa59e8SDavid Daney uint64_t dat:1; 786c5aa59e8SDavid Daney uint64_t eop:1; 787c5aa59e8SDavid Daney uint64_t sop:1; 788c5aa59e8SDavid Daney uint64_t pq_sub:1; 789c5aa59e8SDavid Daney uint64_t pq_add:1; 790c5aa59e8SDavid Daney uint64_t bc_ovr:1; 791c5aa59e8SDavid Daney uint64_t d_coll:1; 792c5aa59e8SDavid Daney uint64_t c_coll:1; 793c5aa59e8SDavid Daney uint64_t cc_ovr:1; 794c5aa59e8SDavid Daney uint64_t dc_ovr:1; 795c5aa59e8SDavid Daney uint64_t bp_sub:1; 796c5aa59e8SDavid Daney uint64_t prc_par3:1; 797c5aa59e8SDavid Daney uint64_t prc_par2:1; 798c5aa59e8SDavid Daney uint64_t prc_par1:1; 799c5aa59e8SDavid Daney uint64_t prc_par0:1; 800c5aa59e8SDavid Daney #else 801c5aa59e8SDavid Daney uint64_t prc_par0:1; 802c5aa59e8SDavid Daney uint64_t prc_par1:1; 803c5aa59e8SDavid Daney uint64_t prc_par2:1; 804c5aa59e8SDavid Daney uint64_t prc_par3:1; 805c5aa59e8SDavid Daney uint64_t bp_sub:1; 806c5aa59e8SDavid Daney uint64_t dc_ovr:1; 807c5aa59e8SDavid Daney uint64_t cc_ovr:1; 808c5aa59e8SDavid Daney uint64_t c_coll:1; 809c5aa59e8SDavid Daney uint64_t d_coll:1; 810c5aa59e8SDavid Daney uint64_t bc_ovr:1; 811c5aa59e8SDavid Daney uint64_t pq_add:1; 812c5aa59e8SDavid Daney uint64_t pq_sub:1; 813c5aa59e8SDavid Daney uint64_t sop:1; 814c5aa59e8SDavid Daney uint64_t eop:1; 815c5aa59e8SDavid Daney uint64_t dat:1; 816c5aa59e8SDavid Daney uint64_t pw0_sbe:1; 817c5aa59e8SDavid Daney uint64_t pw0_dbe:1; 818c5aa59e8SDavid Daney uint64_t pw1_sbe:1; 819c5aa59e8SDavid Daney uint64_t pw1_dbe:1; 820c5aa59e8SDavid Daney uint64_t pw2_sbe:1; 821c5aa59e8SDavid Daney uint64_t pw2_dbe:1; 822c5aa59e8SDavid Daney uint64_t pw3_sbe:1; 823c5aa59e8SDavid Daney uint64_t pw3_dbe:1; 824c5aa59e8SDavid Daney uint64_t reserved_23_63:41; 825c5aa59e8SDavid Daney #endif 826c5aa59e8SDavid Daney } s; 827c5aa59e8SDavid Daney struct cvmx_ipd_int_sum_cn30xx { 828c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 829c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 830c5aa59e8SDavid Daney uint64_t bp_sub:1; 831c5aa59e8SDavid Daney uint64_t prc_par3:1; 832c5aa59e8SDavid Daney uint64_t prc_par2:1; 833c5aa59e8SDavid Daney uint64_t prc_par1:1; 834c5aa59e8SDavid Daney uint64_t prc_par0:1; 835c5aa59e8SDavid Daney #else 836c5aa59e8SDavid Daney uint64_t prc_par0:1; 837c5aa59e8SDavid Daney uint64_t prc_par1:1; 838c5aa59e8SDavid Daney uint64_t prc_par2:1; 839c5aa59e8SDavid Daney uint64_t prc_par3:1; 840c5aa59e8SDavid Daney uint64_t bp_sub:1; 841c5aa59e8SDavid Daney uint64_t reserved_5_63:59; 842c5aa59e8SDavid Daney #endif 843c5aa59e8SDavid Daney } cn30xx; 844c5aa59e8SDavid Daney struct cvmx_ipd_int_sum_cn38xx { 845c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 846c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 847c5aa59e8SDavid Daney uint64_t bc_ovr:1; 848c5aa59e8SDavid Daney uint64_t d_coll:1; 849c5aa59e8SDavid Daney uint64_t c_coll:1; 850c5aa59e8SDavid Daney uint64_t cc_ovr:1; 851c5aa59e8SDavid Daney uint64_t dc_ovr:1; 852c5aa59e8SDavid Daney uint64_t bp_sub:1; 853c5aa59e8SDavid Daney uint64_t prc_par3:1; 854c5aa59e8SDavid Daney uint64_t prc_par2:1; 855c5aa59e8SDavid Daney uint64_t prc_par1:1; 856c5aa59e8SDavid Daney uint64_t prc_par0:1; 857c5aa59e8SDavid Daney #else 858c5aa59e8SDavid Daney uint64_t prc_par0:1; 859c5aa59e8SDavid Daney uint64_t prc_par1:1; 860c5aa59e8SDavid Daney uint64_t prc_par2:1; 861c5aa59e8SDavid Daney uint64_t prc_par3:1; 862c5aa59e8SDavid Daney uint64_t bp_sub:1; 863c5aa59e8SDavid Daney uint64_t dc_ovr:1; 864c5aa59e8SDavid Daney uint64_t cc_ovr:1; 865c5aa59e8SDavid Daney uint64_t c_coll:1; 866c5aa59e8SDavid Daney uint64_t d_coll:1; 867c5aa59e8SDavid Daney uint64_t bc_ovr:1; 868c5aa59e8SDavid Daney uint64_t reserved_10_63:54; 869c5aa59e8SDavid Daney #endif 870c5aa59e8SDavid Daney } cn38xx; 871c5aa59e8SDavid Daney struct cvmx_ipd_int_sum_cn52xx { 872c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 87354293ec3SDavid Daney uint64_t reserved_12_63:52; 87454293ec3SDavid Daney uint64_t pq_sub:1; 87554293ec3SDavid Daney uint64_t pq_add:1; 87654293ec3SDavid Daney uint64_t bc_ovr:1; 87754293ec3SDavid Daney uint64_t d_coll:1; 87854293ec3SDavid Daney uint64_t c_coll:1; 87954293ec3SDavid Daney uint64_t cc_ovr:1; 88054293ec3SDavid Daney uint64_t dc_ovr:1; 88154293ec3SDavid Daney uint64_t bp_sub:1; 88254293ec3SDavid Daney uint64_t prc_par3:1; 88354293ec3SDavid Daney uint64_t prc_par2:1; 88454293ec3SDavid Daney uint64_t prc_par1:1; 88554293ec3SDavid Daney uint64_t prc_par0:1; 886c5aa59e8SDavid Daney #else 88754293ec3SDavid Daney uint64_t prc_par0:1; 888c5aa59e8SDavid Daney uint64_t prc_par1:1; 889c5aa59e8SDavid Daney uint64_t prc_par2:1; 890c5aa59e8SDavid Daney uint64_t prc_par3:1; 891c5aa59e8SDavid Daney uint64_t bp_sub:1; 89254293ec3SDavid Daney uint64_t dc_ovr:1; 893c5aa59e8SDavid Daney uint64_t cc_ovr:1; 894c5aa59e8SDavid Daney uint64_t c_coll:1; 895c5aa59e8SDavid Daney uint64_t d_coll:1; 896c5aa59e8SDavid Daney uint64_t bc_ovr:1; 897c5aa59e8SDavid Daney uint64_t pq_add:1; 898c5aa59e8SDavid Daney uint64_t pq_sub:1; 899c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 900c5aa59e8SDavid Daney #endif 901c5aa59e8SDavid Daney } cn52xx; 902c5aa59e8SDavid Daney }; 903c5aa59e8SDavid Daney 904c5aa59e8SDavid Daney union cvmx_ipd_next_pkt_ptr { 905c5aa59e8SDavid Daney uint64_t u64; 906c5aa59e8SDavid Daney struct cvmx_ipd_next_pkt_ptr_s { 907c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 908c5aa59e8SDavid Daney uint64_t reserved_33_63:31; 909c5aa59e8SDavid Daney uint64_t ptr:33; 910c5aa59e8SDavid Daney #else 911c5aa59e8SDavid Daney uint64_t ptr:33; 912c5aa59e8SDavid Daney uint64_t reserved_33_63:31; 913c5aa59e8SDavid Daney #endif 914c5aa59e8SDavid Daney } s; 915c5aa59e8SDavid Daney }; 916c5aa59e8SDavid Daney 917c5aa59e8SDavid Daney union cvmx_ipd_next_wqe_ptr { 918c5aa59e8SDavid Daney uint64_t u64; 919c5aa59e8SDavid Daney struct cvmx_ipd_next_wqe_ptr_s { 920c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 921c5aa59e8SDavid Daney uint64_t reserved_33_63:31; 922c5aa59e8SDavid Daney uint64_t ptr:33; 923c5aa59e8SDavid Daney #else 924c5aa59e8SDavid Daney uint64_t ptr:33; 925c5aa59e8SDavid Daney uint64_t reserved_33_63:31; 926c5aa59e8SDavid Daney #endif 927c5aa59e8SDavid Daney } s; 92854293ec3SDavid Daney }; 92954293ec3SDavid Daney 93054293ec3SDavid Daney union cvmx_ipd_not_1st_mbuff_skip { 93154293ec3SDavid Daney uint64_t u64; 93254293ec3SDavid Daney struct cvmx_ipd_not_1st_mbuff_skip_s { 933c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 93454293ec3SDavid Daney uint64_t reserved_6_63:58; 93554293ec3SDavid Daney uint64_t skip_sz:6; 936c5aa59e8SDavid Daney #else 937c5aa59e8SDavid Daney uint64_t skip_sz:6; 938c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 939c5aa59e8SDavid Daney #endif 94054293ec3SDavid Daney } s; 941c5aa59e8SDavid Daney }; 942c5aa59e8SDavid Daney 943c5aa59e8SDavid Daney union cvmx_ipd_on_bp_drop_pktx { 944c5aa59e8SDavid Daney uint64_t u64; 945c5aa59e8SDavid Daney struct cvmx_ipd_on_bp_drop_pktx_s { 946c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 947c5aa59e8SDavid Daney uint64_t prt_enb:64; 948c5aa59e8SDavid Daney #else 949c5aa59e8SDavid Daney uint64_t prt_enb:64; 950c5aa59e8SDavid Daney #endif 951c5aa59e8SDavid Daney } s; 95254293ec3SDavid Daney }; 95354293ec3SDavid Daney 95454293ec3SDavid Daney union cvmx_ipd_packet_mbuff_size { 95554293ec3SDavid Daney uint64_t u64; 95654293ec3SDavid Daney struct cvmx_ipd_packet_mbuff_size_s { 957c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 95854293ec3SDavid Daney uint64_t reserved_12_63:52; 95954293ec3SDavid Daney uint64_t mb_size:12; 960c5aa59e8SDavid Daney #else 961c5aa59e8SDavid Daney uint64_t mb_size:12; 962c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 963c5aa59e8SDavid Daney #endif 96454293ec3SDavid Daney } s; 965c5aa59e8SDavid Daney }; 966c5aa59e8SDavid Daney 967c5aa59e8SDavid Daney union cvmx_ipd_pkt_err { 968c5aa59e8SDavid Daney uint64_t u64; 969c5aa59e8SDavid Daney struct cvmx_ipd_pkt_err_s { 970c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 971c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 972c5aa59e8SDavid Daney uint64_t reasm:6; 973c5aa59e8SDavid Daney #else 974c5aa59e8SDavid Daney uint64_t reasm:6; 975c5aa59e8SDavid Daney uint64_t reserved_6_63:58; 976c5aa59e8SDavid Daney #endif 977c5aa59e8SDavid Daney } s; 97854293ec3SDavid Daney }; 97954293ec3SDavid Daney 98054293ec3SDavid Daney union cvmx_ipd_pkt_ptr_valid { 98154293ec3SDavid Daney uint64_t u64; 98254293ec3SDavid Daney struct cvmx_ipd_pkt_ptr_valid_s { 983c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 98454293ec3SDavid Daney uint64_t reserved_29_63:35; 98554293ec3SDavid Daney uint64_t ptr:29; 986c5aa59e8SDavid Daney #else 987c5aa59e8SDavid Daney uint64_t ptr:29; 988c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 989c5aa59e8SDavid Daney #endif 99054293ec3SDavid Daney } s; 99154293ec3SDavid Daney }; 99254293ec3SDavid Daney 99354293ec3SDavid Daney union cvmx_ipd_portx_bp_page_cnt { 99454293ec3SDavid Daney uint64_t u64; 99554293ec3SDavid Daney struct cvmx_ipd_portx_bp_page_cnt_s { 996c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 99754293ec3SDavid Daney uint64_t reserved_18_63:46; 99854293ec3SDavid Daney uint64_t bp_enb:1; 99954293ec3SDavid Daney uint64_t page_cnt:17; 1000c5aa59e8SDavid Daney #else 1001c5aa59e8SDavid Daney uint64_t page_cnt:17; 1002c5aa59e8SDavid Daney uint64_t bp_enb:1; 1003c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 1004c5aa59e8SDavid Daney #endif 100554293ec3SDavid Daney } s; 100654293ec3SDavid Daney }; 100754293ec3SDavid Daney 100854293ec3SDavid Daney union cvmx_ipd_portx_bp_page_cnt2 { 100954293ec3SDavid Daney uint64_t u64; 101054293ec3SDavid Daney struct cvmx_ipd_portx_bp_page_cnt2_s { 1011c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 101254293ec3SDavid Daney uint64_t reserved_18_63:46; 101354293ec3SDavid Daney uint64_t bp_enb:1; 101454293ec3SDavid Daney uint64_t page_cnt:17; 1015c5aa59e8SDavid Daney #else 1016c5aa59e8SDavid Daney uint64_t page_cnt:17; 1017c5aa59e8SDavid Daney uint64_t bp_enb:1; 1018c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 1019c5aa59e8SDavid Daney #endif 102054293ec3SDavid Daney } s; 1021aa32a955SDavid Daney }; 1022aa32a955SDavid Daney 1023aa32a955SDavid Daney union cvmx_ipd_portx_bp_page_cnt3 { 1024aa32a955SDavid Daney uint64_t u64; 1025aa32a955SDavid Daney struct cvmx_ipd_portx_bp_page_cnt3_s { 1026c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1027aa32a955SDavid Daney uint64_t reserved_18_63:46; 1028aa32a955SDavid Daney uint64_t bp_enb:1; 1029aa32a955SDavid Daney uint64_t page_cnt:17; 1030c5aa59e8SDavid Daney #else 1031c5aa59e8SDavid Daney uint64_t page_cnt:17; 1032c5aa59e8SDavid Daney uint64_t bp_enb:1; 1033c5aa59e8SDavid Daney uint64_t reserved_18_63:46; 1034c5aa59e8SDavid Daney #endif 1035aa32a955SDavid Daney } s; 103654293ec3SDavid Daney }; 103754293ec3SDavid Daney 103854293ec3SDavid Daney union cvmx_ipd_port_bp_counters2_pairx { 103954293ec3SDavid Daney uint64_t u64; 104054293ec3SDavid Daney struct cvmx_ipd_port_bp_counters2_pairx_s { 1041c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 104254293ec3SDavid Daney uint64_t reserved_25_63:39; 104354293ec3SDavid Daney uint64_t cnt_val:25; 1044c5aa59e8SDavid Daney #else 1045c5aa59e8SDavid Daney uint64_t cnt_val:25; 1046c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 1047c5aa59e8SDavid Daney #endif 104854293ec3SDavid Daney } s; 1049aa32a955SDavid Daney }; 1050aa32a955SDavid Daney 1051aa32a955SDavid Daney union cvmx_ipd_port_bp_counters3_pairx { 1052aa32a955SDavid Daney uint64_t u64; 1053aa32a955SDavid Daney struct cvmx_ipd_port_bp_counters3_pairx_s { 1054c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1055aa32a955SDavid Daney uint64_t reserved_25_63:39; 1056aa32a955SDavid Daney uint64_t cnt_val:25; 1057c5aa59e8SDavid Daney #else 1058c5aa59e8SDavid Daney uint64_t cnt_val:25; 1059c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 1060c5aa59e8SDavid Daney #endif 1061aa32a955SDavid Daney } s; 1062c5aa59e8SDavid Daney }; 1063c5aa59e8SDavid Daney 1064c5aa59e8SDavid Daney union cvmx_ipd_port_bp_counters4_pairx { 1065c5aa59e8SDavid Daney uint64_t u64; 1066c5aa59e8SDavid Daney struct cvmx_ipd_port_bp_counters4_pairx_s { 1067c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1068c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 1069c5aa59e8SDavid Daney uint64_t cnt_val:25; 1070c5aa59e8SDavid Daney #else 1071c5aa59e8SDavid Daney uint64_t cnt_val:25; 1072c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 1073c5aa59e8SDavid Daney #endif 1074c5aa59e8SDavid Daney } s; 107554293ec3SDavid Daney }; 107654293ec3SDavid Daney 107754293ec3SDavid Daney union cvmx_ipd_port_bp_counters_pairx { 107854293ec3SDavid Daney uint64_t u64; 107954293ec3SDavid Daney struct cvmx_ipd_port_bp_counters_pairx_s { 1080c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 108154293ec3SDavid Daney uint64_t reserved_25_63:39; 108254293ec3SDavid Daney uint64_t cnt_val:25; 1083c5aa59e8SDavid Daney #else 1084c5aa59e8SDavid Daney uint64_t cnt_val:25; 1085c5aa59e8SDavid Daney uint64_t reserved_25_63:39; 1086c5aa59e8SDavid Daney #endif 108754293ec3SDavid Daney } s; 1088c5aa59e8SDavid Daney }; 1089c5aa59e8SDavid Daney 1090c5aa59e8SDavid Daney union cvmx_ipd_port_ptr_fifo_ctl { 1091c5aa59e8SDavid Daney uint64_t u64; 1092c5aa59e8SDavid Daney struct cvmx_ipd_port_ptr_fifo_ctl_s { 1093c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1094c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1095c5aa59e8SDavid Daney uint64_t ptr:33; 1096c5aa59e8SDavid Daney uint64_t max_pkt:7; 1097c5aa59e8SDavid Daney uint64_t cena:1; 1098c5aa59e8SDavid Daney uint64_t raddr:7; 1099c5aa59e8SDavid Daney #else 1100c5aa59e8SDavid Daney uint64_t raddr:7; 1101c5aa59e8SDavid Daney uint64_t cena:1; 1102c5aa59e8SDavid Daney uint64_t max_pkt:7; 1103c5aa59e8SDavid Daney uint64_t ptr:33; 1104c5aa59e8SDavid Daney uint64_t reserved_48_63:16; 1105c5aa59e8SDavid Daney #endif 1106c5aa59e8SDavid Daney } s; 110754293ec3SDavid Daney }; 110854293ec3SDavid Daney 110954293ec3SDavid Daney union cvmx_ipd_port_qos_x_cnt { 111054293ec3SDavid Daney uint64_t u64; 111154293ec3SDavid Daney struct cvmx_ipd_port_qos_x_cnt_s { 1112c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 111354293ec3SDavid Daney uint64_t wmark:32; 111454293ec3SDavid Daney uint64_t cnt:32; 1115c5aa59e8SDavid Daney #else 1116c5aa59e8SDavid Daney uint64_t cnt:32; 1117c5aa59e8SDavid Daney uint64_t wmark:32; 1118c5aa59e8SDavid Daney #endif 111954293ec3SDavid Daney } s; 112054293ec3SDavid Daney }; 112154293ec3SDavid Daney 112254293ec3SDavid Daney union cvmx_ipd_port_qos_intx { 112354293ec3SDavid Daney uint64_t u64; 112454293ec3SDavid Daney struct cvmx_ipd_port_qos_intx_s { 1125c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 112654293ec3SDavid Daney uint64_t intr:64; 1127c5aa59e8SDavid Daney #else 1128c5aa59e8SDavid Daney uint64_t intr:64; 1129c5aa59e8SDavid Daney #endif 113054293ec3SDavid Daney } s; 113154293ec3SDavid Daney }; 113254293ec3SDavid Daney 113354293ec3SDavid Daney union cvmx_ipd_port_qos_int_enbx { 113454293ec3SDavid Daney uint64_t u64; 113554293ec3SDavid Daney struct cvmx_ipd_port_qos_int_enbx_s { 1136c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 113754293ec3SDavid Daney uint64_t enb:64; 1138c5aa59e8SDavid Daney #else 1139c5aa59e8SDavid Daney uint64_t enb:64; 1140c5aa59e8SDavid Daney #endif 114154293ec3SDavid Daney } s; 1142c5aa59e8SDavid Daney }; 1143c5aa59e8SDavid Daney 1144c5aa59e8SDavid Daney union cvmx_ipd_port_sopx { 1145c5aa59e8SDavid Daney uint64_t u64; 1146c5aa59e8SDavid Daney struct cvmx_ipd_port_sopx_s { 1147c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1148c5aa59e8SDavid Daney uint64_t sop:64; 1149c5aa59e8SDavid Daney #else 1150c5aa59e8SDavid Daney uint64_t sop:64; 1151c5aa59e8SDavid Daney #endif 1152c5aa59e8SDavid Daney } s; 115354293ec3SDavid Daney }; 115454293ec3SDavid Daney 115554293ec3SDavid Daney union cvmx_ipd_prc_hold_ptr_fifo_ctl { 115654293ec3SDavid Daney uint64_t u64; 115754293ec3SDavid Daney struct cvmx_ipd_prc_hold_ptr_fifo_ctl_s { 1158c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 115954293ec3SDavid Daney uint64_t reserved_39_63:25; 116054293ec3SDavid Daney uint64_t max_pkt:3; 116154293ec3SDavid Daney uint64_t praddr:3; 116254293ec3SDavid Daney uint64_t ptr:29; 116354293ec3SDavid Daney uint64_t cena:1; 116454293ec3SDavid Daney uint64_t raddr:3; 1165c5aa59e8SDavid Daney #else 1166c5aa59e8SDavid Daney uint64_t raddr:3; 1167c5aa59e8SDavid Daney uint64_t cena:1; 1168c5aa59e8SDavid Daney uint64_t ptr:29; 1169c5aa59e8SDavid Daney uint64_t praddr:3; 1170c5aa59e8SDavid Daney uint64_t max_pkt:3; 1171c5aa59e8SDavid Daney uint64_t reserved_39_63:25; 1172c5aa59e8SDavid Daney #endif 117354293ec3SDavid Daney } s; 117454293ec3SDavid Daney }; 117554293ec3SDavid Daney 117654293ec3SDavid Daney union cvmx_ipd_prc_port_ptr_fifo_ctl { 117754293ec3SDavid Daney uint64_t u64; 117854293ec3SDavid Daney struct cvmx_ipd_prc_port_ptr_fifo_ctl_s { 1179c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 118054293ec3SDavid Daney uint64_t reserved_44_63:20; 118154293ec3SDavid Daney uint64_t max_pkt:7; 118254293ec3SDavid Daney uint64_t ptr:29; 118354293ec3SDavid Daney uint64_t cena:1; 118454293ec3SDavid Daney uint64_t raddr:7; 1185c5aa59e8SDavid Daney #else 1186c5aa59e8SDavid Daney uint64_t raddr:7; 1187c5aa59e8SDavid Daney uint64_t cena:1; 1188c5aa59e8SDavid Daney uint64_t ptr:29; 1189c5aa59e8SDavid Daney uint64_t max_pkt:7; 1190c5aa59e8SDavid Daney uint64_t reserved_44_63:20; 1191c5aa59e8SDavid Daney #endif 119254293ec3SDavid Daney } s; 119354293ec3SDavid Daney }; 119454293ec3SDavid Daney 119554293ec3SDavid Daney union cvmx_ipd_ptr_count { 119654293ec3SDavid Daney uint64_t u64; 119754293ec3SDavid Daney struct cvmx_ipd_ptr_count_s { 1198c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 119954293ec3SDavid Daney uint64_t reserved_19_63:45; 120054293ec3SDavid Daney uint64_t pktv_cnt:1; 120154293ec3SDavid Daney uint64_t wqev_cnt:1; 120254293ec3SDavid Daney uint64_t pfif_cnt:3; 120354293ec3SDavid Daney uint64_t pkt_pcnt:7; 120454293ec3SDavid Daney uint64_t wqe_pcnt:7; 1205c5aa59e8SDavid Daney #else 1206c5aa59e8SDavid Daney uint64_t wqe_pcnt:7; 1207c5aa59e8SDavid Daney uint64_t pkt_pcnt:7; 1208c5aa59e8SDavid Daney uint64_t pfif_cnt:3; 1209c5aa59e8SDavid Daney uint64_t wqev_cnt:1; 1210c5aa59e8SDavid Daney uint64_t pktv_cnt:1; 1211c5aa59e8SDavid Daney uint64_t reserved_19_63:45; 1212c5aa59e8SDavid Daney #endif 121354293ec3SDavid Daney } s; 121454293ec3SDavid Daney }; 121554293ec3SDavid Daney 121654293ec3SDavid Daney union cvmx_ipd_pwp_ptr_fifo_ctl { 121754293ec3SDavid Daney uint64_t u64; 121854293ec3SDavid Daney struct cvmx_ipd_pwp_ptr_fifo_ctl_s { 1219c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 122054293ec3SDavid Daney uint64_t reserved_61_63:3; 122154293ec3SDavid Daney uint64_t max_cnts:7; 122254293ec3SDavid Daney uint64_t wraddr:8; 122354293ec3SDavid Daney uint64_t praddr:8; 122454293ec3SDavid Daney uint64_t ptr:29; 122554293ec3SDavid Daney uint64_t cena:1; 122654293ec3SDavid Daney uint64_t raddr:8; 1227c5aa59e8SDavid Daney #else 1228c5aa59e8SDavid Daney uint64_t raddr:8; 1229c5aa59e8SDavid Daney uint64_t cena:1; 1230c5aa59e8SDavid Daney uint64_t ptr:29; 1231c5aa59e8SDavid Daney uint64_t praddr:8; 1232c5aa59e8SDavid Daney uint64_t wraddr:8; 1233c5aa59e8SDavid Daney uint64_t max_cnts:7; 1234c5aa59e8SDavid Daney uint64_t reserved_61_63:3; 1235c5aa59e8SDavid Daney #endif 123654293ec3SDavid Daney } s; 123754293ec3SDavid Daney }; 123854293ec3SDavid Daney 123954293ec3SDavid Daney union cvmx_ipd_qosx_red_marks { 124054293ec3SDavid Daney uint64_t u64; 124154293ec3SDavid Daney struct cvmx_ipd_qosx_red_marks_s { 1242c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 124354293ec3SDavid Daney uint64_t drop:32; 124454293ec3SDavid Daney uint64_t pass:32; 1245c5aa59e8SDavid Daney #else 1246c5aa59e8SDavid Daney uint64_t pass:32; 1247c5aa59e8SDavid Daney uint64_t drop:32; 1248c5aa59e8SDavid Daney #endif 124954293ec3SDavid Daney } s; 125054293ec3SDavid Daney }; 125154293ec3SDavid Daney 125254293ec3SDavid Daney union cvmx_ipd_que0_free_page_cnt { 125354293ec3SDavid Daney uint64_t u64; 125454293ec3SDavid Daney struct cvmx_ipd_que0_free_page_cnt_s { 1255c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 125654293ec3SDavid Daney uint64_t reserved_32_63:32; 125754293ec3SDavid Daney uint64_t q0_pcnt:32; 1258c5aa59e8SDavid Daney #else 1259c5aa59e8SDavid Daney uint64_t q0_pcnt:32; 1260c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1261c5aa59e8SDavid Daney #endif 126254293ec3SDavid Daney } s; 1263c5aa59e8SDavid Daney }; 1264c5aa59e8SDavid Daney 1265c5aa59e8SDavid Daney union cvmx_ipd_red_bpid_enablex { 1266c5aa59e8SDavid Daney uint64_t u64; 1267c5aa59e8SDavid Daney struct cvmx_ipd_red_bpid_enablex_s { 1268c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1269c5aa59e8SDavid Daney uint64_t prt_enb:64; 1270c5aa59e8SDavid Daney #else 1271c5aa59e8SDavid Daney uint64_t prt_enb:64; 1272c5aa59e8SDavid Daney #endif 1273c5aa59e8SDavid Daney } s; 1274c5aa59e8SDavid Daney }; 1275c5aa59e8SDavid Daney 1276c5aa59e8SDavid Daney union cvmx_ipd_red_delay { 1277c5aa59e8SDavid Daney uint64_t u64; 1278c5aa59e8SDavid Daney struct cvmx_ipd_red_delay_s { 1279c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1280c5aa59e8SDavid Daney uint64_t reserved_28_63:36; 1281c5aa59e8SDavid Daney uint64_t prb_dly:14; 1282c5aa59e8SDavid Daney uint64_t avg_dly:14; 1283c5aa59e8SDavid Daney #else 1284c5aa59e8SDavid Daney uint64_t avg_dly:14; 1285c5aa59e8SDavid Daney uint64_t prb_dly:14; 1286c5aa59e8SDavid Daney uint64_t reserved_28_63:36; 1287c5aa59e8SDavid Daney #endif 1288c5aa59e8SDavid Daney } s; 128954293ec3SDavid Daney }; 129054293ec3SDavid Daney 129154293ec3SDavid Daney union cvmx_ipd_red_port_enable { 129254293ec3SDavid Daney uint64_t u64; 129354293ec3SDavid Daney struct cvmx_ipd_red_port_enable_s { 1294c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 129554293ec3SDavid Daney uint64_t prb_dly:14; 129654293ec3SDavid Daney uint64_t avg_dly:14; 129754293ec3SDavid Daney uint64_t prt_enb:36; 1298c5aa59e8SDavid Daney #else 1299c5aa59e8SDavid Daney uint64_t prt_enb:36; 1300c5aa59e8SDavid Daney uint64_t avg_dly:14; 1301c5aa59e8SDavid Daney uint64_t prb_dly:14; 1302c5aa59e8SDavid Daney #endif 130354293ec3SDavid Daney } s; 130454293ec3SDavid Daney }; 130554293ec3SDavid Daney 130654293ec3SDavid Daney union cvmx_ipd_red_port_enable2 { 130754293ec3SDavid Daney uint64_t u64; 130854293ec3SDavid Daney struct cvmx_ipd_red_port_enable2_s { 1309c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1310c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 1311c5aa59e8SDavid Daney uint64_t prt_enb:12; 1312c5aa59e8SDavid Daney #else 1313c5aa59e8SDavid Daney uint64_t prt_enb:12; 1314c5aa59e8SDavid Daney uint64_t reserved_12_63:52; 1315c5aa59e8SDavid Daney #endif 1316aa32a955SDavid Daney } s; 1317aa32a955SDavid Daney struct cvmx_ipd_red_port_enable2_cn52xx { 1318c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 131954293ec3SDavid Daney uint64_t reserved_4_63:60; 132054293ec3SDavid Daney uint64_t prt_enb:4; 1321c5aa59e8SDavid Daney #else 1322c5aa59e8SDavid Daney uint64_t prt_enb:4; 1323c5aa59e8SDavid Daney uint64_t reserved_4_63:60; 1324c5aa59e8SDavid Daney #endif 1325aa32a955SDavid Daney } cn52xx; 1326c5aa59e8SDavid Daney struct cvmx_ipd_red_port_enable2_cn63xx { 1327c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1328c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 1329c5aa59e8SDavid Daney uint64_t prt_enb:8; 1330c5aa59e8SDavid Daney #else 1331c5aa59e8SDavid Daney uint64_t prt_enb:8; 1332c5aa59e8SDavid Daney uint64_t reserved_8_63:56; 1333c5aa59e8SDavid Daney #endif 1334c5aa59e8SDavid Daney } cn63xx; 133554293ec3SDavid Daney }; 133654293ec3SDavid Daney 133754293ec3SDavid Daney union cvmx_ipd_red_quex_param { 133854293ec3SDavid Daney uint64_t u64; 133954293ec3SDavid Daney struct cvmx_ipd_red_quex_param_s { 1340c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 134154293ec3SDavid Daney uint64_t reserved_49_63:15; 134254293ec3SDavid Daney uint64_t use_pcnt:1; 134354293ec3SDavid Daney uint64_t new_con:8; 134454293ec3SDavid Daney uint64_t avg_con:8; 134554293ec3SDavid Daney uint64_t prb_con:32; 1346c5aa59e8SDavid Daney #else 1347c5aa59e8SDavid Daney uint64_t prb_con:32; 1348c5aa59e8SDavid Daney uint64_t avg_con:8; 1349c5aa59e8SDavid Daney uint64_t new_con:8; 1350c5aa59e8SDavid Daney uint64_t use_pcnt:1; 1351c5aa59e8SDavid Daney uint64_t reserved_49_63:15; 1352c5aa59e8SDavid Daney #endif 135354293ec3SDavid Daney } s; 1354c5aa59e8SDavid Daney }; 1355c5aa59e8SDavid Daney 1356c5aa59e8SDavid Daney union cvmx_ipd_req_wgt { 1357c5aa59e8SDavid Daney uint64_t u64; 1358c5aa59e8SDavid Daney struct cvmx_ipd_req_wgt_s { 1359c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 1360c5aa59e8SDavid Daney uint64_t wgt7:8; 1361c5aa59e8SDavid Daney uint64_t wgt6:8; 1362c5aa59e8SDavid Daney uint64_t wgt5:8; 1363c5aa59e8SDavid Daney uint64_t wgt4:8; 1364c5aa59e8SDavid Daney uint64_t wgt3:8; 1365c5aa59e8SDavid Daney uint64_t wgt2:8; 1366c5aa59e8SDavid Daney uint64_t wgt1:8; 1367c5aa59e8SDavid Daney uint64_t wgt0:8; 1368c5aa59e8SDavid Daney #else 1369c5aa59e8SDavid Daney uint64_t wgt0:8; 1370c5aa59e8SDavid Daney uint64_t wgt1:8; 1371c5aa59e8SDavid Daney uint64_t wgt2:8; 1372c5aa59e8SDavid Daney uint64_t wgt3:8; 1373c5aa59e8SDavid Daney uint64_t wgt4:8; 1374c5aa59e8SDavid Daney uint64_t wgt5:8; 1375c5aa59e8SDavid Daney uint64_t wgt6:8; 1376c5aa59e8SDavid Daney uint64_t wgt7:8; 1377c5aa59e8SDavid Daney #endif 1378c5aa59e8SDavid Daney } s; 137954293ec3SDavid Daney }; 138054293ec3SDavid Daney 138154293ec3SDavid Daney union cvmx_ipd_sub_port_bp_page_cnt { 138254293ec3SDavid Daney uint64_t u64; 138354293ec3SDavid Daney struct cvmx_ipd_sub_port_bp_page_cnt_s { 1384c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 138554293ec3SDavid Daney uint64_t reserved_31_63:33; 138654293ec3SDavid Daney uint64_t port:6; 138754293ec3SDavid Daney uint64_t page_cnt:25; 1388c5aa59e8SDavid Daney #else 1389c5aa59e8SDavid Daney uint64_t page_cnt:25; 1390c5aa59e8SDavid Daney uint64_t port:6; 1391c5aa59e8SDavid Daney uint64_t reserved_31_63:33; 1392c5aa59e8SDavid Daney #endif 139354293ec3SDavid Daney } s; 139454293ec3SDavid Daney }; 139554293ec3SDavid Daney 139654293ec3SDavid Daney union cvmx_ipd_sub_port_fcs { 139754293ec3SDavid Daney uint64_t u64; 139854293ec3SDavid Daney struct cvmx_ipd_sub_port_fcs_s { 1399c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 140054293ec3SDavid Daney uint64_t reserved_40_63:24; 140154293ec3SDavid Daney uint64_t port_bit2:4; 140254293ec3SDavid Daney uint64_t reserved_32_35:4; 140354293ec3SDavid Daney uint64_t port_bit:32; 1404c5aa59e8SDavid Daney #else 1405c5aa59e8SDavid Daney uint64_t port_bit:32; 1406c5aa59e8SDavid Daney uint64_t reserved_32_35:4; 1407c5aa59e8SDavid Daney uint64_t port_bit2:4; 1408c5aa59e8SDavid Daney uint64_t reserved_40_63:24; 1409c5aa59e8SDavid Daney #endif 141054293ec3SDavid Daney } s; 141154293ec3SDavid Daney struct cvmx_ipd_sub_port_fcs_cn30xx { 1412c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 141354293ec3SDavid Daney uint64_t reserved_3_63:61; 141454293ec3SDavid Daney uint64_t port_bit:3; 1415c5aa59e8SDavid Daney #else 1416c5aa59e8SDavid Daney uint64_t port_bit:3; 1417c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 1418c5aa59e8SDavid Daney #endif 141954293ec3SDavid Daney } cn30xx; 142054293ec3SDavid Daney struct cvmx_ipd_sub_port_fcs_cn38xx { 1421c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 142254293ec3SDavid Daney uint64_t reserved_32_63:32; 142354293ec3SDavid Daney uint64_t port_bit:32; 1424c5aa59e8SDavid Daney #else 1425c5aa59e8SDavid Daney uint64_t port_bit:32; 1426c5aa59e8SDavid Daney uint64_t reserved_32_63:32; 1427c5aa59e8SDavid Daney #endif 142854293ec3SDavid Daney } cn38xx; 142954293ec3SDavid Daney }; 143054293ec3SDavid Daney 143154293ec3SDavid Daney union cvmx_ipd_sub_port_qos_cnt { 143254293ec3SDavid Daney uint64_t u64; 143354293ec3SDavid Daney struct cvmx_ipd_sub_port_qos_cnt_s { 1434c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 143554293ec3SDavid Daney uint64_t reserved_41_63:23; 143654293ec3SDavid Daney uint64_t port_qos:9; 143754293ec3SDavid Daney uint64_t cnt:32; 1438c5aa59e8SDavid Daney #else 1439c5aa59e8SDavid Daney uint64_t cnt:32; 1440c5aa59e8SDavid Daney uint64_t port_qos:9; 1441c5aa59e8SDavid Daney uint64_t reserved_41_63:23; 1442c5aa59e8SDavid Daney #endif 144354293ec3SDavid Daney } s; 144454293ec3SDavid Daney }; 144554293ec3SDavid Daney 144654293ec3SDavid Daney union cvmx_ipd_wqe_fpa_queue { 144754293ec3SDavid Daney uint64_t u64; 144854293ec3SDavid Daney struct cvmx_ipd_wqe_fpa_queue_s { 1449c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 145054293ec3SDavid Daney uint64_t reserved_3_63:61; 145154293ec3SDavid Daney uint64_t wqe_pool:3; 1452c5aa59e8SDavid Daney #else 1453c5aa59e8SDavid Daney uint64_t wqe_pool:3; 1454c5aa59e8SDavid Daney uint64_t reserved_3_63:61; 1455c5aa59e8SDavid Daney #endif 145654293ec3SDavid Daney } s; 145754293ec3SDavid Daney }; 145854293ec3SDavid Daney 145954293ec3SDavid Daney union cvmx_ipd_wqe_ptr_valid { 146054293ec3SDavid Daney uint64_t u64; 146154293ec3SDavid Daney struct cvmx_ipd_wqe_ptr_valid_s { 1462c5aa59e8SDavid Daney #ifdef __BIG_ENDIAN_BITFIELD 146354293ec3SDavid Daney uint64_t reserved_29_63:35; 146454293ec3SDavid Daney uint64_t ptr:29; 1465c5aa59e8SDavid Daney #else 1466c5aa59e8SDavid Daney uint64_t ptr:29; 1467c5aa59e8SDavid Daney uint64_t reserved_29_63:35; 1468c5aa59e8SDavid Daney #endif 146954293ec3SDavid Daney } s; 147054293ec3SDavid Daney }; 147154293ec3SDavid Daney 147254293ec3SDavid Daney #endif 1473