17e6ad46Vishal Kulkarni/*
27e6ad46Vishal Kulkarni * This file and its contents are supplied under the terms of the
37e6ad46Vishal Kulkarni * Common Development and Distribution License ("CDDL"), version 1.0.
47e6ad46Vishal Kulkarni * You may only use this file in accordance with the terms of version
57e6ad46Vishal Kulkarni * 1.0 of the CDDL.
67e6ad46Vishal Kulkarni *
77e6ad46Vishal Kulkarni * A full copy of the text of the CDDL should have accompanied this
87e6ad46Vishal Kulkarni * source. A copy of the CDDL is also available via the Internet at
97e6ad46Vishal Kulkarni * http://www.illumos.org/license/CDDL.
107e6ad46Vishal Kulkarni */
117e6ad46Vishal Kulkarni
127e6ad46Vishal Kulkarni/*-
137e6ad46Vishal Kulkarni * Copyright (c) 2017 Chelsio Communications, Inc.
147e6ad46Vishal Kulkarni * All rights reserved.
157e6ad46Vishal Kulkarni *
167e6ad46Vishal Kulkarni * Redistribution and use in source and binary forms, with or without
177e6ad46Vishal Kulkarni * modification, are permitted provided that the following conditions
187e6ad46Vishal Kulkarni * are met:
197e6ad46Vishal Kulkarni * 1. Redistributions of source code must retain the above copyright
207e6ad46Vishal Kulkarni *    notice, this list of conditions and the following disclaimer.
217e6ad46Vishal Kulkarni * 2. Redistributions in binary form must reproduce the above copyright
227e6ad46Vishal Kulkarni *    notice, this list of conditions and the following disclaimer in the
237e6ad46Vishal Kulkarni *    documentation and/or other materials provided with the distribution.
247e6ad46Vishal Kulkarni *
257e6ad46Vishal Kulkarni * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
267e6ad46Vishal Kulkarni * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
277e6ad46Vishal Kulkarni * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
287e6ad46Vishal Kulkarni * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
297e6ad46Vishal Kulkarni * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
307e6ad46Vishal Kulkarni * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
317e6ad46Vishal Kulkarni * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
327e6ad46Vishal Kulkarni * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
337e6ad46Vishal Kulkarni * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
347e6ad46Vishal Kulkarni * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
357e6ad46Vishal Kulkarni * SUCH DAMAGE.
367e6ad46Vishal Kulkarni */
377e6ad46Vishal Kulkarni
387e6ad46Vishal Kulkarni#ifndef __CUDBG_ENTITY_H__
397e6ad46Vishal Kulkarni#define __CUDBG_ENTITY_H__
407e6ad46Vishal Kulkarni
417e6ad46Vishal Kulkarni#include "common.h"
427e6ad46Vishal Kulkarni
437e6ad46Vishal Kulkarni#ifdef __GNUC__
447e6ad46Vishal Kulkarni#define ATTRIBUTE_UNUSED __attribute__ ((unused))
457e6ad46Vishal Kulkarni#else
467e6ad46Vishal Kulkarni#define ATTRIBUTE_UNUSED
477e6ad46Vishal Kulkarni#endif
487e6ad46Vishal Kulkarni
497e6ad46Vishal Kulkarni#define MC0_FLAG    1
507e6ad46Vishal Kulkarni#define MC1_FLAG    2
517e6ad46Vishal Kulkarni#define EDC0_FLAG   3
527e6ad46Vishal Kulkarni#define EDC1_FLAG   4
537e6ad46Vishal Kulkarni
547e6ad46Vishal Kulkarni#define NUM_PCIE_CONFIG_REGS 0x61
557e6ad46Vishal Kulkarni#define CUDBG_CTXT_SIZE_BYTES 24
567e6ad46Vishal Kulkarni#define CUDBG_MAX_INGRESS_QIDS 65536
577e6ad46Vishal Kulkarni#define CUDBG_MAX_FL_QIDS 2048
587e6ad46Vishal Kulkarni#define CUDBG_MAX_CNM_QIDS 1024
597e6ad46Vishal Kulkarni#define CUDBG_LOWMEM_MAX_CTXT_QIDS 256
607e6ad46Vishal Kulkarni#define ETH_ALEN 6
617e6ad46Vishal Kulkarni#define CUDBG_MAX_RPLC_SIZE 128
627e6ad46Vishal Kulkarni#define CUDBG_NUM_REQ_REGS 17
637e6ad46Vishal Kulkarni#define CUDBG_MAX_TCAM_TID 0x800
647e6ad46Vishal Kulkarni#define CUDBG_NUM_ULPTX 11
657e6ad46Vishal Kulkarni
667e6ad46Vishal Kulkarni#define SN_REG_ADDR 0x183f
677e6ad46Vishal Kulkarni#define BN_REG_ADDR 0x1819
687e6ad46Vishal Kulkarni#define NA_REG_ADDR 0x185a
697e6ad46Vishal Kulkarni#define MN_REG_ADDR 0x1803
707e6ad46Vishal Kulkarni
717e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP0 0x1111c
727e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP1 0x11120
737e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP2 0x11124
747e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP3 0x11128
757e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP4 0x11300
767e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP5 0x11304
777e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP6 0x11308
787e6ad46Vishal Kulkarni#define A_MPS_VF_RPLCT_MAP7 0x1130c
797e6ad46Vishal Kulkarni
807e6ad46Vishal Kulkarni#define PORT_TYPE_ADDR 0x1869
817e6ad46Vishal Kulkarni#define PORT_TYPE_LEN 8
827e6ad46Vishal Kulkarni
837e6ad46Vishal Kulkarni/* For T6 */
847e6ad46Vishal Kulkarni#define SN_T6_ADDR 0x83f
857e6ad46Vishal Kulkarni#define BN_T6_ADDR 0x819
867e6ad46Vishal Kulkarni#define NA_T6_ADDR 0x85a
877e6ad46Vishal Kulkarni#define MN_T6_ADDR 0x803
887e6ad46Vishal Kulkarni
897e6ad46Vishal Kulkarni#define SN_MAX_LEN	 24
907e6ad46Vishal Kulkarni#define BN_MAX_LEN	 16
917e6ad46Vishal Kulkarni#define NA_MAX_LEN	 12
927e6ad46Vishal Kulkarni#define MN_MAX_LEN	 16
937e6ad46Vishal Kulkarni#define MAX_VPD_DATA_LEN 32
947e6ad46Vishal Kulkarni
957e6ad46Vishal Kulkarni#define VPD_VER_ADDR     0x18c7
967e6ad46Vishal Kulkarni#define VPD_VER_LEN      2
977e6ad46Vishal Kulkarni#define SCFG_VER_ADDR    0x06
987e6ad46Vishal Kulkarni#define SCFG_VER_LEN     4
997e6ad46Vishal Kulkarni
1007e6ad46Vishal Kulkarni#define CUDBG_CIM_BUSY_BIT (1 << 17)
1017e6ad46Vishal Kulkarni
1027e6ad46Vishal Kulkarni#define CUDBG_CHAC_PBT_ADDR 0x2800
1037e6ad46Vishal Kulkarni#define CUDBG_CHAC_PBT_LRF  0x3000
1047e6ad46Vishal Kulkarni#define CUDBG_CHAC_PBT_DATA 0x3800
1057e6ad46Vishal Kulkarni#define CUDBG_PBT_DYNAMIC_ENTRIES 8
1067e6ad46Vishal Kulkarni#define CUDBG_PBT_STATIC_ENTRIES 16
1077e6ad46Vishal Kulkarni#define CUDBG_LRF_ENTRIES 8
1087e6ad46Vishal Kulkarni#define CUDBG_PBT_DATA_ENTRIES 512
1097e6ad46Vishal Kulkarni
1107e6ad46Vishal Kulkarni#define CUDBG_ENTITY_SIGNATURE 0xCCEDB001
1117e6ad46Vishal Kulkarni#define CUDBG_TID_INFO_REV 1
1127e6ad46Vishal Kulkarni#define CUDBG_MAC_STATS_REV 1
1137e6ad46Vishal Kulkarni#define CUDBG_ULPTX_LA_REV 1
1147e6ad46Vishal Kulkarni#define CUDBG_MEMINFO_REV 1
1157e6ad46Vishal Kulkarni
1167e6ad46Vishal Kulkarni#define CUDBG_ULPTX_LA_REV 1
1177e6ad46Vishal Kulkarni
1187e6ad46Vishal Kulkarni#define CUDBG_T6_CLIP 1536
1197e6ad46Vishal Kulkarni#define CUDBG_MAX_TID_COMP_EN 6144
1207e6ad46Vishal Kulkarni#define CUDBG_MAX_TID_COMP_DIS 3072
1217e6ad46Vishal Kulkarni#define CUDBG_NUM_ULPTX_READ 512
1227e6ad46Vishal Kulkarni#define CUDBG_NUM_ULPTX_ASIC 6
1237e6ad46Vishal Kulkarni#define CUDBG_NUM_ULPTX_ASIC_READ 128
1247e6ad46Vishal Kulkarni
1257e6ad46Vishal Kulkarni#ifndef ARRAY_SIZE
1267e6ad46Vishal Kulkarni#define ARRAY_SIZE(_a)  (sizeof((_a)) / sizeof((_a)[0]))
1277e6ad46Vishal Kulkarni#endif
1287e6ad46Vishal Kulkarni
1297e6ad46Vishal Kulkarnienum cudbg_qdesc_qtype {
1307e6ad46Vishal Kulkarni	CUDBG_QTYPE_UNKNOWN = 0,
1317e6ad46Vishal Kulkarni	CUDBG_QTYPE_NIC_TXQ,
1327e6ad46Vishal Kulkarni	CUDBG_QTYPE_NIC_RXQ,
1337e6ad46Vishal Kulkarni	CUDBG_QTYPE_NIC_FLQ,
1347e6ad46Vishal Kulkarni	CUDBG_QTYPE_CTRLQ,
1357e6ad46Vishal Kulkarni	CUDBG_QTYPE_FWEVTQ,
1367e6ad46Vishal Kulkarni	CUDBG_QTYPE_INTRQ,
1377e6ad46Vishal Kulkarni	CUDBG_QTYPE_PTP_TXQ,
1387e6ad46Vishal Kulkarni	CUDBG_QTYPE_OFLD_TXQ,
1397e6ad46Vishal Kulkarni	CUDBG_QTYPE_RDMA_RXQ,
1407e6ad46Vishal Kulkarni	CUDBG_QTYPE_RDMA_FLQ,
1417e6ad46Vishal Kulkarni	CUDBG_QTYPE_RDMA_CIQ,
1427e6ad46Vishal Kulkarni	CUDBG_QTYPE_ISCSI_RXQ,
1437e6ad46Vishal Kulkarni	CUDBG_QTYPE_ISCSI_FLQ,
1447e6ad46Vishal Kulkarni	CUDBG_QTYPE_ISCSIT_RXQ,
1457e6ad46Vishal Kulkarni	CUDBG_QTYPE_ISCSIT_FLQ,
1467e6ad46Vishal Kulkarni	CUDBG_QTYPE_CRYPTO_TXQ,
1477e6ad46Vishal Kulkarni	CUDBG_QTYPE_CRYPTO_RXQ,
1487e6ad46Vishal Kulkarni	CUDBG_QTYPE_CRYPTO_FLQ,
1497e6ad46Vishal Kulkarni	CUDBG_QTYPE_TLS_RXQ,
1507e6ad46Vishal Kulkarni	CUDBG_QTYPE_TLS_FLQ,
1517e6ad46Vishal Kulkarni	CUDBG_QTYPE_MAX,
1527e6ad46Vishal Kulkarni};
1537e6ad46Vishal Kulkarni
1547e6ad46Vishal Kulkarnistruct cudbg_pbt_tables {
1557e6ad46Vishal Kulkarni	u32 pbt_dynamic[CUDBG_PBT_DYNAMIC_ENTRIES];
1567e6ad46Vishal Kulkarni	u32 pbt_static[CUDBG_PBT_STATIC_ENTRIES];
1577e6ad46Vishal Kulkarni	u32 lrf_table[CUDBG_LRF_ENTRIES];
1587e6ad46Vishal Kulkarni	u32 pbt_data[CUDBG_PBT_DATA_ENTRIES];
1597e6ad46Vishal Kulkarni};
1607e6ad46Vishal Kulkarni
1617e6ad46Vishal Kulkarnistruct card_mem {
1627e6ad46Vishal Kulkarni	u16 size_mc0;
1637e6ad46Vishal Kulkarni	u16 size_mc1;
1647e6ad46Vishal Kulkarni	u16 size_edc0;
1657e6ad46Vishal Kulkarni	u16 size_edc1;
1667e6ad46Vishal Kulkarni	u16 mem_flag;
1677e6ad46Vishal Kulkarni	u16 res;
1687e6ad46Vishal Kulkarni};
1697e6ad46Vishal Kulkarni
1707e6ad46Vishal Kulkarnistruct rss_pf_conf {
1717e6ad46Vishal Kulkarni	u32 rss_pf_map;
1727e6ad46Vishal Kulkarni	u32 rss_pf_mask;
1737e6ad46Vishal Kulkarni	u32 rss_pf_config;
1747e6ad46Vishal Kulkarni};
1757e6ad46Vishal Kulkarni
1767e6ad46Vishal Kulkarnistruct cudbg_ch_cntxt {
1777e6ad46Vishal Kulkarni	uint32_t cntxt_type;
1787e6ad46Vishal Kulkarni	uint32_t cntxt_id;
1797e6ad46Vishal Kulkarni	uint32_t data[SGE_CTXT_SIZE / 4];
1807e6ad46Vishal Kulkarni};
1817e6ad46Vishal Kulkarni
1827e6ad46Vishal Kulkarnistruct cudbg_tcam {
1837e6ad46Vishal Kulkarni	u32 filter_start;
1847e6ad46Vishal Kulkarni	u32 server_start;
1857e6ad46Vishal Kulkarni	u32 clip_start;
1867e6ad46Vishal Kulkarni	u32 routing_start;
1877e6ad46Vishal Kulkarni	u32 tid_hash_base;
1887e6ad46Vishal Kulkarni	u32 max_tid;
1897e6ad46Vishal Kulkarni};
1907e6ad46Vishal Kulkarni
1917e6ad46Vishal Kulkarnistruct cudbg_mbox_log {
1927e6ad46Vishal Kulkarni	struct mbox_cmd entry;
1937e6ad46Vishal Kulkarni	u32 hi[MBOX_LEN / 8];
1947e6ad46Vishal Kulkarni	u32 lo[MBOX_LEN / 8];
1957e6ad46Vishal Kulkarni};
1967e6ad46Vishal Kulkarni
1977e6ad46Vishal Kulkarnistruct cudbg_tid_data {
1987e6ad46Vishal Kulkarni	u32 tid;
1997e6ad46Vishal Kulkarni	u32 dbig_cmd;
2007e6ad46Vishal Kulkarni	u32 dbig_conf;
2017e6ad46Vishal Kulkarni	u32 dbig_rsp_stat;
2027e6ad46Vishal Kulkarni	u32 data[CUDBG_NUM_REQ_REGS];
2037e6ad46Vishal Kulkarni};
2047e6ad46Vishal Kulkarni
2057e6ad46Vishal Kulkarnistruct cudbg_cntxt_field {
2067e6ad46Vishal Kulkarni	char *name;
2077e6ad46Vishal Kulkarni	u32 start_bit;
2087e6ad46Vishal Kulkarni	u32 end_bit;
2097e6ad46Vishal Kulkarni	u32 shift;
2107e6ad46Vishal Kulkarni	u32 islog2;
2117e6ad46Vishal Kulkarni};
2127e6ad46Vishal Kulkarni
2137e6ad46Vishal Kulkarnistruct cudbg_mps_tcam {
2147e6ad46Vishal Kulkarni	u64 mask;
2157e6ad46Vishal Kulkarni	u32 rplc[8];
2167e6ad46Vishal Kulkarni	u32 idx;
2177e6ad46Vishal Kulkarni	u32 cls_lo;
2187e6ad46Vishal Kulkarni	u32 cls_hi;
2197e6ad46Vishal Kulkarni	u32 rplc_size;
2207e6ad46Vishal Kulkarni	u32 vniy;
2217e6ad46Vishal Kulkarni	u32 vnix;
2227e6ad46Vishal Kulkarni	u32 dip_hit;
2237e6ad46Vishal Kulkarni	u32 vlan_vld;
2247e6ad46Vishal Kulkarni	u32 repli;
2257e6ad46Vishal Kulkarni	u16 ivlan;
2267e6ad46Vishal Kulkarni	u8 addr[ETH_ALEN];
2277e6ad46Vishal Kulkarni	u8 lookup_type;
2287e6ad46Vishal Kulkarni	u8 port_num;
2297e6ad46Vishal Kulkarni	u8 reserved[2];
2307e6ad46Vishal Kulkarni};
2317e6ad46Vishal Kulkarni
2327e6ad46Vishal Kulkarnistruct rss_vf_conf {
2337e6ad46Vishal Kulkarni	u32 rss_vf_vfl;
2347e6ad46Vishal Kulkarni	u32 rss_vf_vfh;
2357e6ad46Vishal Kulkarni};
2367e6ad46Vishal Kulkarni
2377e6ad46Vishal Kulkarnistruct rss_config {
2387e6ad46Vishal Kulkarni	u32 tp_rssconf;		/* A_TP_RSS_CONFIG	*/
2397e6ad46Vishal Kulkarni	u32 tp_rssconf_tnl;	/* A_TP_RSS_CONFIG_TNL	*/
2407e6ad46Vishal Kulkarni	u32 tp_rssconf_ofd;	/* A_TP_RSS_CONFIG_OFD	*/
2417e6ad46Vishal Kulkarni	u32 tp_rssconf_syn;	/* A_TP_RSS_CONFIG_SYN	*/
2427e6ad46Vishal Kulkarni	u32 tp_rssconf_vrt;	/* A_TP_RSS_CONFIG_VRT	*/
2437e6ad46Vishal Kulkarni	u32 tp_rssconf_cng;	/* A_TP_RSS_CONFIG_CNG	*/
2447e6ad46Vishal Kulkarni	u32 chip;
2457e6ad46Vishal Kulkarni};
2467e6ad46Vishal Kulkarni
2477e6ad46Vishal Kulkarnistruct struct_pm_stats {
2487e6ad46Vishal Kulkarni	u32 tx_cnt[T6_PM_NSTATS];
2497e6ad46Vishal Kulkarni	u32 rx_cnt[T6_PM_NSTATS];
2507e6ad46Vishal Kulkarni	u64 tx_cyc[T6_PM_NSTATS];
2517e6ad46Vishal Kulkarni	u64 rx_cyc[T6_PM_NSTATS];
2527e6ad46Vishal Kulkarni};
2537e6ad46Vishal Kulkarni
2547e6ad46Vishal Kulkarnistruct struct_hw_sched {
2557e6ad46Vishal Kulkarni	u32 kbps[NTX_SCHED];
2567e6ad46Vishal Kulkarni	u32 ipg[NTX_SCHED];
2577e6ad46Vishal Kulkarni	u32 pace_tab[NTX_SCHED];
2587e6ad46Vishal Kulkarni	u32 mode;
2597e6ad46Vishal Kulkarni	u32 map;
2607e6ad46Vishal Kulkarni};
2617e6ad46Vishal Kulkarni
2627e6ad46Vishal Kulkarnistruct struct_tcp_stats {
2637e6ad46Vishal Kulkarni	struct tp_tcp_stats v4, v6;
2647e6ad46Vishal Kulkarni};
2657e6ad46Vishal Kulkarni
2667e6ad46Vishal Kulkarnistruct struct_tp_err_stats {
2677e6ad46Vishal Kulkarni	struct tp_err_stats stats;
2687e6ad46Vishal Kulkarni	u32 nchan;
2697e6ad46Vishal Kulkarni};
2707e6ad46Vishal Kulkarni
2717e6ad46Vishal Kulkarnistruct struct_tp_fcoe_stats {
2727e6ad46Vishal Kulkarni	struct tp_fcoe_stats stats[4];
2737e6ad46Vishal Kulkarni	u32 nchan;
2747e6ad46Vishal Kulkarni};
2757e6ad46Vishal Kulkarni
2767e6ad46Vishal Kulkarnistruct struct_mac_stats {
2777e6ad46Vishal Kulkarni	u32 port_count;
2787e6ad46Vishal Kulkarni	struct port_stats stats[4];
2797e6ad46Vishal Kulkarni};
2807e6ad46Vishal Kulkarni
2817e6ad46Vishal Kulkarnistruct struct_mac_stats_rev1 {
2827e6ad46Vishal Kulkarni	struct cudbg_ver_hdr ver_hdr;
2837e6ad46Vishal Kulkarni	u32 port_count;
2847e6ad46Vishal Kulkarni	u32 reserved;
2857e6ad46Vishal Kulkarni	struct port_stats stats[4];
2867e6ad46Vishal Kulkarni};
2877e6ad46Vishal Kulkarni
2887e6ad46Vishal Kulkarnistruct struct_tp_cpl_stats {
2897e6ad46Vishal Kulkarni	struct tp_cpl_stats stats;
2907e6ad46Vishal Kulkarni	u32 nchan;
2917e6ad46Vishal Kulkarni};
2927e6ad46Vishal Kulkarni
2937e6ad46Vishal Kulkarnistruct struct_wc_stats {
2947e6ad46Vishal Kulkarni	u32 wr_cl_success;
2957e6ad46Vishal Kulkarni	u32 wr_cl_fail;
2967e6ad46Vishal Kulkarni};
2977e6ad46Vishal Kulkarni
2987e6ad46Vishal Kulkarnistruct struct_ulptx_la {
2997e6ad46Vishal Kulkarni	u32 rdptr[CUDBG_NUM_ULPTX];
3007e6ad46Vishal Kulkarni	u32 wrptr[CUDBG_NUM_ULPTX];
3017e6ad46Vishal Kulkarni	u32 rddata[CUDBG_NUM_ULPTX];
3027e6ad46Vishal Kulkarni	u32 rd_data[CUDBG_NUM_ULPTX][CUDBG_NUM_ULPTX_READ];
3037e6ad46Vishal Kulkarni        u32 rdptr_asic[CUDBG_NUM_ULPTX_ASIC_READ];
3047e6ad46Vishal Kulkarni        u32 rddata_asic[CUDBG_NUM_ULPTX_ASIC_READ][CUDBG_NUM_ULPTX_ASIC];
3057e6ad46Vishal Kulkarni};
3067e6ad46Vishal Kulkarni
3077e6ad46Vishal Kulkarnistruct struct_ulprx_la {
3087e6ad46Vishal Kulkarni	u32 data[ULPRX_LA_SIZE * 8];
3097e6ad46Vishal Kulkarni	u32 size;
3107e6ad46Vishal Kulkarni};
3117e6ad46Vishal Kulkarni
3127e6ad46Vishal Kulkarnistruct struct_cim_qcfg {
3137e6ad46Vishal Kulkarni	u8 chip;
3147e6ad46Vishal Kulkarni	u16 base[CIM_NUM_IBQ + CIM_NUM_OBQ_T5];
3157e6ad46Vishal Kulkarni	u16 size[CIM_NUM_IBQ + CIM_NUM_OBQ_T5];
3167e6ad46Vishal Kulkarni	u16 thres[CIM_NUM_IBQ];
3177e6ad46Vishal Kulkarni	u32 obq_wr[2 * CIM_NUM_OBQ_T5];
3187e6ad46Vishal Kulkarni	u32 stat[4 * (CIM_NUM_IBQ + CIM_NUM_OBQ_T5)];
3197e6ad46Vishal Kulkarni};
3207e6ad46Vishal Kulkarni
3217e6ad46Vishal Kulkarnienum region_index {
3227e6ad46Vishal Kulkarni	REGN_DBQ_CONTEXS_IDX,
3237e6ad46Vishal Kulkarni	REGN_IMSG_CONTEXTS_IDX,
3247e6ad46Vishal Kulkarni	REGN_FLM_CACHE_IDX,
3257e6ad46Vishal Kulkarni	REGN_TCBS_IDX,
3267e6ad46Vishal Kulkarni	REGN_PSTRUCT_IDX,
3277e6ad46Vishal Kulkarni	REGN_TIMERS_IDX,
3287e6ad46Vishal Kulkarni	REGN_RX_FL_IDX,
3297e6ad46Vishal Kulkarni	REGN_TX_FL_IDX,
3307e6ad46Vishal Kulkarni	REGN_PSTRUCT_FL_IDX,
3317e6ad46Vishal Kulkarni	REGN_TX_PAYLOAD_IDX,
3327e6ad46Vishal Kulkarni	REGN_RX_PAYLOAD_IDX,
3337e6ad46Vishal Kulkarni	REGN_LE_HASH_IDX,
3347e6ad46Vishal Kulkarni	REGN_ISCSI_IDX,
3357e6ad46Vishal Kulkarni	REGN_TDDP_IDX,
3367e6ad46Vishal Kulkarni	REGN_TPT_IDX,
3377e6ad46Vishal Kulkarni	REGN_STAG_IDX,
3387e6ad46Vishal Kulkarni	REGN_RQ_IDX,
3397e6ad46Vishal Kulkarni	REGN_RQUDP_IDX,
3407e6ad46Vishal Kulkarni	REGN_PBL_IDX,
3417e6ad46Vishal Kulkarni	REGN_TXPBL_IDX,
3427e6ad46Vishal Kulkarni	REGN_DBVFIFO_IDX,
3437e6ad46Vishal Kulkarni	REGN_ULPRX_STATE_IDX,
3447e6ad46Vishal Kulkarni	REGN_ULPTX_STATE_IDX,
3457e6ad46Vishal Kulkarni#ifndef __NO_DRIVER_OCQ_SUPPORT__
3467e6ad46Vishal Kulkarni	REGN_ON_CHIP_Q_IDX,
3477e6ad46Vishal Kulkarni#endif
3487e6ad46Vishal Kulkarni};
3497e6ad46Vishal Kulkarni
3507e6ad46Vishal Kulkarnistruct cudbg_qdesc_info {
3517e6ad46Vishal Kulkarni	u32 qdesc_entry_size;
3527e6ad46Vishal Kulkarni	u32 num_queues;
3537e6ad46Vishal Kulkarni	u8 data[0]; /* Must be last */
3547e6ad46Vishal Kulkarni};
3557e6ad46Vishal Kulkarni
3567e6ad46Vishal Kulkarnistatic const char * const region[] = {
3577e6ad46Vishal Kulkarni	"DBQ contexts:", "IMSG contexts:", "FLM cache:", "TCBs:",
3587e6ad46Vishal Kulkarni	"Pstructs:", "Timers:", "Rx FL:", "Tx FL:", "Pstruct FL:",
3597e6ad46Vishal Kulkarni	"Tx payload:", "Rx payload:", "LE hash:", "iSCSI region:",
3607e6ad46Vishal Kulkarni	"TDDP region:", "TPT region:", "STAG region:", "RQ region:",
3617e6ad46Vishal Kulkarni	"RQUDP region:", "PBL region:", "TXPBL region:",
3627e6ad46Vishal Kulkarni	"DBVFIFO region:", "ULPRX state:", "ULPTX state:",
3637e6ad46Vishal Kulkarni#ifndef __NO_DRIVER_OCQ_SUPPORT__
3647e6ad46Vishal Kulkarni	"On-chip queues:"
3657e6ad46Vishal Kulkarni#endif
3667e6ad46Vishal Kulkarni};
3677e6ad46Vishal Kulkarni
3687e6ad46Vishal Kulkarni/* Info relative to memory region (i.e. wrt 0). */
3697e6ad46Vishal Kulkarnistruct struct_region_info {
3707e6ad46Vishal Kulkarni	bool exist; /* Does region exists in current memory region? */
3717e6ad46Vishal Kulkarni	u32 start;  /* Start wrt 0 */
3727e6ad46Vishal Kulkarni	u32 end;    /* End wrt 0 */
3737e6ad46Vishal Kulkarni};
3747e6ad46Vishal Kulkarni
3757e6ad46Vishal Kulkarnistruct struct_port_usage {
3767e6ad46Vishal Kulkarni	u32 id;
3777e6ad46Vishal Kulkarni	u32 used;
3787e6ad46Vishal Kulkarni	u32 alloc;
3797e6ad46Vishal Kulkarni};
3807e6ad46Vishal Kulkarni
3817e6ad46Vishal Kulkarnistruct struct_lpbk_usage {
3827e6ad46Vishal Kulkarni	u32 id;
3837e6ad46Vishal Kulkarni	u32 used;
3847e6ad46Vishal Kulkarni	u32 alloc;
3857e6ad46Vishal Kulkarni};
3867e6ad46Vishal Kulkarni
3877e6ad46Vishal Kulkarnistruct struct_mem_desc {
3887e6ad46Vishal Kulkarni	u32 base;
3897e6ad46Vishal Kulkarni	u32 limit;
3907e6ad46Vishal Kulkarni	u32 idx;
3917e6ad46Vishal Kulkarni};
3927e6ad46Vishal Kulkarni
3937e6ad46Vishal Kulkarnienum string_size_units {
3947e6ad46Vishal Kulkarni	STRING_UNITS_10,	 /* use powers of 10^3 (standard SI) */
3957e6ad46Vishal Kulkarni	STRING_UNITS_2,		/* use binary powers of 2^10 */
3967e6ad46Vishal Kulkarni};
3977e6ad46Vishal Kulkarni
3987e6ad46Vishal Kulkarnistruct struct_meminfo {
3997e6ad46Vishal Kulkarni	struct struct_mem_desc avail[4];
4007e6ad46Vishal Kulkarni	struct struct_mem_desc mem[ARRAY_SIZE(region) + 3];
4017e6ad46Vishal Kulkarni	u32 avail_c;
4027e6ad46Vishal Kulkarni	u32 mem_c;
4037e6ad46Vishal Kulkarni	u32 up_ram_lo;
4047e6ad46Vishal Kulkarni	u32 up_ram_hi;
4057e6ad46Vishal Kulkarni	u32 up_extmem2_lo;
4067e6ad46Vishal Kulkarni	u32 up_extmem2_hi;
4077e6ad46Vishal Kulkarni	u32 rx_pages_data[3];
4087e6ad46Vishal Kulkarni	u32 tx_pages_data[4];
4097e6ad46Vishal Kulkarni	u32 p_structs;
4107e6ad46Vishal Kulkarni	struct struct_port_usage port_data[4];
4117e6ad46Vishal Kulkarni	u32 port_used[4];
4127e6ad46Vishal Kulkarni	u32 port_alloc[4];
4137e6ad46Vishal Kulkarni	u32 loopback_used[NCHAN];
4147e6ad46Vishal Kulkarni	u32 loopback_alloc[NCHAN];
4157e6ad46Vishal Kulkarni	u32 pstructs_free_cnt;
4167e6ad46Vishal Kulkarni	u32 free_rx_cnt;
4177e6ad46Vishal Kulkarni	u32 free_tx_cnt;
4187e6ad46Vishal Kulkarni};
4197e6ad46Vishal Kulkarni
4207e6ad46Vishal Kulkarni#ifndef __GNUC__
4217e6ad46Vishal Kulkarni#pragma warning(disable : 4200)
4227e6ad46Vishal Kulkarni#endif
4237e6ad46Vishal Kulkarni
4247e6ad46Vishal Kulkarnistruct struct_lb_stats {
4257e6ad46Vishal Kulkarni	int nchan;
4267e6ad46Vishal Kulkarni	struct lb_port_stats s[0];
4277e6ad46Vishal Kulkarni};
4287e6ad46Vishal Kulkarni
4297e6ad46Vishal Kulkarnistruct struct_clk_info {
4307e6ad46Vishal Kulkarni	u64 retransmit_min;
4317e6ad46Vishal Kulkarni	u64 retransmit_max;
4327e6ad46Vishal Kulkarni	u64 persist_timer_min;
4337e6ad46Vishal Kulkarni	u64 persist_timer_max;
4347e6ad46Vishal Kulkarni	u64 keepalive_idle_timer;
4357e6ad46Vishal Kulkarni	u64 keepalive_interval;
4367e6ad46Vishal Kulkarni	u64 initial_srtt;
4377e6ad46Vishal Kulkarni	u64 finwait2_timer;
4387e6ad46Vishal Kulkarni	u32 dack_timer;
4397e6ad46Vishal Kulkarni	u32 res;
4407e6ad46Vishal Kulkarni	u32 cclk_ps;
4417e6ad46Vishal Kulkarni	u32 tre;
4427e6ad46Vishal Kulkarni	u32 dack_re;
4437e6ad46Vishal Kulkarni	char core_clk_period[32];
4447e6ad46Vishal Kulkarni	char tp_timer_tick[32];
4457e6ad46Vishal Kulkarni	char tcp_tstamp_tick[32];
4467e6ad46Vishal Kulkarni	char dack_tick[32];
4477e6ad46Vishal Kulkarni};
4487e6ad46Vishal Kulkarni
4497e6ad46Vishal Kulkarnistruct cim_pif_la {
4507e6ad46Vishal Kulkarni	int size;
4517e6ad46Vishal Kulkarni	u8 data[0];
4527e6ad46Vishal Kulkarni};
4537e6ad46Vishal Kulkarni
4547e6ad46Vishal Kulkarnistruct struct_tp_la {
4557e6ad46Vishal Kulkarni	u32 size;
4567e6ad46Vishal Kulkarni	u32 mode;
4577e6ad46Vishal Kulkarni	u8 data[0];
4587e6ad46Vishal Kulkarni};
4597e6ad46Vishal Kulkarni
4607e6ad46Vishal Kulkarnistruct field_desc {
4617e6ad46Vishal Kulkarni	const char *name;
4627e6ad46Vishal Kulkarni	u32 start;
4637e6ad46Vishal Kulkarni	u32 width;
4647e6ad46Vishal Kulkarni};
4657e6ad46Vishal Kulkarni
4667e6ad46Vishal Kulkarnistruct tp_mib_type {
4677e6ad46Vishal Kulkarni	char *key;
4687e6ad46Vishal Kulkarni	u32 addr;
4697e6ad46Vishal Kulkarni	u32 value;
4707e6ad46Vishal Kulkarni};
4717e6ad46Vishal Kulkarni
4727e6ad46Vishal Kulkarnistruct wtp_type_0 {
4737e6ad46Vishal Kulkarni	u32   sop;
4747e6ad46Vishal Kulkarni	u32   eop;
4757e6ad46Vishal Kulkarni};
4767e6ad46Vishal Kulkarni
4777e6ad46Vishal Kulkarnistruct wtp_type_1 {
4787e6ad46Vishal Kulkarni	u32   sop[2];
4797e6ad46Vishal Kulkarni	u32   eop[2];
4807e6ad46Vishal Kulkarni};
4817e6ad46Vishal Kulkarni
4827e6ad46Vishal Kulkarnistruct wtp_type_2 {
4837e6ad46Vishal Kulkarni	u32   sop[4];
4847e6ad46Vishal Kulkarni	u32   eop[4];
4857e6ad46Vishal Kulkarni};
4867e6ad46Vishal Kulkarni
4877e6ad46Vishal Kulkarnistruct wtp_type_3 {
4887e6ad46Vishal Kulkarni	u32   sop[4];
4897e6ad46Vishal Kulkarni	u32   eop[4];
4907e6ad46Vishal Kulkarni	u32   drops;
4917e6ad46Vishal Kulkarni};
4927e6ad46Vishal Kulkarni
4937e6ad46Vishal Kulkarnistruct wtp_data {
4947e6ad46Vishal Kulkarni	/*TX path, Request Work request sub-path:*/
4957e6ad46Vishal Kulkarni
4967e6ad46Vishal Kulkarni	struct wtp_type_1 sge_pcie_cmd_req;	  /*SGE_DEBUG	PC_Req_xOPn*/
4977e6ad46Vishal Kulkarni	struct wtp_type_1 pcie_core_cmd_req;	  /*PCIE_CMDR_REQ_CNT*/
4987e6ad46Vishal Kulkarni
4997e6ad46Vishal Kulkarni
5007e6ad46Vishal Kulkarni	/*TX path, Work request to uP sub-path*/
5017e6ad46Vishal Kulkarni	struct wtp_type_1 core_pcie_cmd_rsp;	  /*PCIE_CMDR_RSP_CNT*/
5027e6ad46Vishal Kulkarni	struct wtp_type_1 pcie_sge_cmd_rsp;	  /*SGE_DEBUG	PC_Rsp_xOPn*/
5037e6ad46Vishal Kulkarni	struct wtp_type_1 sge_cim;		  /*SGE_DEBUG CIM_xOPn*/
5047e6ad46Vishal Kulkarni
5057e6ad46Vishal Kulkarni	/*TX path, Data request path from ULP_TX to core*/
5067e6ad46Vishal Kulkarni	struct wtp_type_2 utx_sge_dma_req;	 /*SGE UD_Rx_xOPn*/
5077e6ad46Vishal Kulkarni	struct wtp_type_2 sge_pcie_dma_req;	 /*SGE PD_Req_Rdn (no eops)*/
5087e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_core_dma_req;	 /*PCIE_DMAR_REQ_CNT (no eops)*/
5097e6ad46Vishal Kulkarni
5107e6ad46Vishal Kulkarni	/*Main TX path, from core to wire*/
5117e6ad46Vishal Kulkarni	struct wtp_type_2 core_pcie_dma_rsp;	/*PCIE_DMAR_RSP_SOP_CNT/
5127e6ad46Vishal Kulkarni						  PCIE_DMAR_EOP_CNT*/
5137e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_sge_dma_rsp;	/*SGE_DEBUG PD_Rsp_xOPn*/
5147e6ad46Vishal Kulkarni	struct wtp_type_2 sge_utx;		/*SGE_DEBUG U_Tx_xOPn*/
5157e6ad46Vishal Kulkarni	struct wtp_type_2 utx_tp;	   /*ULP_TX_SE_CNT_CHn[xOP_CNT_ULP2TP]*/
5167e6ad46Vishal Kulkarni	struct wtp_type_2 utx_tpcside;	   /*TP_DBG_CSIDE_RXn[RxXoPCnt]*/
5177e6ad46Vishal Kulkarni
5187e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_rxpld;
5197e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_rxarb;       /*TP_DBG_CSIDE_RXn[RxArbXopCnt]*/
5207e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_rxcpl;
5217e6ad46Vishal Kulkarni
5227e6ad46Vishal Kulkarni	struct wtp_type_2 tpeside_mps;	       /*TP_DBG_ESDIE_PKT0[TxXoPCnt]*/
5237e6ad46Vishal Kulkarni	struct wtp_type_2 tpeside_pm;
5247e6ad46Vishal Kulkarni	struct wtp_type_2 tpeside_pld;
5257e6ad46Vishal Kulkarni
5267e6ad46Vishal Kulkarni	/*Tx path, PCIE t5 DMA stat*/
5277e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_t5_dma_stat3;
5287e6ad46Vishal Kulkarni
5297e6ad46Vishal Kulkarni	/*Tx path, SGE debug data high index 6*/
5307e6ad46Vishal Kulkarni	struct wtp_type_2 sge_debug_data_high_index_6;
5317e6ad46Vishal Kulkarni
5327e6ad46Vishal Kulkarni	/*Tx path, SGE debug data high index 3*/
5337e6ad46Vishal Kulkarni	struct wtp_type_2 sge_debug_data_high_index_3;
5347e6ad46Vishal Kulkarni
5357e6ad46Vishal Kulkarni	/*Tx path, ULP SE CNT CHx*/
5367e6ad46Vishal Kulkarni	struct wtp_type_2 ulp_se_cnt_chx;
5377e6ad46Vishal Kulkarni
5387e6ad46Vishal Kulkarni	/*pcie cmd stat 2*/
5397e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_cmd_stat2;
5407e6ad46Vishal Kulkarni
5417e6ad46Vishal Kulkarni	/*pcie cmd stat 3*/
5427e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_cmd_stat3;
5437e6ad46Vishal Kulkarni
5447e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_dma1_stat2_core;
5457e6ad46Vishal Kulkarni
5467e6ad46Vishal Kulkarni	struct wtp_type_1 sge_work_req_pkt;
5477e6ad46Vishal Kulkarni
5487e6ad46Vishal Kulkarni	struct wtp_type_2 sge_debug_data_high_indx5;
5497e6ad46Vishal Kulkarni
5507e6ad46Vishal Kulkarni	/*Tx path, mac portx pkt count*/
5517e6ad46Vishal Kulkarni	struct wtp_type_2 mac_portx_pkt_count;
5527e6ad46Vishal Kulkarni
5537e6ad46Vishal Kulkarni	/*Rx path, mac porrx pkt count*/
5547e6ad46Vishal Kulkarni	struct wtp_type_2 mac_porrx_pkt_count;
5557e6ad46Vishal Kulkarni
5567e6ad46Vishal Kulkarni	/*Rx path, PCIE T5 dma1 stat 2*/
5577e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_dma1_stat2;
5587e6ad46Vishal Kulkarni
5597e6ad46Vishal Kulkarni	/*Rx path, sge debug data high index 7*/
5607e6ad46Vishal Kulkarni	struct wtp_type_2 sge_debug_data_high_indx7;
5617e6ad46Vishal Kulkarni
5627e6ad46Vishal Kulkarni	/*Rx path, sge debug data high index 1*/
5637e6ad46Vishal Kulkarni	struct wtp_type_1 sge_debug_data_high_indx1;
5647e6ad46Vishal Kulkarni
5657e6ad46Vishal Kulkarni	/*Rx path, TP debug CSIDE Tx register*/
5667e6ad46Vishal Kulkarni	struct wtp_type_1 utx_tpcside_tx;
5677e6ad46Vishal Kulkarni
5687e6ad46Vishal Kulkarni	/*Rx path, LE DB response count*/
5697e6ad46Vishal Kulkarni	struct wtp_type_0 le_db_rsp_cnt;
5707e6ad46Vishal Kulkarni
5717e6ad46Vishal Kulkarni	/*Rx path, TP debug Eside PKTx*/
5727e6ad46Vishal Kulkarni	struct wtp_type_2 tp_dbg_eside_pktx;
5737e6ad46Vishal Kulkarni
5747e6ad46Vishal Kulkarni	/*Rx path, sge debug data high index 9*/
5757e6ad46Vishal Kulkarni	struct wtp_type_1 sge_debug_data_high_indx9;
5767e6ad46Vishal Kulkarni
5777e6ad46Vishal Kulkarni	/*Tx path, mac portx aFramesTransmittesok*/
5787e6ad46Vishal Kulkarni	struct wtp_type_2 mac_portx_aframestra_ok;
5797e6ad46Vishal Kulkarni
5807e6ad46Vishal Kulkarni	/*Rx path, mac portx aFramesTransmittesok*/
5817e6ad46Vishal Kulkarni	struct wtp_type_2 mac_porrx_aframestra_ok;
5827e6ad46Vishal Kulkarni
5837e6ad46Vishal Kulkarni	/*Tx path, MAC_PORT_MTIP_1G10G_RX_etherStatsPkts*/
5847e6ad46Vishal Kulkarni	struct wtp_type_1 mac_portx_etherstatspkts;
5857e6ad46Vishal Kulkarni
5867e6ad46Vishal Kulkarni	/*Rx path, MAC_PORT_MTIP_1G10G_RX_etherStatsPkts*/
5877e6ad46Vishal Kulkarni	struct wtp_type_1 mac_porrx_etherstatspkts;
5887e6ad46Vishal Kulkarni
5897e6ad46Vishal Kulkarni	struct wtp_type_3 tp_mps;	    /*MPS_TX_SE_CNT_TP01 and
5907e6ad46Vishal Kulkarni					      MPS_TX_SE_CNT_TP34*/
5917e6ad46Vishal Kulkarni	struct wtp_type_3 mps_xgm;	    /*MPS_TX_SE_CNT_MAC01 and
5927e6ad46Vishal Kulkarni					      MPS_TX_SE_CNT_MAC34*/
5937e6ad46Vishal Kulkarni	struct wtp_type_2 tx_xgm_xgm;	    /*XGMAC_PORT_PKT_CNT_PORT_n*/
5947e6ad46Vishal Kulkarni	struct wtp_type_2 xgm_wire;   /*XGMAC_PORT_XGM_STAT_TX_FRAME_LOW_PORT_N
5957e6ad46Vishal Kulkarni				      (clear on read)*/
5967e6ad46Vishal Kulkarni
5977e6ad46Vishal Kulkarni	/*RX path, from wire to core.*/
5987e6ad46Vishal Kulkarni	struct wtp_type_2 wire_xgm;   /*XGMAC_PORT_XGM_STAT_RX_FRAMES_LOW_PORT_N
5997e6ad46Vishal Kulkarni					(clear on read)*/
6007e6ad46Vishal Kulkarni	struct wtp_type_2 rx_xgm_xgm;	    /*XGMAC_PORT_PKT_CNT_PORT_n*/
6017e6ad46Vishal Kulkarni	struct _xgm_mps {		    /*MPS_RX_SE_CNT_INn*/
6027e6ad46Vishal Kulkarni		u32   sop[8];		    /*	=> undef,*/
6037e6ad46Vishal Kulkarni		u32   eop[8];		    /*	=> undef,*/
6047e6ad46Vishal Kulkarni		u32   drop;		    /* => undef,*/
6057e6ad46Vishal Kulkarni		u32   cls_drop;		    /* => undef,*/
6067e6ad46Vishal Kulkarni		u32   err;		    /* => undef,*/
6077e6ad46Vishal Kulkarni		u32   bp;		    /*	 => undef,*/
6087e6ad46Vishal Kulkarni	} xgm_mps;
6097e6ad46Vishal Kulkarni
6107e6ad46Vishal Kulkarni	struct wtp_type_3 mps_tp;	    /*MPS_RX_SE_CNT_OUT01 and
6117e6ad46Vishal Kulkarni					      MPS_RX_SE_CNT_OUT23*/
6127e6ad46Vishal Kulkarni	struct wtp_type_2 mps_tpeside;	    /*TP_DBG_ESIDE_PKTn*/
6137e6ad46Vishal Kulkarni	struct wtp_type_1 tpeside_pmrx;	    /*???*/
6147e6ad46Vishal Kulkarni	struct wtp_type_2 pmrx_ulprx;	    /*ULP_RX_SE_CNT_CHn[xOP_CNT_INn]*/
6157e6ad46Vishal Kulkarni	struct wtp_type_2 ulprx_tpcside;    /*ULP_RX_SE_CNT_CHn[xOP_CNT_OUTn]*/
6167e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_csw;	    /*TP_DBG_CSIDE_TXn[TxSopCnt]*/
6177e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_pm;
6187e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_uturn;
6197e6ad46Vishal Kulkarni	struct wtp_type_2 tpcside_txcpl;
6207e6ad46Vishal Kulkarni	struct wtp_type_1 tp_csw;	     /*SGE_DEBUG CPLSW_TP_Rx_xOPn*/
6217e6ad46Vishal Kulkarni	struct wtp_type_1 csw_sge;	     /*SGE_DEBUG T_Rx_xOPn*/
6227e6ad46Vishal Kulkarni	struct wtp_type_2 sge_pcie;	     /*SGE_DEBUG PD_Req_SopN -
6237e6ad46Vishal Kulkarni					       PD_Req_RdN - PD_ReqIntN*/
6247e6ad46Vishal Kulkarni	struct wtp_type_2 sge_pcie_ints;     /*SGE_DEBUG PD_Req_IntN*/
6257e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_core_dmaw;    /*PCIE_DMAW_SOP_CNT and
6267e6ad46Vishal Kulkarni					       PCIE_DMAW_EOP_CNT*/
6277e6ad46Vishal Kulkarni	struct wtp_type_2 pcie_core_dmai;    /*PCIE_DMAI_CNT*/
6287e6ad46Vishal Kulkarni
6297e6ad46Vishal Kulkarni};
6307e6ad46Vishal Kulkarni
6317e6ad46Vishal Kulkarnistruct tp_mib_data {
6327e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_MAC_IN_ERR_0;
6337e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_MAC_IN_ERR_1;
6347e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_MAC_IN_ERR_2;
6357e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_MAC_IN_ERR_3;
6367e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_HDR_IN_ERR_0;
6377e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_HDR_IN_ERR_1;
6387e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_HDR_IN_ERR_2;
6397e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_HDR_IN_ERR_3;
6407e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_IN_ERR_0;
6417e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_IN_ERR_1;
6427e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_IN_ERR_2;
6437e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_IN_ERR_3;
6447e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_OUT_RST;
6457e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_IN_SEG_HI;
6467e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_IN_SEG_LO;
6477e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_OUT_SEG_HI;
6487e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_OUT_SEG_LO;
6497e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_RXT_SEG_HI;
6507e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_RXT_SEG_LO;
6517e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_CNG_DROP_0;
6527e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_CNG_DROP_1;
6537e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_CNG_DROP_2;
6547e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_CNG_DROP_3;
6557e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_CHN_DROP_0;
6567e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_CHN_DROP_1;
6577e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_CHN_DROP_2;
6587e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_CHN_DROP_3;
6597e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_OUT_PKT_0;
6607e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_OUT_PKT_1;
6617e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_OUT_PKT_2;
6627e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_OUT_PKT_3;
6637e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_IN_PKT_0;
6647e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_IN_PKT_1;
6657e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_IN_PKT_2;
6667e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_IN_PKT_3;
6677e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6IN_ERR_0;
6687e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6IN_ERR_1;
6697e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6IN_ERR_2;
6707e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6IN_ERR_3;
6717e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6OUT_RST;
6727e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6IN_SEG_HI;
6737e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6IN_SEG_LO;
6747e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6OUT_SEG_HI;
6757e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6OUT_SEG_LO;
6767e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6RXT_SEG_HI;
6777e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TCP_V6RXT_SEG_LO;
6787e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_ARP_DROP;
6797e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_DFR_DROP;
6807e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_IN_REQ_0;
6817e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_IN_REQ_1;
6827e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_IN_REQ_2;
6837e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_IN_REQ_3;
6847e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_OUT_RSP_0;
6857e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_OUT_RSP_1;
6867e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_OUT_RSP_2;
6877e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_CPL_OUT_RSP_3;
6887e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_LPBK_0;
6897e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_LPBK_1;
6907e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_LPBK_2;
6917e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_LPBK_3;
6927e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_DROP_0;
6937e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_DROP_1;
6947e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_DROP_2;
6957e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TNL_DROP_3;
6967e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DDP_0;
6977e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DDP_1;
6987e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DDP_2;
6997e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DDP_3;
7007e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DROP_0;
7017e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DROP_1;
7027e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DROP_2;
7037e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_DROP_3;
7047e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_0_HI;
7057e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_0_LO;
7067e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_1_HI;
7077e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_1_LO;
7087e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_2_HI;
7097e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_2_LO;
7107e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_3_HI;
7117e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_FCOE_BYTE_3_LO;
7127e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_VLN_DROP_0;
7137e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_VLN_DROP_1;
7147e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_VLN_DROP_2;
7157e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_OFD_VLN_DROP_3;
7167e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_USM_PKTS;
7177e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_USM_DROP;
7187e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_USM_BYTES_HI;
7197e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_USM_BYTES_LO;
7207e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TID_DEL;
7217e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TID_INV;
7227e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TID_ACT;
7237e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_TID_PAS;
7247e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_RQE_DFR_MOD;
7257e6ad46Vishal Kulkarni	struct tp_mib_type TP_MIB_RQE_DFR_PKT;
7267e6ad46Vishal Kulkarni};
7277e6ad46Vishal Kulkarni
7287e6ad46Vishal Kulkarnistruct cudbg_reg_info {
7297e6ad46Vishal Kulkarni	const char *name;
7307e6ad46Vishal Kulkarni	unsigned int addr;
7317e6ad46Vishal Kulkarni	unsigned int len;
7327e6ad46Vishal Kulkarni};
7337e6ad46Vishal Kulkarni
7347e6ad46Vishal Kulkarnistruct tp1_reg_info {
7357e6ad46Vishal Kulkarni	char addr[10];
7367e6ad46Vishal Kulkarni	char name[40];
7377e6ad46Vishal Kulkarni};
7387e6ad46Vishal Kulkarni
7397e6ad46Vishal Kulkarnistruct ireg_field {
7407e6ad46Vishal Kulkarni	u32 ireg_addr;
7417e6ad46Vishal Kulkarni	u32 ireg_data;
7427e6ad46Vishal Kulkarni	u32 ireg_local_offset;
7437e6ad46Vishal Kulkarni	u32 ireg_offset_range;
7447e6ad46Vishal Kulkarni};
7457e6ad46Vishal Kulkarni
7467e6ad46Vishal Kulkarnistruct ireg_buf {
7477e6ad46Vishal Kulkarni	struct ireg_field tp_pio;
7487e6ad46Vishal Kulkarni	u32 outbuf[32];
7497e6ad46Vishal Kulkarni};
7507e6ad46Vishal Kulkarni
7517e6ad46Vishal Kulkarnistruct tx_rate {
7527e6ad46Vishal Kulkarni	u64 nrate[NCHAN];
7537e6ad46Vishal Kulkarni	u64 orate[NCHAN];
7547e6ad46Vishal Kulkarni	u32 nchan;
7557e6ad46Vishal Kulkarni};
7567e6ad46Vishal Kulkarni
7577e6ad46Vishal Kulkarnistruct tid_info_region {
7587e6ad46Vishal Kulkarni	u32 ntids;
7597e6ad46Vishal Kulkarni	u32 nstids;
7607e6ad46Vishal Kulkarni	u32 stid_base;
7617e6ad46Vishal Kulkarni	u32 hash_base;
7627e6ad46Vishal Kulkarni
7637e6ad46Vishal Kulkarni	u32 natids;
7647e6ad46Vishal Kulkarni	u32 nftids;
7657e6ad46Vishal Kulkarni	u32 ftid_base;
7667e6ad46Vishal Kulkarni	u32 aftid_base;
7677e6ad46Vishal Kulkarni	u32 aftid_end;
7687e6ad46Vishal Kulkarni
7697e6ad46Vishal Kulkarni	/* Server filter region */
7707e6ad46Vishal Kulkarni	u32 sftid_base;
7717e6ad46Vishal Kulkarni	u32 nsftids;
7727e6ad46Vishal Kulkarni
7737e6ad46Vishal Kulkarni	/* UO context range */
7747e6ad46Vishal Kulkarni	u32 uotid_base;
7757e6ad46Vishal Kulkarni	u32 nuotids;
7767e6ad46Vishal Kulkarni
7777e6ad46Vishal Kulkarni	u32 sb;
7787e6ad46Vishal Kulkarni	u32 flags;
7797e6ad46Vishal Kulkarni	u32 le_db_conf;
7807e6ad46Vishal Kulkarni	u32 IP_users;
7817e6ad46Vishal Kulkarni	u32 IPv6_users;
7827e6ad46Vishal Kulkarni
7837e6ad46Vishal Kulkarni	u32 hpftid_base;
7847e6ad46Vishal Kulkarni	u32 nhpftids;
7857e6ad46Vishal Kulkarni};
7867e6ad46Vishal Kulkarni
7877e6ad46Vishal Kulkarnistruct tid_info_region_rev1 {
7887e6ad46Vishal Kulkarni	struct cudbg_ver_hdr ver_hdr;
7897e6ad46Vishal Kulkarni	struct tid_info_region tid;
7907e6ad46Vishal Kulkarni	u32 tid_start;
7917e6ad46Vishal Kulkarni	u32 reserved[16];
7927e6ad46Vishal Kulkarni};
7937e6ad46Vishal Kulkarni
7947e6ad46Vishal Kulkarnistruct struct_vpd_data {
7957e6ad46Vishal Kulkarni	u8 sn[SN_MAX_LEN + 1];
7967e6ad46Vishal Kulkarni	u8 bn[BN_MAX_LEN + 1];
7977e6ad46Vishal Kulkarni	u8 na[NA_MAX_LEN + 1];
7987e6ad46Vishal Kulkarni	u8 mn[MN_MAX_LEN + 1];
7997e6ad46Vishal Kulkarni	u16 fw_major;
8007e6ad46Vishal Kulkarni	u16 fw_minor;
8017e6ad46Vishal Kulkarni	u16 fw_micro;
8027e6ad46Vishal Kulkarni	u16 fw_build;
8037e6ad46Vishal Kulkarni	u32 scfg_vers;
8047e6ad46Vishal Kulkarni	u32 vpd_vers;
8057e6ad46Vishal Kulkarni};
8067e6ad46Vishal Kulkarni
8077e6ad46Vishal Kulkarnistruct sw_state {
8087e6ad46Vishal Kulkarni	u32 fw_state;
8097e6ad46Vishal Kulkarni	u8 caller_string[100];
8107e6ad46Vishal Kulkarni	u8 os_type;
8117e6ad46Vishal Kulkarni	u8 reserved[3];
8127e6ad46Vishal Kulkarni	u32 reserved1[16];
8137e6ad46Vishal Kulkarni};
8147e6ad46Vishal Kulkarni
8157e6ad46Vishal Kulkarnistruct sge_qbase_reg_field {
8167e6ad46Vishal Kulkarni	u32 reg_addr;
8177e6ad46Vishal Kulkarni	u32 reg_data[4];
8187e6ad46Vishal Kulkarni	u32 pf_data_value[8][4]; /* [max pf][4 data reg SGE_QBASE_MAP[0-3] */
8197e6ad46Vishal Kulkarni	u32 vf_data_value[256][4]; /* [max vf][4 data reg SGE_QBASE_MAP[0-3] */
8207e6ad46Vishal Kulkarni	u32 vfcount;
8217e6ad46Vishal Kulkarni};
8227e6ad46Vishal Kulkarni
8237e6ad46Vishal Kulkarnistruct cudbg_qdesc_entry {
8247e6ad46Vishal Kulkarni	u32 data_size;
8257e6ad46Vishal Kulkarni	u32 qtype;
8267e6ad46Vishal Kulkarni	u32 qid;
8277e6ad46Vishal Kulkarni	u32 desc_size;
8287e6ad46Vishal Kulkarni	u32 num_desc;
8297e6ad46Vishal Kulkarni	u8 data[0]; /* Must be last */
8307e6ad46Vishal Kulkarni};
8317e6ad46Vishal Kulkarni
8327e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t6_tp_pio_array[][4] = {
8337e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x020, 28}, /* t6_tp_pio_regs_20_to_3b */
8347e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x040, 10}, /* t6_tp_pio_regs_40_to_49 */
8357e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x050, 10}, /* t6_tp_pio_regs_50_to_59 */
8367e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x060, 14}, /* t6_tp_pio_regs_60_to_6d */
8377e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x06F, 1}, /* t6_tp_pio_regs_6f */
8387e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x070, 6}, /* t6_tp_pio_regs_70_to_75 */
8397e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x130, 18},  /* t6_tp_pio_regs_130_to_141 */
8407e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x145, 19}, /* t6_tp_pio_regs_145_to_157 */
8417e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x160, 1}, /* t6_tp_pio_regs_160 */
8427e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x230, 25}, /* t6_tp_pio_regs_230_to_248 */
8437e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x24a, 3}, /* t6_tp_pio_regs_24c */
8447e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x8C0, 1} /* t6_tp_pio_regs_8c0 */
8457e6ad46Vishal Kulkarni};
8467e6ad46Vishal Kulkarni
8477e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t5_tp_pio_array[][4] = {
8487e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x020, 28}, /* t5_tp_pio_regs_20_to_3b */
8497e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x040, 19}, /* t5_tp_pio_regs_40_to_52 */
8507e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x054, 2}, /* t5_tp_pio_regs_54_to_55 */
8517e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x060, 13}, /* t5_tp_pio_regs_60_to_6c */
8527e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x06F, 1}, /* t5_tp_pio_regs_6f */
8537e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x120, 4}, /* t5_tp_pio_regs_120_to_123 */
8547e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x12b, 2},  /* t5_tp_pio_regs_12b_to_12c */
8557e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x12f, 21}, /* t5_tp_pio_regs_12f_to_143 */
8567e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x145, 19}, /* t5_tp_pio_regs_145_to_157 */
8577e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x230, 25}, /* t5_tp_pio_regs_230_to_248 */
8587e6ad46Vishal Kulkarni	{0x7e40, 0x7e44, 0x8C0, 1} /* t5_tp_pio_regs_8c0 */
8597e6ad46Vishal Kulkarni};
8607e6ad46Vishal Kulkarni
8617e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t6_ma_ireg_array[][4] = {
8627e6ad46Vishal Kulkarni	{0x78f8, 0x78fc, 0xa000, 23}, /* t6_ma_regs_a000_to_a016 */
8637e6ad46Vishal Kulkarni	{0x78f8, 0x78fc, 0xa400, 30}, /* t6_ma_regs_a400_to_a41e */
8647e6ad46Vishal Kulkarni	{0x78f8, 0x78fc, 0xa800, 20}  /* t6_ma_regs_a800_to_a813 */
8657e6ad46Vishal Kulkarni};
8667e6ad46Vishal Kulkarni
8677e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t6_ma_ireg_array2[][4] = {
8687e6ad46Vishal Kulkarni	{0x78f8, 0x78fc, 0xe400, 17}, /* t6_ma_regs_e400_to_e600 */
8697e6ad46Vishal Kulkarni	{0x78f8, 0x78fc, 0xe640, 13} /* t6_ma_regs_e640_to_e7c0 */
8707e6ad46Vishal Kulkarni};
8717e6ad46Vishal Kulkarni
8727e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t6_hma_ireg_array[][4] = {
8737e6ad46Vishal Kulkarni	{0x51320, 0x51324, 0xa000, 32} /* t6_hma_regs_a000_to_a01f */
8747e6ad46Vishal Kulkarni};
8757e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t5_pcie_pdbg_array[][4] = {
8767e6ad46Vishal Kulkarni	{0x5a04, 0x5a0c, 0x00, 0x20}, /* t5_pcie_pdbg_regs_00_to_20 */
8777e6ad46Vishal Kulkarni	{0x5a04, 0x5a0c, 0x21, 0x20}, /* t5_pcie_pdbg_regs_21_to_40 */
8787e6ad46Vishal Kulkarni	{0x5a04, 0x5a0c, 0x41, 0x10}, /* t5_pcie_pdbg_regs_41_to_50 */
8797e6ad46Vishal Kulkarni};
8807e6ad46Vishal Kulkarni
8817e6ad46Vishal Kulkarnistatic u32 ATTRIBUTE_UNUSED t5_pcie_config_array[][2] = {
8827e6ad46Vishal Kulkarni	{0x0, 0x34},
8837e6ad46Vishal Kulkarni	{0x3c, 0x40},
8847e6ad46Vishal Kulkarni	{0x50, 0x64},
8857e6ad46Vishal Kulkarni	{0x70, 0x80},
886