cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cvmx-dpi-defs.h (20435B)


      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_DPI_DEFS_H__
     29#define __CVMX_DPI_DEFS_H__
     30
     31#define CVMX_DPI_BIST_STATUS (CVMX_ADD_IO_SEG(0x0001DF0000000000ull))
     32#define CVMX_DPI_CTL (CVMX_ADD_IO_SEG(0x0001DF0000000040ull))
     33#define CVMX_DPI_DMAX_COUNTS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000300ull) + ((offset) & 7) * 8)
     34#define CVMX_DPI_DMAX_DBELL(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000200ull) + ((offset) & 7) * 8)
     35#define CVMX_DPI_DMAX_ERR_RSP_STATUS(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A80ull) + ((offset) & 7) * 8)
     36#define CVMX_DPI_DMAX_IBUFF_SADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000280ull) + ((offset) & 7) * 8)
     37#define CVMX_DPI_DMAX_IFLIGHT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000A00ull) + ((offset) & 7) * 8)
     38#define CVMX_DPI_DMAX_NADDR(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000380ull) + ((offset) & 7) * 8)
     39#define CVMX_DPI_DMAX_REQBNK0(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000400ull) + ((offset) & 7) * 8)
     40#define CVMX_DPI_DMAX_REQBNK1(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000480ull) + ((offset) & 7) * 8)
     41#define CVMX_DPI_DMA_CONTROL (CVMX_ADD_IO_SEG(0x0001DF0000000048ull))
     42#define CVMX_DPI_DMA_ENGX_EN(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000080ull) + ((offset) & 7) * 8)
     43#define CVMX_DPI_DMA_PPX_CNT(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000B00ull) + ((offset) & 31) * 8)
     44#define CVMX_DPI_ENGX_BUF(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000880ull) + ((offset) & 7) * 8)
     45#define CVMX_DPI_INFO_REG (CVMX_ADD_IO_SEG(0x0001DF0000000980ull))
     46#define CVMX_DPI_INT_EN (CVMX_ADD_IO_SEG(0x0001DF0000000010ull))
     47#define CVMX_DPI_INT_REG (CVMX_ADD_IO_SEG(0x0001DF0000000008ull))
     48#define CVMX_DPI_NCBX_CFG(block_id) (CVMX_ADD_IO_SEG(0x0001DF0000000800ull))
     49#define CVMX_DPI_PINT_INFO (CVMX_ADD_IO_SEG(0x0001DF0000000830ull))
     50#define CVMX_DPI_PKT_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000078ull))
     51#define CVMX_DPI_REQ_ERR_RSP (CVMX_ADD_IO_SEG(0x0001DF0000000058ull))
     52#define CVMX_DPI_REQ_ERR_RSP_EN (CVMX_ADD_IO_SEG(0x0001DF0000000068ull))
     53#define CVMX_DPI_REQ_ERR_RST (CVMX_ADD_IO_SEG(0x0001DF0000000060ull))
     54#define CVMX_DPI_REQ_ERR_RST_EN (CVMX_ADD_IO_SEG(0x0001DF0000000070ull))
     55#define CVMX_DPI_REQ_ERR_SKIP_COMP (CVMX_ADD_IO_SEG(0x0001DF0000000838ull))
     56#define CVMX_DPI_REQ_GBL_EN (CVMX_ADD_IO_SEG(0x0001DF0000000050ull))
     57#define CVMX_DPI_SLI_PRTX_CFG(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000900ull) + ((offset) & 3) * 8)
     58static inline uint64_t CVMX_DPI_SLI_PRTX_ERR(unsigned long offset)
     59{
     60	switch (cvmx_get_octeon_family()) {
     61	case OCTEON_CN66XX & OCTEON_FAMILY_MASK:
     62		return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
     63	case OCTEON_CNF71XX & OCTEON_FAMILY_MASK:
     64	case OCTEON_CN61XX & OCTEON_FAMILY_MASK:
     65	case OCTEON_CN68XX & OCTEON_FAMILY_MASK:
     66
     67		if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS1))
     68			return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
     69
     70		if (OCTEON_IS_MODEL(OCTEON_CN68XX_PASS2))
     71			return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
     72		return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
     73	case OCTEON_CN63XX & OCTEON_FAMILY_MASK:
     74		return CVMX_ADD_IO_SEG(0x0001DF0000000928ull) + (offset) * 8;
     75	}
     76	return CVMX_ADD_IO_SEG(0x0001DF0000000920ull) + (offset) * 8;
     77}
     78
     79#define CVMX_DPI_SLI_PRTX_ERR_INFO(offset) (CVMX_ADD_IO_SEG(0x0001DF0000000940ull) + ((offset) & 3) * 8)
     80
     81union cvmx_dpi_bist_status {
     82	uint64_t u64;
     83	struct cvmx_dpi_bist_status_s {
     84#ifdef __BIG_ENDIAN_BITFIELD
     85		uint64_t reserved_47_63:17;
     86		uint64_t bist:47;
     87#else
     88		uint64_t bist:47;
     89		uint64_t reserved_47_63:17;
     90#endif
     91	} s;
     92	struct cvmx_dpi_bist_status_cn63xx {
     93#ifdef __BIG_ENDIAN_BITFIELD
     94		uint64_t reserved_45_63:19;
     95		uint64_t bist:45;
     96#else
     97		uint64_t bist:45;
     98		uint64_t reserved_45_63:19;
     99#endif
    100	} cn63xx;
    101	struct cvmx_dpi_bist_status_cn63xxp1 {
    102#ifdef __BIG_ENDIAN_BITFIELD
    103		uint64_t reserved_37_63:27;
    104		uint64_t bist:37;
    105#else
    106		uint64_t bist:37;
    107		uint64_t reserved_37_63:27;
    108#endif
    109	} cn63xxp1;
    110};
    111
    112union cvmx_dpi_ctl {
    113	uint64_t u64;
    114	struct cvmx_dpi_ctl_s {
    115#ifdef __BIG_ENDIAN_BITFIELD
    116		uint64_t reserved_2_63:62;
    117		uint64_t clk:1;
    118		uint64_t en:1;
    119#else
    120		uint64_t en:1;
    121		uint64_t clk:1;
    122		uint64_t reserved_2_63:62;
    123#endif
    124	} s;
    125	struct cvmx_dpi_ctl_cn61xx {
    126#ifdef __BIG_ENDIAN_BITFIELD
    127		uint64_t reserved_1_63:63;
    128		uint64_t en:1;
    129#else
    130		uint64_t en:1;
    131		uint64_t reserved_1_63:63;
    132#endif
    133	} cn61xx;
    134};
    135
    136union cvmx_dpi_dmax_counts {
    137	uint64_t u64;
    138	struct cvmx_dpi_dmax_counts_s {
    139#ifdef __BIG_ENDIAN_BITFIELD
    140		uint64_t reserved_39_63:25;
    141		uint64_t fcnt:7;
    142		uint64_t dbell:32;
    143#else
    144		uint64_t dbell:32;
    145		uint64_t fcnt:7;
    146		uint64_t reserved_39_63:25;
    147#endif
    148	} s;
    149};
    150
    151union cvmx_dpi_dmax_dbell {
    152	uint64_t u64;
    153	struct cvmx_dpi_dmax_dbell_s {
    154#ifdef __BIG_ENDIAN_BITFIELD
    155		uint64_t reserved_16_63:48;
    156		uint64_t dbell:16;
    157#else
    158		uint64_t dbell:16;
    159		uint64_t reserved_16_63:48;
    160#endif
    161	} s;
    162};
    163
    164union cvmx_dpi_dmax_err_rsp_status {
    165	uint64_t u64;
    166	struct cvmx_dpi_dmax_err_rsp_status_s {
    167#ifdef __BIG_ENDIAN_BITFIELD
    168		uint64_t reserved_6_63:58;
    169		uint64_t status:6;
    170#else
    171		uint64_t status:6;
    172		uint64_t reserved_6_63:58;
    173#endif
    174	} s;
    175};
    176
    177union cvmx_dpi_dmax_ibuff_saddr {
    178	uint64_t u64;
    179	struct cvmx_dpi_dmax_ibuff_saddr_s {
    180#ifdef __BIG_ENDIAN_BITFIELD
    181		uint64_t reserved_62_63:2;
    182		uint64_t csize:14;
    183		uint64_t reserved_41_47:7;
    184		uint64_t idle:1;
    185		uint64_t saddr:33;
    186		uint64_t reserved_0_6:7;
    187#else
    188		uint64_t reserved_0_6:7;
    189		uint64_t saddr:33;
    190		uint64_t idle:1;
    191		uint64_t reserved_41_47:7;
    192		uint64_t csize:14;
    193		uint64_t reserved_62_63:2;
    194#endif
    195	} s;
    196	struct cvmx_dpi_dmax_ibuff_saddr_cn61xx {
    197#ifdef __BIG_ENDIAN_BITFIELD
    198		uint64_t reserved_62_63:2;
    199		uint64_t csize:14;
    200		uint64_t reserved_41_47:7;
    201		uint64_t idle:1;
    202		uint64_t reserved_36_39:4;
    203		uint64_t saddr:29;
    204		uint64_t reserved_0_6:7;
    205#else
    206		uint64_t reserved_0_6:7;
    207		uint64_t saddr:29;
    208		uint64_t reserved_36_39:4;
    209		uint64_t idle:1;
    210		uint64_t reserved_41_47:7;
    211		uint64_t csize:14;
    212		uint64_t reserved_62_63:2;
    213#endif
    214	} cn61xx;
    215};
    216
    217union cvmx_dpi_dmax_iflight {
    218	uint64_t u64;
    219	struct cvmx_dpi_dmax_iflight_s {
    220#ifdef __BIG_ENDIAN_BITFIELD
    221		uint64_t reserved_3_63:61;
    222		uint64_t cnt:3;
    223#else
    224		uint64_t cnt:3;
    225		uint64_t reserved_3_63:61;
    226#endif
    227	} s;
    228};
    229
    230union cvmx_dpi_dmax_naddr {
    231	uint64_t u64;
    232	struct cvmx_dpi_dmax_naddr_s {
    233#ifdef __BIG_ENDIAN_BITFIELD
    234		uint64_t reserved_40_63:24;
    235		uint64_t addr:40;
    236#else
    237		uint64_t addr:40;
    238		uint64_t reserved_40_63:24;
    239#endif
    240	} s;
    241	struct cvmx_dpi_dmax_naddr_cn61xx {
    242#ifdef __BIG_ENDIAN_BITFIELD
    243		uint64_t reserved_36_63:28;
    244		uint64_t addr:36;
    245#else
    246		uint64_t addr:36;
    247		uint64_t reserved_36_63:28;
    248#endif
    249	} cn61xx;
    250};
    251
    252union cvmx_dpi_dmax_reqbnk0 {
    253	uint64_t u64;
    254	struct cvmx_dpi_dmax_reqbnk0_s {
    255#ifdef __BIG_ENDIAN_BITFIELD
    256		uint64_t state:64;
    257#else
    258		uint64_t state:64;
    259#endif
    260	} s;
    261};
    262
    263union cvmx_dpi_dmax_reqbnk1 {
    264	uint64_t u64;
    265	struct cvmx_dpi_dmax_reqbnk1_s {
    266#ifdef __BIG_ENDIAN_BITFIELD
    267		uint64_t state:64;
    268#else
    269		uint64_t state:64;
    270#endif
    271	} s;
    272};
    273
    274union cvmx_dpi_dma_control {
    275	uint64_t u64;
    276	struct cvmx_dpi_dma_control_s {
    277#ifdef __BIG_ENDIAN_BITFIELD
    278		uint64_t reserved_62_63:2;
    279		uint64_t dici_mode:1;
    280		uint64_t pkt_en1:1;
    281		uint64_t ffp_dis:1;
    282		uint64_t commit_mode:1;
    283		uint64_t pkt_hp:1;
    284		uint64_t pkt_en:1;
    285		uint64_t reserved_54_55:2;
    286		uint64_t dma_enb:6;
    287		uint64_t reserved_34_47:14;
    288		uint64_t b0_lend:1;
    289		uint64_t dwb_denb:1;
    290		uint64_t dwb_ichk:9;
    291		uint64_t fpa_que:3;
    292		uint64_t o_add1:1;
    293		uint64_t o_ro:1;
    294		uint64_t o_ns:1;
    295		uint64_t o_es:2;
    296		uint64_t o_mode:1;
    297		uint64_t reserved_0_13:14;
    298#else
    299		uint64_t reserved_0_13:14;
    300		uint64_t o_mode:1;
    301		uint64_t o_es:2;
    302		uint64_t o_ns:1;
    303		uint64_t o_ro:1;
    304		uint64_t o_add1:1;
    305		uint64_t fpa_que:3;
    306		uint64_t dwb_ichk:9;
    307		uint64_t dwb_denb:1;
    308		uint64_t b0_lend:1;
    309		uint64_t reserved_34_47:14;
    310		uint64_t dma_enb:6;
    311		uint64_t reserved_54_55:2;
    312		uint64_t pkt_en:1;
    313		uint64_t pkt_hp:1;
    314		uint64_t commit_mode:1;
    315		uint64_t ffp_dis:1;
    316		uint64_t pkt_en1:1;
    317		uint64_t dici_mode:1;
    318		uint64_t reserved_62_63:2;
    319#endif
    320	} s;
    321	struct cvmx_dpi_dma_control_cn63xx {
    322#ifdef __BIG_ENDIAN_BITFIELD
    323		uint64_t reserved_61_63:3;
    324		uint64_t pkt_en1:1;
    325		uint64_t ffp_dis:1;
    326		uint64_t commit_mode:1;
    327		uint64_t pkt_hp:1;
    328		uint64_t pkt_en:1;
    329		uint64_t reserved_54_55:2;
    330		uint64_t dma_enb:6;
    331		uint64_t reserved_34_47:14;
    332		uint64_t b0_lend:1;
    333		uint64_t dwb_denb:1;
    334		uint64_t dwb_ichk:9;
    335		uint64_t fpa_que:3;
    336		uint64_t o_add1:1;
    337		uint64_t o_ro:1;
    338		uint64_t o_ns:1;
    339		uint64_t o_es:2;
    340		uint64_t o_mode:1;
    341		uint64_t reserved_0_13:14;
    342#else
    343		uint64_t reserved_0_13:14;
    344		uint64_t o_mode:1;
    345		uint64_t o_es:2;
    346		uint64_t o_ns:1;
    347		uint64_t o_ro:1;
    348		uint64_t o_add1:1;
    349		uint64_t fpa_que:3;
    350		uint64_t dwb_ichk:9;
    351		uint64_t dwb_denb:1;
    352		uint64_t b0_lend:1;
    353		uint64_t reserved_34_47:14;
    354		uint64_t dma_enb:6;
    355		uint64_t reserved_54_55:2;
    356		uint64_t pkt_en:1;
    357		uint64_t pkt_hp:1;
    358		uint64_t commit_mode:1;
    359		uint64_t ffp_dis:1;
    360		uint64_t pkt_en1:1;
    361		uint64_t reserved_61_63:3;
    362#endif
    363	} cn63xx;
    364	struct cvmx_dpi_dma_control_cn63xxp1 {
    365#ifdef __BIG_ENDIAN_BITFIELD
    366		uint64_t reserved_59_63:5;
    367		uint64_t commit_mode:1;
    368		uint64_t pkt_hp:1;
    369		uint64_t pkt_en:1;
    370		uint64_t reserved_54_55:2;
    371		uint64_t dma_enb:6;
    372		uint64_t reserved_34_47:14;
    373		uint64_t b0_lend:1;
    374		uint64_t dwb_denb:1;
    375		uint64_t dwb_ichk:9;
    376		uint64_t fpa_que:3;
    377		uint64_t o_add1:1;
    378		uint64_t o_ro:1;
    379		uint64_t o_ns:1;
    380		uint64_t o_es:2;
    381		uint64_t o_mode:1;
    382		uint64_t reserved_0_13:14;
    383#else
    384		uint64_t reserved_0_13:14;
    385		uint64_t o_mode:1;
    386		uint64_t o_es:2;
    387		uint64_t o_ns:1;
    388		uint64_t o_ro:1;
    389		uint64_t o_add1:1;
    390		uint64_t fpa_que:3;
    391		uint64_t dwb_ichk:9;
    392		uint64_t dwb_denb:1;
    393		uint64_t b0_lend:1;
    394		uint64_t reserved_34_47:14;
    395		uint64_t dma_enb:6;
    396		uint64_t reserved_54_55:2;
    397		uint64_t pkt_en:1;
    398		uint64_t pkt_hp:1;
    399		uint64_t commit_mode:1;
    400		uint64_t reserved_59_63:5;
    401#endif
    402	} cn63xxp1;
    403};
    404
    405union cvmx_dpi_dma_engx_en {
    406	uint64_t u64;
    407	struct cvmx_dpi_dma_engx_en_s {
    408#ifdef __BIG_ENDIAN_BITFIELD
    409		uint64_t reserved_8_63:56;
    410		uint64_t qen:8;
    411#else
    412		uint64_t qen:8;
    413		uint64_t reserved_8_63:56;
    414#endif
    415	} s;
    416};
    417
    418union cvmx_dpi_dma_ppx_cnt {
    419	uint64_t u64;
    420	struct cvmx_dpi_dma_ppx_cnt_s {
    421#ifdef __BIG_ENDIAN_BITFIELD
    422		uint64_t reserved_16_63:48;
    423		uint64_t cnt:16;
    424#else
    425		uint64_t cnt:16;
    426		uint64_t reserved_16_63:48;
    427#endif
    428	} s;
    429};
    430
    431union cvmx_dpi_engx_buf {
    432	uint64_t u64;
    433	struct cvmx_dpi_engx_buf_s {
    434#ifdef __BIG_ENDIAN_BITFIELD
    435		uint64_t reserved_37_63:27;
    436		uint64_t compblks:5;
    437		uint64_t reserved_9_31:23;
    438		uint64_t base:5;
    439		uint64_t blks:4;
    440#else
    441		uint64_t blks:4;
    442		uint64_t base:5;
    443		uint64_t reserved_9_31:23;
    444		uint64_t compblks:5;
    445		uint64_t reserved_37_63:27;
    446#endif
    447	} s;
    448	struct cvmx_dpi_engx_buf_cn63xx {
    449#ifdef __BIG_ENDIAN_BITFIELD
    450		uint64_t reserved_8_63:56;
    451		uint64_t base:4;
    452		uint64_t blks:4;
    453#else
    454		uint64_t blks:4;
    455		uint64_t base:4;
    456		uint64_t reserved_8_63:56;
    457#endif
    458	} cn63xx;
    459};
    460
    461union cvmx_dpi_info_reg {
    462	uint64_t u64;
    463	struct cvmx_dpi_info_reg_s {
    464#ifdef __BIG_ENDIAN_BITFIELD
    465		uint64_t reserved_8_63:56;
    466		uint64_t ffp:4;
    467		uint64_t reserved_2_3:2;
    468		uint64_t ncb:1;
    469		uint64_t rsl:1;
    470#else
    471		uint64_t rsl:1;
    472		uint64_t ncb:1;
    473		uint64_t reserved_2_3:2;
    474		uint64_t ffp:4;
    475		uint64_t reserved_8_63:56;
    476#endif
    477	} s;
    478	struct cvmx_dpi_info_reg_cn63xxp1 {
    479#ifdef __BIG_ENDIAN_BITFIELD
    480		uint64_t reserved_2_63:62;
    481		uint64_t ncb:1;
    482		uint64_t rsl:1;
    483#else
    484		uint64_t rsl:1;
    485		uint64_t ncb:1;
    486		uint64_t reserved_2_63:62;
    487#endif
    488	} cn63xxp1;
    489};
    490
    491union cvmx_dpi_int_en {
    492	uint64_t u64;
    493	struct cvmx_dpi_int_en_s {
    494#ifdef __BIG_ENDIAN_BITFIELD
    495		uint64_t reserved_28_63:36;
    496		uint64_t sprt3_rst:1;
    497		uint64_t sprt2_rst:1;
    498		uint64_t sprt1_rst:1;
    499		uint64_t sprt0_rst:1;
    500		uint64_t reserved_23_23:1;
    501		uint64_t req_badfil:1;
    502		uint64_t req_inull:1;
    503		uint64_t req_anull:1;
    504		uint64_t req_undflw:1;
    505		uint64_t req_ovrflw:1;
    506		uint64_t req_badlen:1;
    507		uint64_t req_badadr:1;
    508		uint64_t dmadbo:8;
    509		uint64_t reserved_2_7:6;
    510		uint64_t nfovr:1;
    511		uint64_t nderr:1;
    512#else
    513		uint64_t nderr:1;
    514		uint64_t nfovr:1;
    515		uint64_t reserved_2_7:6;
    516		uint64_t dmadbo:8;
    517		uint64_t req_badadr:1;
    518		uint64_t req_badlen:1;
    519		uint64_t req_ovrflw:1;
    520		uint64_t req_undflw:1;
    521		uint64_t req_anull:1;
    522		uint64_t req_inull:1;
    523		uint64_t req_badfil:1;
    524		uint64_t reserved_23_23:1;
    525		uint64_t sprt0_rst:1;
    526		uint64_t sprt1_rst:1;
    527		uint64_t sprt2_rst:1;
    528		uint64_t sprt3_rst:1;
    529		uint64_t reserved_28_63:36;
    530#endif
    531	} s;
    532	struct cvmx_dpi_int_en_cn63xx {
    533#ifdef __BIG_ENDIAN_BITFIELD
    534		uint64_t reserved_26_63:38;
    535		uint64_t sprt1_rst:1;
    536		uint64_t sprt0_rst:1;
    537		uint64_t reserved_23_23:1;
    538		uint64_t req_badfil:1;
    539		uint64_t req_inull:1;
    540		uint64_t req_anull:1;
    541		uint64_t req_undflw:1;
    542		uint64_t req_ovrflw:1;
    543		uint64_t req_badlen:1;
    544		uint64_t req_badadr:1;
    545		uint64_t dmadbo:8;
    546		uint64_t reserved_2_7:6;
    547		uint64_t nfovr:1;
    548		uint64_t nderr:1;
    549#else
    550		uint64_t nderr:1;
    551		uint64_t nfovr:1;
    552		uint64_t reserved_2_7:6;
    553		uint64_t dmadbo:8;
    554		uint64_t req_badadr:1;
    555		uint64_t req_badlen:1;
    556		uint64_t req_ovrflw:1;
    557		uint64_t req_undflw:1;
    558		uint64_t req_anull:1;
    559		uint64_t req_inull:1;
    560		uint64_t req_badfil:1;
    561		uint64_t reserved_23_23:1;
    562		uint64_t sprt0_rst:1;
    563		uint64_t sprt1_rst:1;
    564		uint64_t reserved_26_63:38;
    565#endif
    566	} cn63xx;
    567};
    568
    569union cvmx_dpi_int_reg {
    570	uint64_t u64;
    571	struct cvmx_dpi_int_reg_s {
    572#ifdef __BIG_ENDIAN_BITFIELD
    573		uint64_t reserved_28_63:36;
    574		uint64_t sprt3_rst:1;
    575		uint64_t sprt2_rst:1;
    576		uint64_t sprt1_rst:1;
    577		uint64_t sprt0_rst:1;
    578		uint64_t reserved_23_23:1;
    579		uint64_t req_badfil:1;
    580		uint64_t req_inull:1;
    581		uint64_t req_anull:1;
    582		uint64_t req_undflw:1;
    583		uint64_t req_ovrflw:1;
    584		uint64_t req_badlen:1;
    585		uint64_t req_badadr:1;
    586		uint64_t dmadbo:8;
    587		uint64_t reserved_2_7:6;
    588		uint64_t nfovr:1;
    589		uint64_t nderr:1;
    590#else
    591		uint64_t nderr:1;
    592		uint64_t nfovr:1;
    593		uint64_t reserved_2_7:6;
    594		uint64_t dmadbo:8;
    595		uint64_t req_badadr:1;
    596		uint64_t req_badlen:1;
    597		uint64_t req_ovrflw:1;
    598		uint64_t req_undflw:1;
    599		uint64_t req_anull:1;
    600		uint64_t req_inull:1;
    601		uint64_t req_badfil:1;
    602		uint64_t reserved_23_23:1;
    603		uint64_t sprt0_rst:1;
    604		uint64_t sprt1_rst:1;
    605		uint64_t sprt2_rst:1;
    606		uint64_t sprt3_rst:1;
    607		uint64_t reserved_28_63:36;
    608#endif
    609	} s;
    610	struct cvmx_dpi_int_reg_cn63xx {
    611#ifdef __BIG_ENDIAN_BITFIELD
    612		uint64_t reserved_26_63:38;
    613		uint64_t sprt1_rst:1;
    614		uint64_t sprt0_rst:1;
    615		uint64_t reserved_23_23:1;
    616		uint64_t req_badfil:1;
    617		uint64_t req_inull:1;
    618		uint64_t req_anull:1;
    619		uint64_t req_undflw:1;
    620		uint64_t req_ovrflw:1;
    621		uint64_t req_badlen:1;
    622		uint64_t req_badadr:1;
    623		uint64_t dmadbo:8;
    624		uint64_t reserved_2_7:6;
    625		uint64_t nfovr:1;
    626		uint64_t nderr:1;
    627#else
    628		uint64_t nderr:1;
    629		uint64_t nfovr:1;
    630		uint64_t reserved_2_7:6;
    631		uint64_t dmadbo:8;
    632		uint64_t req_badadr:1;
    633		uint64_t req_badlen:1;
    634		uint64_t req_ovrflw:1;
    635		uint64_t req_undflw:1;
    636		uint64_t req_anull:1;
    637		uint64_t req_inull:1;
    638		uint64_t req_badfil:1;
    639		uint64_t reserved_23_23:1;
    640		uint64_t sprt0_rst:1;
    641		uint64_t sprt1_rst:1;
    642		uint64_t reserved_26_63:38;
    643#endif
    644	} cn63xx;
    645};
    646
    647union cvmx_dpi_ncbx_cfg {
    648	uint64_t u64;
    649	struct cvmx_dpi_ncbx_cfg_s {
    650#ifdef __BIG_ENDIAN_BITFIELD
    651		uint64_t reserved_6_63:58;
    652		uint64_t molr:6;
    653#else
    654		uint64_t molr:6;
    655		uint64_t reserved_6_63:58;
    656#endif
    657	} s;
    658};
    659
    660union cvmx_dpi_pint_info {
    661	uint64_t u64;
    662	struct cvmx_dpi_pint_info_s {
    663#ifdef __BIG_ENDIAN_BITFIELD
    664		uint64_t reserved_14_63:50;
    665		uint64_t iinfo:6;
    666		uint64_t reserved_6_7:2;
    667		uint64_t sinfo:6;
    668#else
    669		uint64_t sinfo:6;
    670		uint64_t reserved_6_7:2;
    671		uint64_t iinfo:6;
    672		uint64_t reserved_14_63:50;
    673#endif
    674	} s;
    675};
    676
    677union cvmx_dpi_pkt_err_rsp {
    678	uint64_t u64;
    679	struct cvmx_dpi_pkt_err_rsp_s {
    680#ifdef __BIG_ENDIAN_BITFIELD
    681		uint64_t reserved_1_63:63;
    682		uint64_t pkterr:1;
    683#else
    684		uint64_t pkterr:1;
    685		uint64_t reserved_1_63:63;
    686#endif
    687	} s;
    688};
    689
    690union cvmx_dpi_req_err_rsp {
    691	uint64_t u64;
    692	struct cvmx_dpi_req_err_rsp_s {
    693#ifdef __BIG_ENDIAN_BITFIELD
    694		uint64_t reserved_8_63:56;
    695		uint64_t qerr:8;
    696#else
    697		uint64_t qerr:8;
    698		uint64_t reserved_8_63:56;
    699#endif
    700	} s;
    701};
    702
    703union cvmx_dpi_req_err_rsp_en {
    704	uint64_t u64;
    705	struct cvmx_dpi_req_err_rsp_en_s {
    706#ifdef __BIG_ENDIAN_BITFIELD
    707		uint64_t reserved_8_63:56;
    708		uint64_t en:8;
    709#else
    710		uint64_t en:8;
    711		uint64_t reserved_8_63:56;
    712#endif
    713	} s;
    714};
    715
    716union cvmx_dpi_req_err_rst {
    717	uint64_t u64;
    718	struct cvmx_dpi_req_err_rst_s {
    719#ifdef __BIG_ENDIAN_BITFIELD
    720		uint64_t reserved_8_63:56;
    721		uint64_t qerr:8;
    722#else
    723		uint64_t qerr:8;
    724		uint64_t reserved_8_63:56;
    725#endif
    726	} s;
    727};
    728
    729union cvmx_dpi_req_err_rst_en {
    730	uint64_t u64;
    731	struct cvmx_dpi_req_err_rst_en_s {
    732#ifdef __BIG_ENDIAN_BITFIELD
    733		uint64_t reserved_8_63:56;
    734		uint64_t en:8;
    735#else
    736		uint64_t en:8;
    737		uint64_t reserved_8_63:56;
    738#endif
    739	} s;
    740};
    741
    742union cvmx_dpi_req_err_skip_comp {
    743	uint64_t u64;
    744	struct cvmx_dpi_req_err_skip_comp_s {
    745#ifdef __BIG_ENDIAN_BITFIELD
    746		uint64_t reserved_24_63:40;
    747		uint64_t en_rst:8;
    748		uint64_t reserved_8_15:8;
    749		uint64_t en_rsp:8;
    750#else
    751		uint64_t en_rsp:8;
    752		uint64_t reserved_8_15:8;
    753		uint64_t en_rst:8;
    754		uint64_t reserved_24_63:40;
    755#endif
    756	} s;
    757};
    758
    759union cvmx_dpi_req_gbl_en {
    760	uint64_t u64;
    761	struct cvmx_dpi_req_gbl_en_s {
    762#ifdef __BIG_ENDIAN_BITFIELD
    763		uint64_t reserved_8_63:56;
    764		uint64_t qen:8;
    765#else
    766		uint64_t qen:8;
    767		uint64_t reserved_8_63:56;
    768#endif
    769	} s;
    770};
    771
    772union cvmx_dpi_sli_prtx_cfg {
    773	uint64_t u64;
    774	struct cvmx_dpi_sli_prtx_cfg_s {
    775#ifdef __BIG_ENDIAN_BITFIELD
    776		uint64_t reserved_25_63:39;
    777		uint64_t halt:1;
    778		uint64_t qlm_cfg:4;
    779		uint64_t reserved_17_19:3;
    780		uint64_t rd_mode:1;
    781		uint64_t reserved_14_15:2;
    782		uint64_t molr:6;
    783		uint64_t mps_lim:1;
    784		uint64_t reserved_5_6:2;
    785		uint64_t mps:1;
    786		uint64_t mrrs_lim:1;
    787		uint64_t reserved_2_2:1;
    788		uint64_t mrrs:2;
    789#else
    790		uint64_t mrrs:2;
    791		uint64_t reserved_2_2:1;
    792		uint64_t mrrs_lim:1;
    793		uint64_t mps:1;
    794		uint64_t reserved_5_6:2;
    795		uint64_t mps_lim:1;
    796		uint64_t molr:6;
    797		uint64_t reserved_14_15:2;
    798		uint64_t rd_mode:1;
    799		uint64_t reserved_17_19:3;
    800		uint64_t qlm_cfg:4;
    801		uint64_t halt:1;
    802		uint64_t reserved_25_63:39;
    803#endif
    804	} s;
    805	struct cvmx_dpi_sli_prtx_cfg_cn63xx {
    806#ifdef __BIG_ENDIAN_BITFIELD
    807		uint64_t reserved_25_63:39;
    808		uint64_t halt:1;
    809		uint64_t reserved_21_23:3;
    810		uint64_t qlm_cfg:1;
    811		uint64_t reserved_17_19:3;
    812		uint64_t rd_mode:1;
    813		uint64_t reserved_14_15:2;
    814		uint64_t molr:6;
    815		uint64_t mps_lim:1;
    816		uint64_t reserved_5_6:2;
    817		uint64_t mps:1;
    818		uint64_t mrrs_lim:1;
    819		uint64_t reserved_2_2:1;
    820		uint64_t mrrs:2;
    821#else
    822		uint64_t mrrs:2;
    823		uint64_t reserved_2_2:1;
    824		uint64_t mrrs_lim:1;
    825		uint64_t mps:1;
    826		uint64_t reserved_5_6:2;
    827		uint64_t mps_lim:1;
    828		uint64_t molr:6;
    829		uint64_t reserved_14_15:2;
    830		uint64_t rd_mode:1;
    831		uint64_t reserved_17_19:3;
    832		uint64_t qlm_cfg:1;
    833		uint64_t reserved_21_23:3;
    834		uint64_t halt:1;
    835		uint64_t reserved_25_63:39;
    836#endif
    837	} cn63xx;
    838};
    839
    840union cvmx_dpi_sli_prtx_err {
    841	uint64_t u64;
    842	struct cvmx_dpi_sli_prtx_err_s {
    843#ifdef __BIG_ENDIAN_BITFIELD
    844		uint64_t addr:61;
    845		uint64_t reserved_0_2:3;
    846#else
    847		uint64_t reserved_0_2:3;
    848		uint64_t addr:61;
    849#endif
    850	} s;
    851};
    852
    853union cvmx_dpi_sli_prtx_err_info {
    854	uint64_t u64;
    855	struct cvmx_dpi_sli_prtx_err_info_s {
    856#ifdef __BIG_ENDIAN_BITFIELD
    857		uint64_t reserved_9_63:55;
    858		uint64_t lock:1;
    859		uint64_t reserved_5_7:3;
    860		uint64_t type:1;
    861		uint64_t reserved_3_3:1;
    862		uint64_t reqq:3;
    863#else
    864		uint64_t reqq:3;
    865		uint64_t reserved_3_3:1;
    866		uint64_t type:1;
    867		uint64_t reserved_5_7:3;
    868		uint64_t lock:1;
    869		uint64_t reserved_9_63:55;
    870#endif
    871	} s;
    872};
    873
    874#endif