39#define BUFFER_WARN_LIMIT 10000000
65 memcpy(((
u8 *) dbg_buff->
data) + dbg_buff->
offset, &zero_buf,
67 dbg_buff->
offset += padding;
114 while ((*entity_hdr)->size) {
119 *ext_size += (*entity_hdr)->size +
122 if (dbg_buff->
size - dbg_buff->
offset + *ext_size <=
128 if (ext_offset != (*entity_hdr)->next_ext_offset) {
134 (*entity_hdr)->next_ext_offset = *ext_size;
142 dbg_buff->
offset = ext_offset;
148 u32 cur_entity_data_offset,
150 int entity_nu,
u32 ext_size)
157 u32 remain_flash_size;
158 u32 flash_data_offset;
168 (cur_entity_data_offset - data_hdr_size);
179 if (cur_entity_size > remain_flash_size) {
186 cur_entity_hdr_offset +=
191 cur_entity_data_offset,
192 cur_entity_hdr_offset,
197 "can not write in flash more\n\n");
210 int large_entity_code;
212 u8 *dbg_bitmap = ((
struct cudbg_private *)handle)->dbg_init.dbg_bitmap;
216 u32 total_size, remaining_buf_size;
218 int index, bit, i, rc = -1;
224 dbg_buff.
data = outbuf;
225 dbg_buff.
size = *outbuf_size;
253 if (!
cudbg_init->dbg_params[CUDBG_TIMESTAMP_PARAM].u.time) {
256 "so ignoring flash write request\n\n");
279 ext_entity_hdr->
size = 0;
287 total_size = dbg_buff.
offset;
299 if (all || (dbg_bitmap[index] & (1 << bit))) {
321 remaining_buf_size = dbg_buff.
size - dbg_buff.
offset;
341 "because fw_attach "\
350 memset(&cudbg_err, 0,
357 entity_hdr->
size = 0;
373 total_size += entity_hdr->
size;
376 *outbuf_size = total_size;
385 ext_entity_hdr->
size = ext_size;
418 dbg_buff.
size, &entity_hdr);
440 "because fw_attach "\
458 entity_hdr->
size = 0;
474 total_size += entity_hdr->
size;
477 *outbuf_size = total_size;
487 ext_entity_hdr->
size = ext_size;
515 *outbuf_size = total_size;
518 *outbuf_size += ext_size;
587 pdbg_init->
print(
"%s(), t4_read_rss failed!, rc: %d\n",
847 memset(meminfo_buff->
avail, 0,
850 memset(meminfo_buff->
mem, 0,
852 md = meminfo_buff->
mem;
856 meminfo_buff->
mem[i].
idx = i;
901 }
else if (
is_t6(padap)) {
964#define ulp_region(reg) \
966 md->base = t4_read_reg(padap, A_ULP_ ## reg ## _LLIMIT);\
967 (md++)->limit = t4_read_reg(padap, A_ULP_ ## reg ## _ULIMIT);\
1005#ifndef __NO_DRIVER_OCQ_SUPPORT__
1015 for (n = 0; n < i - 1; n++)
1023 n = (
int) (md - meminfo_buff->
mem);
1024 meminfo_buff->
mem_c = n;
1049 hi >= (1 << 20) ? (hi >> 20) : (hi >> 10);
1051 hi >= (1 << 20) ?
'M' :
'K';
1054 for (i = 0; i < 4; i++) {
1149 lb_stats_buff->
nchan = n;
1150 tmp_stats = lb_stats_buff->
s;
1152 for (i = 0; i < n; i += 2, tmp_stats += 2) {
1229 tp_tick_us = (clk_info_buff->
cclk_ps << clk_info_buff->
tre) / 1000000;
1232 clk_info_buff->
dack_re) / 1000000) *
1297 for (i = 0; i < mac_stats_buff->
port_count; i++)
1511 &hw_sched_buff->
ipg[i], 1);
1658 int vf, rc, vf_count;
1662 size = vf_count *
sizeof(*vfconf);
1670 for (vf = 0; vf < vf_count; vf++) {
1694 u32 rss_pf_map, rss_pf_mask, size;
1697 size = 8 *
sizeof(*pfconf);
1708 for (pf = 0; pf < 8; pf++) {
1743 index = bit_pos / 32;
1746 return buf[index] & (1U << bit);
1766 u32 *max_ctx_qid,
u8 nelem)
1768 u32 i, idx, found = 0;
1773 for (i = 0; i < meminfo->
mem_c; i++) {
1777 idx = meminfo->
mem[i].
idx;
1782 i < meminfo->
mem_c - 1 ?
1783 meminfo->
mem[i + 1].
base - 1 : ~0;
1787 max_ctx_qid[idx] = (meminfo->
mem[i].
limit -
1793 u32 value, edram_ptr_count;
1794 u8 bytes_per_ptr = 8;
1800 nohdr = (value >>
S_NOHDR) & 1U;
1805 edram_ptr_count = 32 *
1811 if (edram_ptr_count > 128)
1812 edram_ptr_count = 128;
1814 max_ctx_qid[idx] = (meminfo->
mem[i].
limit -
1826 max_ctx_qid[idx] >> 1;
1855 u32 size = 0, next_offset = 0, total_size = 0;
1862 bool limit_qid =
false;
1902 for (j = 0; j < max_ctx_qid[i]; j++) {
1933 scratch_buff.
size = total_size;
1939 while (total_size > 0) {
1940 bytes =
min_t(
unsigned long, (
unsigned long)total_size,
1942 temp_buff.
size = bytes;
1943 temp_buff.
data = (
void *)((
char *)scratch_buff.
data +
1950 total_size -= bytes;
1951 next_offset += bytes;
1955 scratch_buff.
size = size;
1976 pdbg_init->
print(
"%s(), t4_init_devlog_params failed!, rc: "\
1977 "%d\n", __func__, rc);
1978 for (i = 0; i < pdbg_init->dbg_params_cnt; i++) {
1979 if (pdbg_init->dbg_params[i].param_type ==
1980 CUDBG_DEVLOG_PARAM) {
1981 params = &pdbg_init->dbg_params[i];
2002 if (dparams->
start != 0) {
2004 rc = t4_memory_rw(padap, padap->
params.drv_memwin,
2011 pdbg_init->
print(
"%s(), t4_memory_rw failed!, rc: "\
2012 "%d\n", __func__, rc);
2038 int rc = 0, qid = 0;
2040 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2049 int rc = 0, qid = 1;
2051 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2060 int rc = 0, qid = 2;
2062 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2071 int rc = 0, qid = 3;
2073 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2082 int rc = 0, qid = 4;
2084 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2093 int rc = 0, qid = 5;
2095 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2104 int rc = 0, qid = 6;
2106 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2115 int rc = 0, qid = 7;
2117 rc =
read_cim_obq(pdbg_init, dbg_buff, cudbg_err, qid);
2130 int no_of_read_words;
2141 scratch_buff.
offset), qsize);
2144 if (no_of_read_words <= 0) {
2145 if (no_of_read_words == 0)
2148 rc = no_of_read_words;
2150 pdbg_init->
print(
"%s: t4_read_cim_obq failed (%d)\n",
2156 scratch_buff.
size = no_of_read_words * 4;
2180 int rc = 0, qid = 0;
2182 rc =
read_cim_ibq(pdbg_init, dbg_buff, cudbg_err, qid);
2190 int rc = 0, qid = 1;
2192 rc =
read_cim_ibq(pdbg_init, dbg_buff, cudbg_err, qid);
2200 int rc = 0, qid = 2;
2202 rc =
read_cim_ibq(pdbg_init, dbg_buff, cudbg_err, qid);
2210 int rc = 0, qid = 3;
2212 rc =
read_cim_ibq(pdbg_init, dbg_buff, cudbg_err, qid);
2220 int rc = 0, qid = 4;
2222 rc =
read_cim_ibq(pdbg_init, dbg_buff, cudbg_err, qid);
2232 rc =
read_cim_ibq(pdbg_init, dbg_buff, cudbg_err, qid);
2244 int no_of_read_words;
2256 scratch_buff.
offset), qsize);
2258 if (no_of_read_words <= 0) {
2259 if (no_of_read_words == 0)
2262 rc = no_of_read_words;
2264 pdbg_init->
print(
"%s: t4_read_cim_ibq failed (%d)\n",
2301 (
u32 *) ((
char *)scratch_buff.
data +
2303 (
u32 *) ((
char *)scratch_buff.
data +
2332 size *= 11 *
sizeof(
u32);
2335 size *= 8 *
sizeof(
u32);
2338 size +=
sizeof(cfg);
2348 pdbg_init->
print(
"%s: t4_cim_read failed (%d)\n",
2354 memcpy((
char *)scratch_buff.
data + scratch_buff.
offset, &cfg,
2358 (
u32 *) ((
char *)scratch_buff.
data +
2359 scratch_buff.
offset +
sizeof(cfg)), NULL);
2362 pdbg_init->
print(
"%s: t4_cim_read_la failed (%d)\n",
2399 offset = scratch_buff.
offset;
2410 pdbg_init->
print(
"%s: t4_cim_read IBQ_0_RDADDR failed (%d)\n",
2422 pdbg_init->
print(
"%s: t4_cim_read OBQ_0_REALADDR failed (%d)\n",
2430 cim_qcfg_data->
base,
2431 cim_qcfg_data->
size,
2432 cim_qcfg_data->
thres);
2465static int get_payload_range(
struct adapter *padap,
u8 mem_type,
2466 unsigned long mem_tot_len,
u8 payload_type,
2483 for (i = 0; i < meminfo.mem_c; i++) {
2487 idx = meminfo.mem[i].idx;
2489 if (
idx == payload_type) {
2490 if (!(meminfo.mem[i].limit))
2491 meminfo.mem[i].limit =
2492 i < meminfo.mem_c - 1 ?
2493 meminfo.mem[i + 1].base - 1 : ~0;
2495 memcpy(&payload, &meminfo.mem[i],
sizeof(payload));
2506 memcpy(&mem_region, &meminfo.avail[mem_type],
2507 sizeof(mem_region));
2515 mc_type = meminfo.avail[mem_type].base ?
2516 mem_type : mem_type - 1;
2517 memcpy(&mem_region, &meminfo.avail[mc_type],
2518 sizeof(mem_region));
2522 if (payload.base < mem_region.base && payload.limit < mem_region.base) {
2523 reg_info->
exist =
false;
2531 if (payload.base < mem_region.limit) {
2532 reg_info->
exist =
true;
2533 if (payload.base >= mem_region.base)
2534 reg_info->
start = payload.base - mem_region.base;
2536 reg_info->
start = 0;
2538 if (payload.limit < mem_region.limit)
2539 reg_info->
end = payload.limit - mem_region.base;
2541 reg_info->
end = mem_tot_len;
2550 unsigned long tot_len,
struct cudbg_error *cudbg_err)
2555 unsigned long bytes_read = 0;
2556 unsigned long bytes_left;
2557 unsigned long bytes;
2560 u16 get_payload_flag;
2564 pdbg_init->dbg_params[CUDBG_GET_PAYLOAD_PARAM].param_type;
2570 if (!get_payload_flag) {
2576 if (!strcmp(
region[i],
"Tx payload:") ||
2577 !strcmp(
region[i],
"Rx payload:")) {
2586 memset(payload, 0,
ARRAY_SIZE(payload) *
sizeof(payload[0]));
2588 rc = get_payload_range(padap, mem_type, tot_len,
2594 if (payload[i].
exist) {
2597 roundup(payload[i].
start,
2600 rounddown(payload[i].
end,
2606 bytes_left = tot_len;
2607 scratch_buff.
size = tot_len;
2612 while (bytes_left > 0) {
2621 if (!get_payload_flag) {
2623 if (payload[i].
exist &&
2624 bytes_read >= payload[i].
start &&
2625 (bytes_read + bytes) <= payload[i].
end) {
2626 memset(scratch_buff.
data, 0, bytes);
2637 rc = t4_memory_rw(padap, MEMWIN_NIC, mem_type, bytes_read,
2642 pdbg_init->
print(
"%s: t4_memory_rw failed (%d)",
2653 bytes_left -= bytes;
2654 bytes_read += bytes;
2737 pdbg_init->
print(
"%s: t4_fwcache failed (%d)\n",
2749 unsigned long edc0_size;
2757 edc0_size = (((
unsigned long)mem_info.
size_edc0) * 1024 * 1024);
2759 edc0_size, cudbg_err);
2766 pdbg_init->
print(
"%s(), collect_mem_info failed!, %s\n",
2780 unsigned long edc1_size;
2788 edc1_size = (((
unsigned long)mem_info.
size_edc1) * 1024 * 1024);
2790 edc1_size, cudbg_err);
2796 pdbg_init->
print(
"%s(), collect_mem_info failed!, %s\n",
2811 unsigned long mc0_size;
2819 mc0_size = (((
unsigned long)mem_info.
size_mc0) * 1024 * 1024);
2821 mc0_size, cudbg_err);
2827 pdbg_init->
print(
"%s(), collect_mem_info failed!, %s\n",
2841 unsigned long mc1_size;
2849 mc1_size = (((
unsigned long)mem_info.
size_mc1) * 1024 * 1024);
2851 mc1_size, cudbg_err);
2858 pdbg_init->
print(
"%s(), collect_mem_info failed!, %s\n",
2873 unsigned long bytes_read = 0;
2874 unsigned long bytes_left;
2875 u32 buf_size = 0, bytes = 0;
2883 scratch_buff.
size = buf_size;
2885 tmp_scratch_buff = scratch_buff;
2893 bytes_left = scratch_buff.
size;
2899 while (bytes_left > 0) {
2900 tmp_scratch_buff.
data =
2901 ((
char *)scratch_buff.
data) + bytes_read;
2903 tmp_scratch_buff.
size = bytes;
2905 bytes_left -= bytes;
2906 bytes_read += bytes;
2925 scratch_buff.
size = size;
2953 while (busy & (1 < retry)) {
2996 pdbg_init->
print(
"BUSY timeout reading"
2997 "CIM_HOST_ACC_CTRL\n");
3019 size =
sizeof(
struct ireg_buf) * n;
3020 scratch_buff.
size = size;
3028 for (i = 0; i < n; i++) {
3039 }
else if (
is_t6(padap)) {
3048 rc =
dump_up_cim(padap, pdbg_init, up_cim_reg, buff);
3071 struct cudbg_mbox_log *mboxlog = NULL;
3072 struct mbox_cmd_log *log = NULL;
3073 struct mbox_cmd *entry;
3076 unsigned int entry_idx;
3080 if (pdbg_init->dbg_params[CUDBG_MBOX_LOG_PARAM].u.mboxlog_param.log) {
3081 log = pdbg_init->dbg_params[CUDBG_MBOX_LOG_PARAM].u.
3083 mbox_cmds = pdbg_init->dbg_params[CUDBG_MBOX_LOG_PARAM].u.
3084 mboxlog_param.mbox_cmds;
3087 pdbg_init->
print(
"Mbox log is not requested\n");
3091 size =
sizeof(
struct cudbg_mbox_log) * mbox_cmds;
3092 scratch_buff.
size = size;
3097 mboxlog = (
struct cudbg_mbox_log *)scratch_buff.
data;
3099 for (k = 0; k < mbox_cmds; k++) {
3100 entry_idx = log->cursor + k;
3101 if (entry_idx >= log->size)
3102 entry_idx -= log->size;
3103 entry = mbox_cmd_log_entry(log, entry_idx);
3106 if (entry->timestamp == 0)
3109 memcpy(&mboxlog->entry, entry,
sizeof(
struct mbox_cmd));
3111 for (i = 0; i <
MBOX_LEN / 8; i++) {
3112 flit = entry->cmd[i];
3113 mboxlog->hi[i] = (
u32)(flit >> 32);
3114 mboxlog->lo[i] = (
u32)flit;
3146 scratch_buff.
size = size;
3160 pdbg_init->
print(
"BUSY timeout reading"
3161 "CIM_HOST_ACC_CTRL\n");
3174 pdbg_init->
print(
"BUSY timeout reading"
3175 "CIM_HOST_ACC_CTRL\n");
3186 pdbg_init->
print(
"BUSY timeout reading"
3187 "CIM_HOST_ACC_CTRL\n");
3198 pdbg_init->
print(
"BUSY timeout reading"
3199 "CIM_HOST_ACC_CTRL\n");
3227 size =
sizeof(
struct ireg_buf) * n * 2;
3228 scratch_buff.
size = size;
3237 for (i = 0; i < n; i++) {
3258 for (i = 0; i < n; i++) {
3299 u32 para[7], val[7];
3309#define FW_PARAM_DEV_A(param) \
3310 (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | \
3311 V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_##param))
3312#define FW_PARAM_PFVF_A(param) \
3313 (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_PFVF) | \
3314 V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_PFVF_##param)| \
3315 V_FW_PARAMS_PARAM_Y(0) | \
3316 V_FW_PARAMS_PARAM_Z(0))
3317#define MAX_ATIDS_A 8192U
3329 }
else if (
is_t6(padap)) {
3375 if (val[2] != val[3]) {
3416 if (val[0] != val[1]) {
3423#undef FW_PARAM_PFVF_A
3424#undef FW_PARAM_DEV_A
3449 size =
sizeof(
struct tx_rate);
3450 scratch_buff.
size = size;
3476 memcpy(addr, (
char *)&y + 2,
ETH_ALEN);
3513 u32 size = 0, i, n, total_size = 0;
3515 u64 tcamy, tcamx, val;
3520 scratch_buff.
size = size;
3525 memset(scratch_buff.
data, 0, size);
3528 for (i = 0; i < n; i++) {
3598 else if (
is_t6(padap))
3603 struct fw_ldst_mps_rplc mps_rplc;
3605 memset(&ldst_cmd, 0,
sizeof(ldst_cmd));
3623 sizeof(ldst_cmd), &ldst_cmd);
3632 tcam->
rplc[0] = ntohl(mps_rplc.rplc31_0);
3633 tcam->
rplc[1] = ntohl(mps_rplc.rplc63_32);
3634 tcam->
rplc[2] = ntohl(mps_rplc.rplc95_64);
3635 tcam->
rplc[3] = ntohl(mps_rplc.rplc127_96);
3638 tcam->
rplc[4] = ntohl(mps_rplc.rplc159_128);
3639 tcam->
rplc[5] = ntohl(mps_rplc.rplc191_160);
3640 tcam->
rplc[6] = ntohl(mps_rplc.rplc223_192);
3641 tcam->
rplc[7] = ntohl(mps_rplc.rplc255_224);
3654 if (total_size == 0) {
3659 scratch_buff.
size = total_size;
3667 scratch_buff.
size = size;
3679 u32 size, *value, j;
3684 scratch_buff.
size = size;
3690 value = (
u32 *)scratch_buff.
data;
3691 for (i = 0; i < n; i++) {
3713 int i, cmd_retry = 8;
3740 pdbg_init->
print(
"%s(): Timeout waiting for non-busy\n",
3752 pdbg_init->
print(
"%s(): DBGI command failed\n", __func__);
3762 tid_data->
tid = tid;
3775 u32 value, bytes = 0, bytes_left = 0;
3805 tcam_region.
max_tid = (value & 0xFFFFF) +
3818 scratch_buff.size = size;
3828 memcpy(scratch_buff.data, &tcam_region,
sizeof(
struct cudbg_tcam));
3831 scratch_buff.data) + 1);
3836 for (i = 0; i < tcam_region.max_tid; i++) {
3838 scratch_buff.size = bytes;
3859 cudbg_err->sys_err = rc;
3869 scratch_buff.size = bytes;
3892 pdbg_init->
print(
"MA indirect available only in T6\n");
3898 size =
sizeof(
struct ireg_buf) * n * 2;
3899 scratch_buff.
size = size;
3907 for (i = 0; i < n; i++) {
3926 for (i = 0; i < n; i++) {
3968 pdbg_init->
print(
"HMA indirect available only in T6\n");
3974 size =
sizeof(
struct ireg_buf) * n;
3975 scratch_buff.
size = size;
3983 for (i = 0; i < n; i++) {
4023 size =
sizeof(
struct ireg_buf) * n * 2;
4024 scratch_buff.
size = size;
4033 for (i = 0; i < n; i++) {
4054 for (i = 0; i < n; i++) {
4098 else if (
is_t6(padap))
4101 size =
sizeof(
struct ireg_buf) * n * 3;
4102 scratch_buff.
size = size;
4111 for (i = 0; i < n; i++) {
4120 }
else if (
is_t6(padap)) {
4136 else if (
is_t6(padap))
4139 for (i = 0; i < n; i++) {
4148 }
else if (
is_t6(padap)) {
4164 else if (
is_t6(padap))
4167 for (i = 0; i < n ; i++) {
4178 }
else if (
is_t6(padap)) {
4215 size =
sizeof(
struct ireg_buf) * 2;
4216 scratch_buff.
size = size;
4224 for (i = 0; i < 2; i++) {
4261 u32 reg_addr, reg_data, reg_local_offset, reg_offset_range;
4278 else if (
is_t6(padap))
4281 scratch_buff.
size = nreg *
sizeof(
u32);
4287 sp = (
u32 *)scratch_buff.
data;
4291 reg_offset_range = 1;
4293 t4_tp_pio_read(padap, sp, reg_offset_range, reg_local_offset,
true);
4299 reg_offset_range = 1;
4301 t4_tp_pio_read(padap, sp, reg_offset_range, reg_local_offset,
true);
4307 reg_offset_range = 1;
4309 t4_tp_pio_read(padap, sp, reg_offset_range, reg_local_offset,
true);
4315 reg_offset_range = 1;
4317 t4_tp_pio_read(padap, sp, reg_offset_range, reg_local_offset,
true);
4325 reg_offset_range = 1;
4337 reg_offset_range = 1;
4340 reg_offset_range, reg_local_offset);
4374 scratch_buff.
size = size;
4387 }
else if (
is_t6(padap)) {
4423 sprintf(vpd_ver,
"%c%c\n", vpd_ver[0], vpd_ver[1]);
int begin_synchronized_op(struct adapter *, struct vi_info *, int, char *)
static uint32_t t4_read_reg(struct adapter *sc, uint32_t reg)
static void t4_write_reg(struct adapter *sc, uint32_t reg, uint32_t val)
void end_synchronized_op(struct adapter *, int)
static uint64_t t4_read_reg64(struct adapter *sc, uint32_t reg)
void t4_read_rss_vf_config(struct adapter *adapter, unsigned int index, u32 *vfl, u32 *vfh, bool sleep_ok)
int t4_sge_ctxt_rd_bd(struct adapter *adap, unsigned int cid, enum ctxt_type ctype, u32 *data)
void t4_get_regs(struct adapter *adap, u8 *buf, size_t buf_size)
void t4_read_cong_tbl(struct adapter *adap, u16 incr[NMTUS][NCCTRL_WIN])
int t4_get_vpd_version(struct adapter *adapter, u32 *vers)
int t4_get_flash_params(struct adapter *adapter)
void t4_cim_read_ma_la(struct adapter *adap, u32 *ma_req, u32 *ma_rsp)
void t4_pmtx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[])
void t4_tp_tm_pio_read(struct adapter *adap, u32 *buff, u32 nregs, u32 start_index, bool sleep_ok)
void t4_tp_get_tcp_stats(struct adapter *adap, struct tp_tcp_stats *v4, struct tp_tcp_stats *v6, bool sleep_ok)
int t4_query_params(struct adapter *adap, unsigned int mbox, unsigned int pf, unsigned int vf, unsigned int nparams, const u32 *params, u32 *val)
void t4_read_indirect(struct adapter *adap, unsigned int addr_reg, unsigned int data_reg, u32 *vals, unsigned int nregs, unsigned int start_idx)
void t4_get_tx_sched(struct adapter *adap, unsigned int sched, unsigned int *kbps, unsigned int *ipg, bool sleep_ok)
void t4_get_fcoe_stats(struct adapter *adap, unsigned int idx, struct tp_fcoe_stats *st, bool sleep_ok)
int t4_fwcache(struct adapter *adap, enum fw_params_param_dev_fwcache op)
void t4_read_mtu_tbl(struct adapter *adap, u16 *mtus, u8 *mtu_log)
static int t4_wr_mbox(struct adapter *adap, int mbox, const void *cmd, int size, void *rpl)
void t4_read_rss_pf_config(struct adapter *adapter, unsigned int index, u32 *valp, bool sleep_ok)
int t4_sge_ctxt_rd(struct adapter *adap, unsigned int mbox, unsigned int cid, enum ctxt_type ctype, u32 *data)
void t4_ulprx_read_la(struct adapter *adap, u32 *la_buf)
static int is_t6(struct adapter *adap)
void t4_get_chan_txrate(struct adapter *adap, u64 *nic_rate, u64 *ofld_rate)
int t4_get_scfg_version(struct adapter *adapter, u32 *vers)
u32 t4_read_rss_pf_map(struct adapter *adapter, bool sleep_ok)
int t4_cim_read(struct adapter *adap, unsigned int addr, unsigned int n, unsigned int *valp)
u32 t4_hw_pci_read_cfg4(adapter_t *adapter, int reg)
void t4_tp_get_err_stats(struct adapter *adap, struct tp_err_stats *st, bool sleep_ok)
int t4_init_devlog_params(struct adapter *adapter, int fw_attach)
static int chip_id(struct adapter *adap)
u32 t4_read_rss_pf_mask(struct adapter *adapter, bool sleep_ok)
void t4_get_usm_stats(struct adapter *adap, struct tp_usm_stats *st, bool sleep_ok)
static int is_t4(struct adapter *adap)
void t4_read_cimq_cfg(struct adapter *adap, u16 *base, u16 *size, u16 *thres)
void t4_tp_get_rdma_stats(struct adapter *adap, struct tp_rdma_stats *st, bool sleep_ok)
int t4_cim_read_la(struct adapter *adap, u32 *la_buf, unsigned int *wrptr)
void t4_get_port_stats(struct adapter *adap, int idx, struct port_stats *p)
int t4_read_rss(struct adapter *adapter, u16 *entries)
void t4_pmrx_get_stats(struct adapter *adap, u32 cnt[], u64 cycles[])
void t4_tp_pio_read(struct adapter *adap, u32 *buff, u32 nregs, u32 start_index, bool sleep_ok)
int t4_get_fw_version(struct adapter *adapter, u32 *vers)
void t4_get_lb_stats(struct adapter *adap, int idx, struct lb_port_stats *p)
void t4_read_rss_key(struct adapter *adapter, u32 *key, bool sleep_ok)
void t4_read_pace_tbl(struct adapter *adap, unsigned int pace_vals[NTX_SCHED])
void t4_tp_read_la(struct adapter *adap, u64 *la_buf, unsigned int *wrptr)
void t4_cim_read_pif_la(struct adapter *adap, u32 *pif_req, u32 *pif_rsp, unsigned int *pif_req_wrptr, unsigned int *pif_rsp_wrptr)
void t4_tp_mib_read(struct adapter *adap, u32 *buff, u32 nregs, u32 start_index, bool sleep_ok)
static int is_t5(struct adapter *adap)
int t4_read_cim_obq(struct adapter *adap, unsigned int qid, u32 *data, size_t n)
int t4_read_cim_ibq(struct adapter *adap, unsigned int qid, u32 *data, size_t n)
void t4_tp_get_cpl_stats(struct adapter *adap, struct tp_cpl_stats *st, bool sleep_ok)
static char ATTRIBUTE_UNUSED * err_msg[]
#define CUDBG_SYSTEM_ERROR
#define CUDBG_MINOR_VERSION
#define CUDBG_STATUS_NO_SCRATCH_MEM
#define CUDBG_STATUS_FLASH_FULL
#define CUDBG_STATUS_SMALL_BUFF
#define CUDBG_STATUS_CCLK_NOT_DEFINED
#define CUDBG_MAJOR_VERSION
#define CUDBG_STATUS_NOT_IMPLEMENTED
#define ENTITY_FLAG_FW_NO_ATTACH
static struct el ATTRIBUTE_UNUSED entity_list[]
#define CUDBG_STATUS_ENTITY_NOT_FOUND
#define CUDBG_STATUS_BUFFER_SHORT
#define CUDBG_STATUS_ENTITY_NOT_REQUESTED
int get_scratch_buff(struct cudbg_buffer *pdbg_buff, u32 size, struct cudbg_buffer *pscratch_buff)
void release_scratch_buff(struct cudbg_buffer *pscratch_buff, struct cudbg_buffer *pdbg_buff)
#define CUDBG_MAX_CNM_QIDS
#define CUDBG_LRF_ENTRIES
static u32 ATTRIBUTE_UNUSED t5_pcie_config_array[][2]
#define CUDBG_NUM_ULPTX_READ
#define CUDBG_CTXT_SIZE_BYTES
#define NUM_PCIE_CONFIG_REGS
static u32 ATTRIBUTE_UNUSED t5_pm_rx_array[][4]
static u32 ATTRIBUTE_UNUSED t5_up_cim_reg_array[][4]
static const char *const region[]
static u32 ATTRIBUTE_UNUSED t5_tp_mib_index_array[9][4]
static u32 ATTRIBUTE_UNUSED t5_pcie_cdbg_array[][4]
static u32 ATTRIBUTE_UNUSED t5_pcie_pdbg_array[][4]
static u32 ATTRIBUTE_UNUSED t6_tp_pio_array[][4]
#define CUDBG_PBT_DATA_ENTRIES
#define CUDBG_MAX_TCAM_TID
static u32 ATTRIBUTE_UNUSED t5_pm_tx_array[][4]
#define CUDBG_LOWMEM_MAX_CTXT_QIDS
#define CUDBG_ENTITY_SIGNATURE
#define CUDBG_MAX_FL_QIDS
#define CUDBG_PBT_DYNAMIC_ENTRIES
static u32 ATTRIBUTE_UNUSED t5_tp_pio_array[][4]
static u32 ATTRIBUTE_UNUSED t5_tp_tm_pio_array[1][4]
static u32 ATTRIBUTE_UNUSED t6_ma_ireg_array[][4]
static u32 ATTRIBUTE_UNUSED t6_up_cim_reg_array[][4]
#define CUDBG_TID_INFO_REV
#define CUDBG_CIM_BUSY_BIT
#define CUDBG_MAX_INGRESS_QIDS
#define CUDBG_PBT_STATIC_ENTRIES
static u32 ATTRIBUTE_UNUSED t6_tp_tm_pio_array[1][4]
static u32 ATTRIBUTE_UNUSED t6_ma_ireg_array2[][4]
#define CUDBG_CHAC_PBT_ADDR
#define CUDBG_NUM_REQ_REGS
#define CUDBG_MAC_STATS_REV
#define CUDBG_MAX_RPLC_SIZE
static u32 ATTRIBUTE_UNUSED t6_hma_ireg_array[][4]
static u32 ATTRIBUTE_UNUSED t6_tp_mib_index_array[6][4]
#define CUDBG_CHAC_PBT_DATA
static u32 ATTRIBUTE_UNUSED t5_sge_dbg_index_array[9][4]
#define CUDBG_CHAC_PBT_LRF
int cudbg_write_flash(void *handle, u64 timestamp, void *data, u32 start_offset, u32 cur_entity_hdr_offset, u32 cur_entity_size, u32 ext_size)
void update_skip_size(struct cudbg_flash_sec_info *sec_info, u32 size)
int cudbg_collect(void *handle, void *outbuf, u32 *outbuf_size)
static int collect_le_tcam(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_pcie_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_pif_la(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int cim_ha_rreg(struct adapter *padap, u32 addr, u32 *val)
static int collect_rss_vf_config(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int dump_up_cim(struct adapter *padap, struct cudbg_init *pdbg_init, struct ireg_field *up_cim_reg, u32 *buff)
static int collect_obq_sge_rx_q0(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int read_cim_obq(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err, int qid)
static int get_next_ext_entity_hdr(void *outbuf, u32 *ext_size, struct cudbg_buffer *dbg_buff, struct cudbg_entity_hdr **entity_hdr)
static int wr_entity_to_flash(void *handle, struct cudbg_buffer *dbg_buff, u32 cur_entity_data_offset, u32 cur_entity_size, int entity_nu, u32 ext_size)
static int collect_hma_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_rss_key(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int cudbg_read_tid(struct cudbg_init *pdbg_init, u32 tid, struct cudbg_tid_data *tid_data)
static int collect_cpl_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_up_cim_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_tp_la(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int check_valid(u32 *buf, int type)
static int collect_rss_pf_config(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_dump_context(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ibq_ncsi(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_tp_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int get_max_ctxt_qid(struct adapter *padap, struct struct_meminfo *meminfo, u32 *max_ctx_qid, u8 nelem)
static int collect_tcp_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ibq_tp1(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int check_busy_bit(struct adapter *padap)
static int collect_reg_dump(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_edc0_meminfo(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ibq_sge0(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_ma_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_obq_ulp2(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
int get_entity_hdr(void *outbuf, int i, u32 size, struct cudbg_entity_hdr **entity_hdr)
static int collect_fw_devlog(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_tp_err_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_mc1_meminfo(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ibq_ulp(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int read_cim_ibq(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err, int qid)
static int collect_ulptx_la(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_obq_sge(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_mps_tcam(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_pm_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_ulprx_la(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int read_fw_mem(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, u8 mem_type, unsigned long tot_len, struct cudbg_error *cudbg_err)
static int collect_edc1_meminfo(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_obq_ulp0(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int mem_desc_cmp(const void *a, const void *b)
static int collect_cim_qcfg(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_pcie_config(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ibq_sge1(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_tx_rate(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static void cudbg_t4_fwcache(struct cudbg_init *pdbg_init, struct cudbg_error *cudbg_err)
void reset_skip_entity(void)
static int collect_full(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ma_la(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
void skip_entity(int entity_code)
static int collect_cim_obq_ulp3(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_fcoe_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_obq_ncsi(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_ibq_tp0(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
struct large_entity large_entity_list[]
int is_large_entity(int entity_code)
static int collect_wc_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_cim_la(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_vpd_data(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_path_mtu(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_rss(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_macstats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_pm_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_obq_sge_rx_q1(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_sw_state(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
#define FW_PARAM_PFVF_A(param)
static int collect_clk_info(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_pbt_tables(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static void read_sge_ctxt(struct cudbg_init *pdbg_init, u32 cid, enum ctxt_type ctype, u32 *data)
static int collect_ddp_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_rss_config(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static void align_debug_buffer(struct cudbg_buffer *dbg_buff, struct cudbg_entity_hdr *entity_hdr)
static int collect_rdma_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_er)
static int collect_mbox_log(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_sge_indirect(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static void mps_rpl_backdoor(struct adapter *padap, struct fw_ldst_mps_rplc *mps_rplc)
#define BUFFER_WARN_LIMIT
static void cudbg_tcamxy2valmask(u64 x, u64 y, u8 *addr, u64 *mask)
static int fill_meminfo(struct adapter *padap, struct struct_meminfo *meminfo_buff)
static int collect_meminfo(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_lb_stats(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static void collect_mem_info(struct cudbg_init *pdbg_init, struct card_mem *mem_info)
static int collect_cim_obq_ulp1(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_hw_sched(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_tid(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int is_fw_attached(struct cudbg_init *pdbg_init)
#define FW_PARAM_DEV_A(param)
static int collect_cctrl(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
static int collect_mc0_meminfo(struct cudbg_init *pdbg_init, struct cudbg_buffer *dbg_buff, struct cudbg_error *cudbg_err)
#define min_t(type, _a, _b)
static int(* process_entity[])(struct cudbg_init *, struct cudbg_buffer *, struct cudbg_error *)
int compress_buff(struct cudbg_buffer *, struct cudbg_buffer *)
int write_compression_hdr(struct cudbg_buffer *, struct cudbg_buffer *)
#define CUDBG_EXT_DATA_VALID
struct devlog_params devlog
const struct chip_params * chip_params
struct adapter_params params
uint32_t data[SGE_CTXT_SIZE/4]
struct cudbg_param::@56::@57 devlog_param
u32 lrf_table[CUDBG_LRF_ENTRIES]
u32 pbt_static[CUDBG_PBT_STATIC_ENTRIES]
u32 pbt_dynamic[CUDBG_PBT_DYNAMIC_ENTRIES]
u32 pbt_data[CUDBG_PBT_DATA_ENTRIES]
struct cudbg_flash_sec_info sec_info
struct cudbg_init dbg_init
u32 data[CUDBG_NUM_REQ_REGS]
union fw_ldst_cmd::fw_ldst u
u16 base[CIM_NUM_IBQ+CIM_NUM_OBQ_T5]
u32 stat[4 *(CIM_NUM_IBQ+CIM_NUM_OBQ_T5)]
u16 size[CIM_NUM_IBQ+CIM_NUM_OBQ_T5]
u32 obq_wr[2 *CIM_NUM_OBQ_T5]
struct lb_port_stats s[0]
struct cudbg_ver_hdr ver_hdr
struct port_stats stats[4]
u32 loopback_alloc[NCHAN]
struct struct_mem_desc mem[ARRAY_SIZE(region)+3]
struct struct_mem_desc avail[4]
struct tp_tcp_stats v4 v6
struct tp_cpl_stats stats
struct tp_err_stats stats
struct tp_fcoe_stats stats[4]
u32 data[ULPRX_LA_SIZE *8]
u32 wrptr[CUDBG_NUM_ULPTX]
u32 rddata[CUDBG_NUM_ULPTX]
u32 rd_data[CUDBG_NUM_ULPTX][CUDBG_NUM_ULPTX_READ]
u32 rdptr[CUDBG_NUM_ULPTX]
struct cudbg_ver_hdr ver_hdr
struct tid_info_region tid
#define A_TP_CMM_MM_RX_FLST_BASE
#define A_TP_PMM_RX_MAX_PAGE
#define A_TP_FINWAIT2_TIMER
#define A_MPS_CLS_TCAM_DATA2_CTL
#define G_EXT_MEM1_BASE(x)
#define A_SGE_DEBUG_DATA_HIGH_INDEX_10
#define A_TP_CMM_TIMER_BASE
#define MPS_CLS_SRAM_H(idx)
#define A_MPS_RX_MAC_BG_PG_CNT0
#define A_TP_PMM_TX_MAX_PAGE
#define F_EXT_MEM0_ENABLE
#define A_TP_RSS_CONFIG_VRT
#define A_MPS_VF_RPLCT_MAP6
#define A_MPS_RX_LPBK_BG_PG_CNT0
#define A_MA_TARGET_MEM_ENABLE
#define A_ULP_TX_LA_RDPTR_0
#define A_MPS_CLS_TCAM_RDATA2_REQ_ID1
#define A_LE_DB_ROUTING_TABLE_INDEX
#define A_CIM_SDRAM_BASE_ADDR
#define A_ULP_TX_ERR_TABLE_BASE
#define F_EXT_MEM1_ENABLE
#define A_MPS_VF_RPLCT_MAP2
#define A_LE_DB_DBGI_REQ_DATA
#define A_MPS_VF_RPLCT_MAP0
#define A_TP_RSS_CONFIG_OFD
#define A_MPS_CLS_TCAM_RDATA0_REQ_ID1
#define A_LE_DB_ACT_CNT_IPV6
#define A_TP_RSS_CONFIG_TNL
#define A_MPS_VF_RPLCT_MAP4
#define A_LE_DB_CLIP_TABLE_INDEX
#define A_TP_DBG_LA_CONFIG
#define G_T6_DBVFIFO_SIZE(x)
#define A_TP_CMM_TCB_BASE
#define A_ULP_RX_CTX_BASE
#define A_MA_EXT_MEMORY_BAR
#define G_EXT_MEM1_SIZE(x)
#define A_SGE_FLM_CACHE_BADDR
#define G_EXT_MEM_BASE(x)
#define A_CIM_EXTMEM2_BASE_ADDR
#define A_LE_DB_ACT_CNT_IPV4
#define A_CIM_SDRAM_ADDR_SIZE
#define A_TP_TIMER_RESOLUTION
#define A_LE_DB_SERVER_INDEX
#define A_LE_DB_DBGI_RSP_DATA
#define A_UP_IBQ_0_RDADDR
#define A_CIM_EXTMEM2_ADDR_SIZE
#define G_DELAYEDACKRESOLUTION(x)
#define A_TP_RSS_CONFIG_SYN
#define A_ULP_TX_LA_WRPTR_0
#define A_MA_EXT_MEMORY0_BAR
#define A_MPS_CLS_TCAM_RDATA1_REQ_ID1
#define A_SGE_DBVFIFO_BADDR
#define A_LE_DB_HASH_TID_BASE
#define A_TP_RSS_CONFIG_CNG
#define A_T6_LE_DB_HASH_TID_BASE
#define A_UP_UP_DBG_LA_CFG
#define A_MPS_VF_RPLCT_MAP7
#define A_LE_DB_DBGI_CONFIG
#define A_SGE_DBQ_CTXT_BADDR
#define A_MPS_VF_RPLCT_MAP5
#define A_LE_DB_HASH_CONFIG
#define A_TP_PMM_TX_PAGE_SIZE
#define A_MA_EXT_MEMORY1_BAR
#define A_CIM_HOST_ACC_CTRL
#define A_LE_DB_FILTER_TABLE_INDEX
#define G_DBVFIFO_SIZE(x)
#define A_LE_DB_DBGI_REQ_TCAM_CMD
#define MPS_CLS_TCAM_Y_L(idx)
#define A_SGE_IMSG_CTXT_BADDR
#define A_MPS_VF_RPLCT_MAP1
#define A_CIM_HOST_ACC_DATA
#define MPS_CLS_SRAM_L(idx)
#define A_TP_PMM_RX_PAGE_SIZE
#define G_EXT_MEM_SIZE(x)
#define A_UP_OBQ_0_REALADDR
#define A_SGE_DBVFIFO_SIZE
#define A_LE_DB_SRVR_START_INDEX
#define A_LE_DB_HASH_TBL_BASE_ADDR
#define A_TP_CMM_MM_TX_FLST_BASE
#define A_LE_DB_ACTIVE_TABLE_START_INDEX
#define A_LE_DB_TID_HASHBASE
#define G_TIMERRESOLUTION(x)
#define G_EXT_MEM0_SIZE(x)
#define A_TP_TX_MOD_QUEUE_REQ_MAP
#define A_LE_DB_DBGI_RSP_STATUS
#define A_ULP_TX_LA_RDDATA_0
#define A_MPS_VF_RPLCT_MAP3
#define MPS_CLS_TCAM_X_L(idx)
#define V_CTLTCAMINDEX(x)
#define A_TP_CMM_MM_PS_FLST_BASE
#define G_FW_HDR_FW_VER_MAJOR(x)
#define G_FW_HDR_FW_VER_BUILD(x)
#define V_FW_LDST_CMD_IDX(x)
#define V_FW_LDST_CMD_ADDRSPACE(x)
#define V_FW_LDST_CMD_FID(x)
#define G_FW_HDR_FW_VER_MINOR(x)
@ FW_PARAM_DEV_FWCACHE_FLUSH
#define G_FW_HDR_FW_VER_MICRO(x)
#define FW_LEN16(fw_struct)
struct fw_ldst_cmd::fw_ldst::fw_ldst_mps::fw_ldst_mps_rplc rplc
union fw_ldst_cmd::fw_ldst::fw_ldst_mps mps