18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2017 Chelsio Communications. All rights reserved. 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef __CUDBG_ENTITY_H__ 78c2ecf20Sopenharmony_ci#define __CUDBG_ENTITY_H__ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#define EDC0_FLAG 0 108c2ecf20Sopenharmony_ci#define EDC1_FLAG 1 118c2ecf20Sopenharmony_ci#define MC_FLAG 2 128c2ecf20Sopenharmony_ci#define MC0_FLAG 3 138c2ecf20Sopenharmony_ci#define MC1_FLAG 4 148c2ecf20Sopenharmony_ci#define HMA_FLAG 5 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci#define CUDBG_ENTITY_SIGNATURE 0xCCEDB001 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_cistruct cudbg_mbox_log { 198c2ecf20Sopenharmony_ci struct mbox_cmd entry; 208c2ecf20Sopenharmony_ci u32 hi[MBOX_LEN / 8]; 218c2ecf20Sopenharmony_ci u32 lo[MBOX_LEN / 8]; 228c2ecf20Sopenharmony_ci}; 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_cistruct cudbg_cim_qcfg { 258c2ecf20Sopenharmony_ci u8 chip; 268c2ecf20Sopenharmony_ci u16 base[CIM_NUM_IBQ + CIM_NUM_OBQ_T5]; 278c2ecf20Sopenharmony_ci u16 size[CIM_NUM_IBQ + CIM_NUM_OBQ_T5]; 288c2ecf20Sopenharmony_ci u16 thres[CIM_NUM_IBQ]; 298c2ecf20Sopenharmony_ci u32 obq_wr[2 * CIM_NUM_OBQ_T5]; 308c2ecf20Sopenharmony_ci u32 stat[4 * (CIM_NUM_IBQ + CIM_NUM_OBQ_T5)]; 318c2ecf20Sopenharmony_ci}; 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_cistruct cudbg_rss_vf_conf { 348c2ecf20Sopenharmony_ci u32 rss_vf_vfl; 358c2ecf20Sopenharmony_ci u32 rss_vf_vfh; 368c2ecf20Sopenharmony_ci}; 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_cistruct cudbg_pm_stats { 398c2ecf20Sopenharmony_ci u32 tx_cnt[T6_PM_NSTATS]; 408c2ecf20Sopenharmony_ci u32 rx_cnt[T6_PM_NSTATS]; 418c2ecf20Sopenharmony_ci u64 tx_cyc[T6_PM_NSTATS]; 428c2ecf20Sopenharmony_ci u64 rx_cyc[T6_PM_NSTATS]; 438c2ecf20Sopenharmony_ci}; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_cistruct cudbg_hw_sched { 468c2ecf20Sopenharmony_ci u32 kbps[NTX_SCHED]; 478c2ecf20Sopenharmony_ci u32 ipg[NTX_SCHED]; 488c2ecf20Sopenharmony_ci u32 pace_tab[NTX_SCHED]; 498c2ecf20Sopenharmony_ci u32 mode; 508c2ecf20Sopenharmony_ci u32 map; 518c2ecf20Sopenharmony_ci}; 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci#define SGE_QBASE_DATA_REG_NUM 4 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_cistruct sge_qbase_reg_field { 568c2ecf20Sopenharmony_ci u32 reg_addr; 578c2ecf20Sopenharmony_ci u32 reg_data[SGE_QBASE_DATA_REG_NUM]; 588c2ecf20Sopenharmony_ci /* Max supported PFs */ 598c2ecf20Sopenharmony_ci u32 pf_data_value[PCIE_FW_MASTER_M + 1][SGE_QBASE_DATA_REG_NUM]; 608c2ecf20Sopenharmony_ci /* Max supported VFs */ 618c2ecf20Sopenharmony_ci u32 vf_data_value[T6_VF_M + 1][SGE_QBASE_DATA_REG_NUM]; 628c2ecf20Sopenharmony_ci u32 vfcount; /* Actual number of max vfs in current configuration */ 638c2ecf20Sopenharmony_ci}; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_cistruct ireg_field { 668c2ecf20Sopenharmony_ci u32 ireg_addr; 678c2ecf20Sopenharmony_ci u32 ireg_data; 688c2ecf20Sopenharmony_ci u32 ireg_local_offset; 698c2ecf20Sopenharmony_ci u32 ireg_offset_range; 708c2ecf20Sopenharmony_ci}; 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_cistruct ireg_buf { 738c2ecf20Sopenharmony_ci struct ireg_field tp_pio; 748c2ecf20Sopenharmony_ci u32 outbuf[32]; 758c2ecf20Sopenharmony_ci}; 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_cistruct cudbg_ulprx_la { 788c2ecf20Sopenharmony_ci u32 data[ULPRX_LA_SIZE * 8]; 798c2ecf20Sopenharmony_ci u32 size; 808c2ecf20Sopenharmony_ci}; 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_cistruct cudbg_tp_la { 838c2ecf20Sopenharmony_ci u32 size; 848c2ecf20Sopenharmony_ci u32 mode; 858c2ecf20Sopenharmony_ci u8 data[]; 868c2ecf20Sopenharmony_ci}; 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_cistatic const char * const cudbg_region[] = { 898c2ecf20Sopenharmony_ci "DBQ contexts:", "IMSG contexts:", "FLM cache:", "TCBs:", 908c2ecf20Sopenharmony_ci "Pstructs:", "Timers:", "Rx FL:", "Tx FL:", "Pstruct FL:", 918c2ecf20Sopenharmony_ci "Tx payload:", "Rx payload:", "LE hash:", "iSCSI region:", 928c2ecf20Sopenharmony_ci "TDDP region:", "TPT region:", "STAG region:", "RQ region:", 938c2ecf20Sopenharmony_ci "RQUDP region:", "PBL region:", "TXPBL region:", 948c2ecf20Sopenharmony_ci "DBVFIFO region:", "ULPRX state:", "ULPTX state:", 958c2ecf20Sopenharmony_ci "On-chip queues:" 968c2ecf20Sopenharmony_ci}; 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci/* Memory region info relative to current memory (i.e. wrt 0). */ 998c2ecf20Sopenharmony_cistruct cudbg_region_info { 1008c2ecf20Sopenharmony_ci bool exist; /* Does region exists in current memory? */ 1018c2ecf20Sopenharmony_ci u32 start; /* Start wrt 0 */ 1028c2ecf20Sopenharmony_ci u32 end; /* End wrt 0 */ 1038c2ecf20Sopenharmony_ci}; 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_cistruct cudbg_mem_desc { 1068c2ecf20Sopenharmony_ci u32 base; 1078c2ecf20Sopenharmony_ci u32 limit; 1088c2ecf20Sopenharmony_ci u32 idx; 1098c2ecf20Sopenharmony_ci}; 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci#define CUDBG_MEMINFO_REV 1 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_cistruct cudbg_meminfo { 1148c2ecf20Sopenharmony_ci struct cudbg_mem_desc avail[4]; 1158c2ecf20Sopenharmony_ci struct cudbg_mem_desc mem[ARRAY_SIZE(cudbg_region) + 3]; 1168c2ecf20Sopenharmony_ci u32 avail_c; 1178c2ecf20Sopenharmony_ci u32 mem_c; 1188c2ecf20Sopenharmony_ci u32 up_ram_lo; 1198c2ecf20Sopenharmony_ci u32 up_ram_hi; 1208c2ecf20Sopenharmony_ci u32 up_extmem2_lo; 1218c2ecf20Sopenharmony_ci u32 up_extmem2_hi; 1228c2ecf20Sopenharmony_ci u32 rx_pages_data[3]; 1238c2ecf20Sopenharmony_ci u32 tx_pages_data[4]; 1248c2ecf20Sopenharmony_ci u32 p_structs; 1258c2ecf20Sopenharmony_ci u32 reserved[12]; 1268c2ecf20Sopenharmony_ci u32 port_used[4]; 1278c2ecf20Sopenharmony_ci u32 port_alloc[4]; 1288c2ecf20Sopenharmony_ci u32 loopback_used[NCHAN]; 1298c2ecf20Sopenharmony_ci u32 loopback_alloc[NCHAN]; 1308c2ecf20Sopenharmony_ci u32 p_structs_free_cnt; 1318c2ecf20Sopenharmony_ci u32 free_rx_cnt; 1328c2ecf20Sopenharmony_ci u32 free_tx_cnt; 1338c2ecf20Sopenharmony_ci}; 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_cistruct cudbg_cim_pif_la { 1368c2ecf20Sopenharmony_ci int size; 1378c2ecf20Sopenharmony_ci u8 data[]; 1388c2ecf20Sopenharmony_ci}; 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_cistruct cudbg_clk_info { 1418c2ecf20Sopenharmony_ci u64 retransmit_min; 1428c2ecf20Sopenharmony_ci u64 retransmit_max; 1438c2ecf20Sopenharmony_ci u64 persist_timer_min; 1448c2ecf20Sopenharmony_ci u64 persist_timer_max; 1458c2ecf20Sopenharmony_ci u64 keepalive_idle_timer; 1468c2ecf20Sopenharmony_ci u64 keepalive_interval; 1478c2ecf20Sopenharmony_ci u64 initial_srtt; 1488c2ecf20Sopenharmony_ci u64 finwait2_timer; 1498c2ecf20Sopenharmony_ci u32 dack_timer; 1508c2ecf20Sopenharmony_ci u32 res; 1518c2ecf20Sopenharmony_ci u32 cclk_ps; 1528c2ecf20Sopenharmony_ci u32 tre; 1538c2ecf20Sopenharmony_ci u32 dack_re; 1548c2ecf20Sopenharmony_ci}; 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_cistruct cudbg_tid_info_region { 1578c2ecf20Sopenharmony_ci u32 ntids; 1588c2ecf20Sopenharmony_ci u32 nstids; 1598c2ecf20Sopenharmony_ci u32 stid_base; 1608c2ecf20Sopenharmony_ci u32 hash_base; 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci u32 natids; 1638c2ecf20Sopenharmony_ci u32 nftids; 1648c2ecf20Sopenharmony_ci u32 ftid_base; 1658c2ecf20Sopenharmony_ci u32 aftid_base; 1668c2ecf20Sopenharmony_ci u32 aftid_end; 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci u32 sftid_base; 1698c2ecf20Sopenharmony_ci u32 nsftids; 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci u32 uotid_base; 1728c2ecf20Sopenharmony_ci u32 nuotids; 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ci u32 sb; 1758c2ecf20Sopenharmony_ci u32 flags; 1768c2ecf20Sopenharmony_ci u32 le_db_conf; 1778c2ecf20Sopenharmony_ci u32 ip_users; 1788c2ecf20Sopenharmony_ci u32 ipv6_users; 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ci u32 hpftid_base; 1818c2ecf20Sopenharmony_ci u32 nhpftids; 1828c2ecf20Sopenharmony_ci}; 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_ci#define CUDBG_TID_INFO_REV 1 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_cistruct cudbg_tid_info_region_rev1 { 1878c2ecf20Sopenharmony_ci struct cudbg_ver_hdr ver_hdr; 1888c2ecf20Sopenharmony_ci struct cudbg_tid_info_region tid; 1898c2ecf20Sopenharmony_ci u32 tid_start; 1908c2ecf20Sopenharmony_ci u32 reserved[16]; 1918c2ecf20Sopenharmony_ci}; 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci#define CUDBG_LOWMEM_MAX_CTXT_QIDS 256 1948c2ecf20Sopenharmony_ci#define CUDBG_MAX_FL_QIDS 1024 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_cistruct cudbg_ch_cntxt { 1978c2ecf20Sopenharmony_ci u32 cntxt_type; 1988c2ecf20Sopenharmony_ci u32 cntxt_id; 1998c2ecf20Sopenharmony_ci u32 data[SGE_CTXT_SIZE / 4]; 2008c2ecf20Sopenharmony_ci}; 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci#define CUDBG_MAX_RPLC_SIZE 128 2038c2ecf20Sopenharmony_ci 2048c2ecf20Sopenharmony_cistruct cudbg_mps_tcam { 2058c2ecf20Sopenharmony_ci u64 mask; 2068c2ecf20Sopenharmony_ci u32 rplc[8]; 2078c2ecf20Sopenharmony_ci u32 idx; 2088c2ecf20Sopenharmony_ci u32 cls_lo; 2098c2ecf20Sopenharmony_ci u32 cls_hi; 2108c2ecf20Sopenharmony_ci u32 rplc_size; 2118c2ecf20Sopenharmony_ci u32 vniy; 2128c2ecf20Sopenharmony_ci u32 vnix; 2138c2ecf20Sopenharmony_ci u32 dip_hit; 2148c2ecf20Sopenharmony_ci u32 vlan_vld; 2158c2ecf20Sopenharmony_ci u32 repli; 2168c2ecf20Sopenharmony_ci u16 ivlan; 2178c2ecf20Sopenharmony_ci u8 addr[ETH_ALEN]; 2188c2ecf20Sopenharmony_ci u8 lookup_type; 2198c2ecf20Sopenharmony_ci u8 port_num; 2208c2ecf20Sopenharmony_ci u8 reserved[2]; 2218c2ecf20Sopenharmony_ci}; 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ci#define CUDBG_VPD_PF_SIZE 0x800 2248c2ecf20Sopenharmony_ci#define CUDBG_SCFG_VER_ADDR 0x06 2258c2ecf20Sopenharmony_ci#define CUDBG_SCFG_VER_LEN 4 2268c2ecf20Sopenharmony_ci#define CUDBG_VPD_VER_ADDR 0x18c7 2278c2ecf20Sopenharmony_ci#define CUDBG_VPD_VER_LEN 2 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_cistruct cudbg_vpd_data { 2308c2ecf20Sopenharmony_ci u8 sn[SERNUM_LEN + 1]; 2318c2ecf20Sopenharmony_ci u8 bn[PN_LEN + 1]; 2328c2ecf20Sopenharmony_ci u8 na[MACADDR_LEN + 1]; 2338c2ecf20Sopenharmony_ci u8 mn[ID_LEN + 1]; 2348c2ecf20Sopenharmony_ci u16 fw_major; 2358c2ecf20Sopenharmony_ci u16 fw_minor; 2368c2ecf20Sopenharmony_ci u16 fw_micro; 2378c2ecf20Sopenharmony_ci u16 fw_build; 2388c2ecf20Sopenharmony_ci u32 scfg_vers; 2398c2ecf20Sopenharmony_ci u32 vpd_vers; 2408c2ecf20Sopenharmony_ci}; 2418c2ecf20Sopenharmony_ci 2428c2ecf20Sopenharmony_ci#define CUDBG_MAX_TCAM_TID 0x800 2438c2ecf20Sopenharmony_ci#define CUDBG_T6_CLIP 1536 2448c2ecf20Sopenharmony_ci#define CUDBG_MAX_TID_COMP_EN 6144 2458c2ecf20Sopenharmony_ci#define CUDBG_MAX_TID_COMP_DIS 3072 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_cienum cudbg_le_entry_types { 2488c2ecf20Sopenharmony_ci LE_ET_UNKNOWN = 0, 2498c2ecf20Sopenharmony_ci LE_ET_TCAM_CON = 1, 2508c2ecf20Sopenharmony_ci LE_ET_TCAM_SERVER = 2, 2518c2ecf20Sopenharmony_ci LE_ET_TCAM_FILTER = 3, 2528c2ecf20Sopenharmony_ci LE_ET_TCAM_CLIP = 4, 2538c2ecf20Sopenharmony_ci LE_ET_TCAM_ROUTING = 5, 2548c2ecf20Sopenharmony_ci LE_ET_HASH_CON = 6, 2558c2ecf20Sopenharmony_ci LE_ET_INVALID_TID = 8, 2568c2ecf20Sopenharmony_ci}; 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_cistruct cudbg_tcam { 2598c2ecf20Sopenharmony_ci u32 filter_start; 2608c2ecf20Sopenharmony_ci u32 server_start; 2618c2ecf20Sopenharmony_ci u32 clip_start; 2628c2ecf20Sopenharmony_ci u32 routing_start; 2638c2ecf20Sopenharmony_ci u32 tid_hash_base; 2648c2ecf20Sopenharmony_ci u32 max_tid; 2658c2ecf20Sopenharmony_ci}; 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_cistruct cudbg_tid_data { 2688c2ecf20Sopenharmony_ci u32 tid; 2698c2ecf20Sopenharmony_ci u32 dbig_cmd; 2708c2ecf20Sopenharmony_ci u32 dbig_conf; 2718c2ecf20Sopenharmony_ci u32 dbig_rsp_stat; 2728c2ecf20Sopenharmony_ci u32 data[NUM_LE_DB_DBGI_RSP_DATA_INSTANCES]; 2738c2ecf20Sopenharmony_ci}; 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci#define CUDBG_NUM_ULPTX 11 2768c2ecf20Sopenharmony_ci#define CUDBG_NUM_ULPTX_READ 512 2778c2ecf20Sopenharmony_ci#define CUDBG_NUM_ULPTX_ASIC 6 2788c2ecf20Sopenharmony_ci#define CUDBG_NUM_ULPTX_ASIC_READ 128 2798c2ecf20Sopenharmony_ci 2808c2ecf20Sopenharmony_ci#define CUDBG_ULPTX_LA_REV 1 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_cistruct cudbg_ulptx_la { 2838c2ecf20Sopenharmony_ci u32 rdptr[CUDBG_NUM_ULPTX]; 2848c2ecf20Sopenharmony_ci u32 wrptr[CUDBG_NUM_ULPTX]; 2858c2ecf20Sopenharmony_ci u32 rddata[CUDBG_NUM_ULPTX]; 2868c2ecf20Sopenharmony_ci u32 rd_data[CUDBG_NUM_ULPTX][CUDBG_NUM_ULPTX_READ]; 2878c2ecf20Sopenharmony_ci u32 rdptr_asic[CUDBG_NUM_ULPTX_ASIC_READ]; 2888c2ecf20Sopenharmony_ci u32 rddata_asic[CUDBG_NUM_ULPTX_ASIC_READ][CUDBG_NUM_ULPTX_ASIC]; 2898c2ecf20Sopenharmony_ci}; 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci#define CUDBG_CHAC_PBT_ADDR 0x2800 2928c2ecf20Sopenharmony_ci#define CUDBG_CHAC_PBT_LRF 0x3000 2938c2ecf20Sopenharmony_ci#define CUDBG_CHAC_PBT_DATA 0x3800 2948c2ecf20Sopenharmony_ci#define CUDBG_PBT_DYNAMIC_ENTRIES 8 2958c2ecf20Sopenharmony_ci#define CUDBG_PBT_STATIC_ENTRIES 16 2968c2ecf20Sopenharmony_ci#define CUDBG_LRF_ENTRIES 8 2978c2ecf20Sopenharmony_ci#define CUDBG_PBT_DATA_ENTRIES 512 2988c2ecf20Sopenharmony_ci 2998c2ecf20Sopenharmony_cistruct cudbg_pbt_tables { 3008c2ecf20Sopenharmony_ci u32 pbt_dynamic[CUDBG_PBT_DYNAMIC_ENTRIES]; 3018c2ecf20Sopenharmony_ci u32 pbt_static[CUDBG_PBT_STATIC_ENTRIES]; 3028c2ecf20Sopenharmony_ci u32 lrf_table[CUDBG_LRF_ENTRIES]; 3038c2ecf20Sopenharmony_ci u32 pbt_data[CUDBG_PBT_DATA_ENTRIES]; 3048c2ecf20Sopenharmony_ci}; 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_cienum cudbg_qdesc_qtype { 3078c2ecf20Sopenharmony_ci CUDBG_QTYPE_UNKNOWN = 0, 3088c2ecf20Sopenharmony_ci CUDBG_QTYPE_NIC_TXQ, 3098c2ecf20Sopenharmony_ci CUDBG_QTYPE_NIC_RXQ, 3108c2ecf20Sopenharmony_ci CUDBG_QTYPE_NIC_FLQ, 3118c2ecf20Sopenharmony_ci CUDBG_QTYPE_CTRLQ, 3128c2ecf20Sopenharmony_ci CUDBG_QTYPE_FWEVTQ, 3138c2ecf20Sopenharmony_ci CUDBG_QTYPE_INTRQ, 3148c2ecf20Sopenharmony_ci CUDBG_QTYPE_PTP_TXQ, 3158c2ecf20Sopenharmony_ci CUDBG_QTYPE_OFLD_TXQ, 3168c2ecf20Sopenharmony_ci CUDBG_QTYPE_RDMA_RXQ, 3178c2ecf20Sopenharmony_ci CUDBG_QTYPE_RDMA_FLQ, 3188c2ecf20Sopenharmony_ci CUDBG_QTYPE_RDMA_CIQ, 3198c2ecf20Sopenharmony_ci CUDBG_QTYPE_ISCSI_RXQ, 3208c2ecf20Sopenharmony_ci CUDBG_QTYPE_ISCSI_FLQ, 3218c2ecf20Sopenharmony_ci CUDBG_QTYPE_ISCSIT_RXQ, 3228c2ecf20Sopenharmony_ci CUDBG_QTYPE_ISCSIT_FLQ, 3238c2ecf20Sopenharmony_ci CUDBG_QTYPE_CRYPTO_TXQ, 3248c2ecf20Sopenharmony_ci CUDBG_QTYPE_CRYPTO_RXQ, 3258c2ecf20Sopenharmony_ci CUDBG_QTYPE_CRYPTO_FLQ, 3268c2ecf20Sopenharmony_ci CUDBG_QTYPE_TLS_RXQ, 3278c2ecf20Sopenharmony_ci CUDBG_QTYPE_TLS_FLQ, 3288c2ecf20Sopenharmony_ci CUDBG_QTYPE_ETHOFLD_TXQ, 3298c2ecf20Sopenharmony_ci CUDBG_QTYPE_ETHOFLD_RXQ, 3308c2ecf20Sopenharmony_ci CUDBG_QTYPE_ETHOFLD_FLQ, 3318c2ecf20Sopenharmony_ci CUDBG_QTYPE_MAX, 3328c2ecf20Sopenharmony_ci}; 3338c2ecf20Sopenharmony_ci 3348c2ecf20Sopenharmony_ci#define CUDBG_QDESC_REV 1 3358c2ecf20Sopenharmony_ci 3368c2ecf20Sopenharmony_cistruct cudbg_qdesc_entry { 3378c2ecf20Sopenharmony_ci u32 data_size; 3388c2ecf20Sopenharmony_ci u32 qtype; 3398c2ecf20Sopenharmony_ci u32 qid; 3408c2ecf20Sopenharmony_ci u32 desc_size; 3418c2ecf20Sopenharmony_ci u32 num_desc; 3428c2ecf20Sopenharmony_ci u8 data[]; /* Must be last */ 3438c2ecf20Sopenharmony_ci}; 3448c2ecf20Sopenharmony_ci 3458c2ecf20Sopenharmony_cistruct cudbg_qdesc_info { 3468c2ecf20Sopenharmony_ci u32 qdesc_entry_size; 3478c2ecf20Sopenharmony_ci u32 num_queues; 3488c2ecf20Sopenharmony_ci u8 data[]; /* Must be last */ 3498c2ecf20Sopenharmony_ci}; 3508c2ecf20Sopenharmony_ci 3518c2ecf20Sopenharmony_ci#define IREG_NUM_ELEM 4 3528c2ecf20Sopenharmony_ci 3538c2ecf20Sopenharmony_ci#define CUDBG_NUM_PCIE_CONFIG_REGS 0x61 3548c2ecf20Sopenharmony_ci 3558c2ecf20Sopenharmony_ci#endif /* __CUDBG_ENTITY_H__ */ 356