Lines Matching +full:- +full:t
1 // SPDX-License-Identifier: GPL-2.0
80 [CGX_STAT4] = "Filtered DMAC0 (NIX-bound) packets",
81 [CGX_STAT5] = "Filtered DMAC0 (NIX-bound) octets",
85 [CGX_STAT9] = "Filtered DMAC1 (NCSI-bound) packets",
86 [CGX_STAT10] = "Filtered DMAC1 (NCSI-bound) octets",
87 [CGX_STAT11] = "NCSI-bound packets dropped",
88 [CGX_STAT12] = "NCSI-bound octets dropped",
100 [CGX_STAT8] = "Packets sent with an octet count of 65-127",
101 [CGX_STAT9] = "Packets sent with an octet count of 128-255",
102 [CGX_STAT10] = "Packets sent with an octet count of 256-511",
103 [CGX_STAT11] = "Packets sent with an octet count of 512-1023",
104 [CGX_STAT12] = "Packets sent with an octet count of 1024-1518",
130 "Packets received with an octet count of 65-127",
131 "Packets received with an octet count of 128-255",
132 "Packets received with an octet count of 256-511",
133 "Packets received with an octet count of 512-1023",
134 "Packets received with an octet count of 1024-1518",
169 "Packets sent with an octet count of 65-127",
170 "Packets sent with an octet count of 128-255",
171 "Packets sent with an octet count of 256-511",
172 "Packets sent with an octet count of 512-1023",
173 "Packets sent with an octet count of 1024-1518",
207 return single_open(file, rvu_dbg_##read_op, inode->i_private); \
230 struct mcs *mcs = filp->private; in rvu_dbg_mcs_port_stats_display()
235 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_port_stats_display()
236 for_each_set_bit(lmac, &mcs->hw->lmac_bmap, mcs->hw->lmac_cnt) { in rvu_dbg_mcs_port_stats_display()
241 if (dir == MCS_RX && mcs->hw->mcs_blks > 1) in rvu_dbg_mcs_port_stats_display()
248 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_port_stats_display()
268 struct mcs *mcs = filp->private; in rvu_dbg_mcs_sa_stats_display()
274 map = &mcs->tx.sa; in rvu_dbg_mcs_sa_stats_display()
275 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_sa_stats_display()
276 for_each_set_bit(sa_id, map->bmap, mcs->hw->sa_entries) { in rvu_dbg_mcs_sa_stats_display()
285 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_sa_stats_display()
290 map = &mcs->rx.sa; in rvu_dbg_mcs_sa_stats_display()
291 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_sa_stats_display()
292 for_each_set_bit(sa_id, map->bmap, mcs->hw->sa_entries) { in rvu_dbg_mcs_sa_stats_display()
301 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_sa_stats_display()
321 struct mcs *mcs = filp->private; in rvu_dbg_mcs_tx_sc_stats_display()
326 map = &mcs->tx.sc; in rvu_dbg_mcs_tx_sc_stats_display()
329 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_tx_sc_stats_display()
330 for_each_set_bit(sc_id, map->bmap, mcs->hw->sc_entries) { in rvu_dbg_mcs_tx_sc_stats_display()
336 if (mcs->hw->mcs_blks == 1) { in rvu_dbg_mcs_tx_sc_stats_display()
343 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_tx_sc_stats_display()
351 struct mcs *mcs = filp->private; in rvu_dbg_mcs_rx_sc_stats_display()
356 map = &mcs->rx.sc; in rvu_dbg_mcs_rx_sc_stats_display()
359 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_rx_sc_stats_display()
360 for_each_set_bit(sc_id, map->bmap, mcs->hw->sc_entries) { in rvu_dbg_mcs_rx_sc_stats_display()
369 if (mcs->hw->mcs_blks > 1) { in rvu_dbg_mcs_rx_sc_stats_display()
373 if (mcs->hw->mcs_blks == 1) { in rvu_dbg_mcs_rx_sc_stats_display()
380 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_rx_sc_stats_display()
388 struct mcs *mcs = filp->private; in rvu_dbg_mcs_flowid_stats_display()
396 map = &mcs->rx.flow_ids; in rvu_dbg_mcs_flowid_stats_display()
398 map = &mcs->tx.flow_ids; in rvu_dbg_mcs_flowid_stats_display()
400 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_flowid_stats_display()
401 for_each_set_bit(flow_id, map->bmap, mcs->hw->tcam_entries) { in rvu_dbg_mcs_flowid_stats_display()
405 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_flowid_stats_display()
425 struct mcs *mcs = filp->private; in rvu_dbg_mcs_tx_secy_stats_display()
430 map = &mcs->tx.secy; in rvu_dbg_mcs_tx_secy_stats_display()
433 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_tx_secy_stats_display()
434 for_each_set_bit(secy_id, map->bmap, mcs->hw->secy_entries) { in rvu_dbg_mcs_tx_secy_stats_display()
460 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_tx_secy_stats_display()
468 struct mcs *mcs = filp->private; in rvu_dbg_mcs_rx_secy_stats_display()
473 map = &mcs->rx.secy; in rvu_dbg_mcs_rx_secy_stats_display()
476 mutex_lock(&mcs->stats_lock); in rvu_dbg_mcs_rx_secy_stats_display()
477 for_each_set_bit(secy_id, map->bmap, mcs->hw->secy_entries) { in rvu_dbg_mcs_rx_secy_stats_display()
509 if (mcs->hw->mcs_blks > 1) in rvu_dbg_mcs_rx_secy_stats_display()
513 mutex_unlock(&mcs->stats_lock); in rvu_dbg_mcs_rx_secy_stats_display()
525 if (!rvu->mcs_blk_cnt) in rvu_dbg_mcs_init()
528 rvu->rvu_dbg.mcs_root = debugfs_create_dir("mcs", rvu->rvu_dbg.root); in rvu_dbg_mcs_init()
530 for (i = 0; i < rvu->mcs_blk_cnt; i++) { in rvu_dbg_mcs_init()
534 rvu->rvu_dbg.mcs = debugfs_create_dir(dname, in rvu_dbg_mcs_init()
535 rvu->rvu_dbg.mcs_root); in rvu_dbg_mcs_init()
537 rvu->rvu_dbg.mcs_rx = debugfs_create_dir("rx_stats", rvu->rvu_dbg.mcs); in rvu_dbg_mcs_init()
539 debugfs_create_file("flowid", 0600, rvu->rvu_dbg.mcs_rx, mcs, in rvu_dbg_mcs_init()
542 debugfs_create_file("secy", 0600, rvu->rvu_dbg.mcs_rx, mcs, in rvu_dbg_mcs_init()
545 debugfs_create_file("sc", 0600, rvu->rvu_dbg.mcs_rx, mcs, in rvu_dbg_mcs_init()
548 debugfs_create_file("sa", 0600, rvu->rvu_dbg.mcs_rx, mcs, in rvu_dbg_mcs_init()
551 debugfs_create_file("port", 0600, rvu->rvu_dbg.mcs_rx, mcs, in rvu_dbg_mcs_init()
554 rvu->rvu_dbg.mcs_tx = debugfs_create_dir("tx_stats", rvu->rvu_dbg.mcs); in rvu_dbg_mcs_init()
556 debugfs_create_file("flowid", 0600, rvu->rvu_dbg.mcs_tx, mcs, in rvu_dbg_mcs_init()
559 debugfs_create_file("secy", 0600, rvu->rvu_dbg.mcs_tx, mcs, in rvu_dbg_mcs_init()
562 debugfs_create_file("sc", 0600, rvu->rvu_dbg.mcs_tx, mcs, in rvu_dbg_mcs_init()
565 debugfs_create_file("sa", 0600, rvu->rvu_dbg.mcs_tx, mcs, in rvu_dbg_mcs_init()
568 debugfs_create_file("port", 0600, rvu->rvu_dbg.mcs_tx, mcs, in rvu_dbg_mcs_init()
579 struct rvu *rvu = filp->private_data; in rvu_dbg_lmtst_map_table_display()
589 /* don't allow partial reads */ in rvu_dbg_lmtst_map_table_display()
595 return -ENOMEM; in rvu_dbg_lmtst_map_table_display()
601 dev_err(rvu->dev, "Failed to setup lmt map table mapping!!\n"); in rvu_dbg_lmtst_map_table_display()
606 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
607 "\n\t\t\t\t\tLmtst Map Table Entries"); in rvu_dbg_lmtst_map_table_display()
608 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
609 "\n\t\t\t\t\t======================="); in rvu_dbg_lmtst_map_table_display()
610 off += scnprintf(&buf[off], buf_size - 1 - off, "\nPcifunc\t\t\t"); in rvu_dbg_lmtst_map_table_display()
611 off += scnprintf(&buf[off], buf_size - 1 - off, "Table Index\t\t"); in rvu_dbg_lmtst_map_table_display()
612 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
613 "Lmtline Base (word 0)\t\t"); in rvu_dbg_lmtst_map_table_display()
614 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
616 off += scnprintf(&buf[off], buf_size - 1 - off, "\n"); in rvu_dbg_lmtst_map_table_display()
617 for (pf = 0; pf < rvu->hw->total_pfs; pf++) { in rvu_dbg_lmtst_map_table_display()
618 off += scnprintf(&buf[off], buf_size - 1 - off, "PF%d \t\t\t", in rvu_dbg_lmtst_map_table_display()
621 index = pf * rvu->hw->total_vfs * LMT_MAPTBL_ENTRY_SIZE; in rvu_dbg_lmtst_map_table_display()
622 off += scnprintf(&buf[off], buf_size - 1 - off, " 0x%llx\t\t", in rvu_dbg_lmtst_map_table_display()
625 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
626 " 0x%016llx\t\t", lmt_addr); in rvu_dbg_lmtst_map_table_display()
629 off += scnprintf(&buf[off], buf_size - 1 - off, " 0x%016llx\n", in rvu_dbg_lmtst_map_table_display()
634 index = (pf * rvu->hw->total_vfs * 16) + in rvu_dbg_lmtst_map_table_display()
636 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
637 "PF%d:VF%d \t\t", pf, vf); in rvu_dbg_lmtst_map_table_display()
638 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
639 " 0x%llx\t\t", (tbl_base + index)); in rvu_dbg_lmtst_map_table_display()
641 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
642 " 0x%016llx\t\t", lmt_addr); in rvu_dbg_lmtst_map_table_display()
645 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_lmtst_map_table_display()
649 off += scnprintf(&buf[off], buf_size - 1 - off, "\n"); in rvu_dbg_lmtst_map_table_display()
653 ret = -EFAULT; in rvu_dbg_lmtst_map_table_display()
685 len += sprintf(lfs + len, "-%d,%d", prev_lf, lf); in get_lf_str_list()
695 len += sprintf(lfs + len, "-%d", prev_lf); in get_lf_str_list()
709 return -ENOMEM; in get_max_column_width()
711 for (pf = 0; pf < rvu->hw->total_pfs; pf++) { in get_max_column_width()
712 for (vf = 0; vf <= rvu->hw->total_vfs; vf++) { in get_max_column_width()
718 block = rvu->hw->block[index]; in get_max_column_width()
739 struct rvu *rvu = filp->private_data; in rvu_dbg_rsrc_attach_status()
748 /* don't allow partial reads */ in rvu_dbg_rsrc_attach_status()
754 return -ENOMEM; in rvu_dbg_rsrc_attach_status()
762 return -ENOMEM; in rvu_dbg_rsrc_attach_status()
764 off += scnprintf(&buf[off], buf_size - 1 - off, "%-*s", lf_str_size, in rvu_dbg_rsrc_attach_status()
767 if (strlen(rvu->hw->block[index].name)) { in rvu_dbg_rsrc_attach_status()
768 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_rsrc_attach_status()
769 "%-*s", lf_str_size, in rvu_dbg_rsrc_attach_status()
770 rvu->hw->block[index].name); in rvu_dbg_rsrc_attach_status()
773 off += scnprintf(&buf[off], buf_size - 1 - off, "\n"); in rvu_dbg_rsrc_attach_status()
780 for (pf = 0; pf < rvu->hw->total_pfs; pf++) { in rvu_dbg_rsrc_attach_status()
781 for (vf = 0; vf <= rvu->hw->total_vfs; vf++) { in rvu_dbg_rsrc_attach_status()
789 sprintf(lfs, "PF%d:VF%d", pf, vf - 1); in rvu_dbg_rsrc_attach_status()
791 buf_size - 1 - off, in rvu_dbg_rsrc_attach_status()
792 "%-*s", lf_str_size, lfs); in rvu_dbg_rsrc_attach_status()
796 buf_size - 1 - off, in rvu_dbg_rsrc_attach_status()
797 "%-*s", lf_str_size, lfs); in rvu_dbg_rsrc_attach_status()
801 block = rvu->hw->block[index]; in rvu_dbg_rsrc_attach_status()
810 off += scnprintf(&buf[off], buf_size - 1 - off, in rvu_dbg_rsrc_attach_status()
811 "%-*s", lf_str_size, lfs); in rvu_dbg_rsrc_attach_status()
815 buf_size - 1 - off, "\n"); in rvu_dbg_rsrc_attach_status()
832 return -EFAULT; in rvu_dbg_rsrc_attach_status()
841 struct rvu *rvu = filp->private; in rvu_dbg_rvu_pf_cgx_map_display()
855 seq_printf(filp, "PCI dev\t\tRVU PF Func\tNIX block\t%s\tLMAC\n", in rvu_dbg_rvu_pf_cgx_map_display()
856 mac_ops->name); in rvu_dbg_rvu_pf_cgx_map_display()
857 for (pf = 0; pf < rvu->hw->total_pfs; pf++) { in rvu_dbg_rvu_pf_cgx_map_display()
870 if (pfvf->nix_blkaddr == BLKADDR_NIX0) in rvu_dbg_rvu_pf_cgx_map_display()
875 rvu_get_cgx_lmac_id(rvu->pf2cgxlmac_map[pf], &cgx_id, in rvu_dbg_rvu_pf_cgx_map_display()
877 sprintf(cgx, "%s%d", mac_ops->name, cgx_id); in rvu_dbg_rvu_pf_cgx_map_display()
879 seq_printf(filp, "%s\t0x%x\t\tNIX%d\t\t%s\t%s\n", in rvu_dbg_rvu_pf_cgx_map_display()
880 dev_name(&pdev->dev), pcifunc, blkid, cgx, lmac); in rvu_dbg_rvu_pf_cgx_map_display()
895 hw = rvu->hw; in rvu_dbg_is_valid_lf()
896 block = &hw->block[blkaddr]; in rvu_dbg_is_valid_lf()
898 if (lf < 0 || lf >= block->lf.max) { in rvu_dbg_is_valid_lf()
899 dev_warn(rvu->dev, "Invalid LF: valid range: 0-%d\n", in rvu_dbg_is_valid_lf()
900 block->lf.max - 1); in rvu_dbg_is_valid_lf()
904 *pcifunc = block->fn_map[lf]; in rvu_dbg_is_valid_lf()
906 dev_warn(rvu->dev, in rvu_dbg_is_valid_lf()
921 if (!pfvf->aura_ctx) { in print_npa_qsize()
924 bitmap_print_to_pagebuf(false, buf, pfvf->aura_bmap, in print_npa_qsize()
925 pfvf->aura_ctx->qsize); in print_npa_qsize()
926 seq_printf(m, "Aura count : %d\n", pfvf->aura_ctx->qsize); in print_npa_qsize()
930 if (!pfvf->pool_ctx) { in print_npa_qsize()
933 bitmap_print_to_pagebuf(false, buf, pfvf->pool_bmap, in print_npa_qsize()
934 pfvf->pool_ctx->qsize); in print_npa_qsize()
935 seq_printf(m, "Pool count : %d\n", pfvf->pool_ctx->qsize); in print_npa_qsize()
956 rvu = filp->private; in rvu_dbg_qsize_display()
959 qsize_id = rvu->rvu_dbg.npa_qsize_id; in rvu_dbg_qsize_display()
964 qsize_id = rvu->rvu_dbg.nix_qsize_id; in rvu_dbg_qsize_display()
969 return -EINVAL; in rvu_dbg_qsize_display()
975 current_dir = filp->file->f_path.dentry->d_parent; in rvu_dbg_qsize_display()
976 blkaddr = (!strcmp(current_dir->d_name.name, "nix1") ? in rvu_dbg_qsize_display()
981 return -EINVAL; in rvu_dbg_qsize_display()
994 struct seq_file *seqfile = filp->private_data; in rvu_dbg_qsize_write()
996 struct rvu *rvu = seqfile->private; in rvu_dbg_qsize_write()
1004 return -ENOMEM; in rvu_dbg_qsize_write()
1011 count = cmd_buf_tmp - cmd_buf + 1; in rvu_dbg_qsize_write()
1016 ret = subtoken ? kstrtoint(subtoken, 10, &lf) : -EINVAL; in rvu_dbg_qsize_write()
1018 ret = -EINVAL; in rvu_dbg_qsize_write()
1021 dev_info(rvu->dev, "Use echo <%s-lf > qsize\n", blk_string); in rvu_dbg_qsize_write()
1028 current_dir = filp->f_path.dentry->d_parent; in rvu_dbg_qsize_write()
1029 blkaddr = (!strcmp(current_dir->d_name.name, "nix1") ? in rvu_dbg_qsize_write()
1034 ret = -EINVAL; in rvu_dbg_qsize_write()
1038 rvu->rvu_dbg.npa_qsize_id = lf; in rvu_dbg_qsize_write()
1040 rvu->rvu_dbg.nix_qsize_id = lf; in rvu_dbg_qsize_write()
1065 struct npa_aura_s *aura = &rsp->aura; in print_npa_aura_ctx()
1066 struct rvu *rvu = m->private; in print_npa_aura_ctx()
1068 seq_printf(m, "W0: Pool addr\t\t%llx\n", aura->pool_addr); in print_npa_aura_ctx()
1070 seq_printf(m, "W1: ena\t\t\t%d\nW1: pool caching\t%d\n", in print_npa_aura_ctx()
1071 aura->ena, aura->pool_caching); in print_npa_aura_ctx()
1072 seq_printf(m, "W1: pool way mask\t%d\nW1: avg con\t\t%d\n", in print_npa_aura_ctx()
1073 aura->pool_way_mask, aura->avg_con); in print_npa_aura_ctx()
1074 seq_printf(m, "W1: pool drop ena\t%d\nW1: aura drop ena\t%d\n", in print_npa_aura_ctx()
1075 aura->pool_drop_ena, aura->aura_drop_ena); in print_npa_aura_ctx()
1076 seq_printf(m, "W1: bp_ena\t\t%d\nW1: aura drop\t\t%d\n", in print_npa_aura_ctx()
1077 aura->bp_ena, aura->aura_drop); in print_npa_aura_ctx()
1078 seq_printf(m, "W1: aura shift\t\t%d\nW1: avg_level\t\t%d\n", in print_npa_aura_ctx()
1079 aura->shift, aura->avg_level); in print_npa_aura_ctx()
1081 seq_printf(m, "W2: count\t\t%llu\nW2: nix0_bpid\t\t%d\nW2: nix1_bpid\t\t%d\n", in print_npa_aura_ctx()
1082 (u64)aura->count, aura->nix0_bpid, aura->nix1_bpid); in print_npa_aura_ctx()
1084 seq_printf(m, "W3: limit\t\t%llu\nW3: bp\t\t\t%d\nW3: fc_ena\t\t%d\n", in print_npa_aura_ctx()
1085 (u64)aura->limit, aura->bp, aura->fc_ena); in print_npa_aura_ctx()
1088 seq_printf(m, "W3: fc_be\t\t%d\n", aura->fc_be); in print_npa_aura_ctx()
1089 seq_printf(m, "W3: fc_up_crossing\t%d\nW3: fc_stype\t\t%d\n", in print_npa_aura_ctx()
1090 aura->fc_up_crossing, aura->fc_stype); in print_npa_aura_ctx()
1091 seq_printf(m, "W3: fc_hyst_bits\t%d\n", aura->fc_hyst_bits); in print_npa_aura_ctx()
1093 seq_printf(m, "W4: fc_addr\t\t%llx\n", aura->fc_addr); in print_npa_aura_ctx()
1095 seq_printf(m, "W5: pool_drop\t\t%d\nW5: update_time\t\t%d\n", in print_npa_aura_ctx()
1096 aura->pool_drop, aura->update_time); in print_npa_aura_ctx()
1097 seq_printf(m, "W5: err_int \t\t%d\nW5: err_int_ena\t\t%d\n", in print_npa_aura_ctx()
1098 aura->err_int, aura->err_int_ena); in print_npa_aura_ctx()
1099 seq_printf(m, "W5: thresh_int\t\t%d\nW5: thresh_int_ena \t%d\n", in print_npa_aura_ctx()
1100 aura->thresh_int, aura->thresh_int_ena); in print_npa_aura_ctx()
1101 seq_printf(m, "W5: thresh_up\t\t%d\nW5: thresh_qint_idx\t%d\n", in print_npa_aura_ctx()
1102 aura->thresh_up, aura->thresh_qint_idx); in print_npa_aura_ctx()
1103 seq_printf(m, "W5: err_qint_idx \t%d\n", aura->err_qint_idx); in print_npa_aura_ctx()
1105 seq_printf(m, "W6: thresh\t\t%llu\n", (u64)aura->thresh); in print_npa_aura_ctx()
1107 seq_printf(m, "W6: fc_msh_dst\t\t%d\n", aura->fc_msh_dst); in print_npa_aura_ctx()
1113 struct npa_pool_s *pool = &rsp->pool; in print_npa_pool_ctx()
1114 struct rvu *rvu = m->private; in print_npa_pool_ctx()
1116 seq_printf(m, "W0: Stack base\t\t%llx\n", pool->stack_base); in print_npa_pool_ctx()
1118 seq_printf(m, "W1: ena \t\t%d\nW1: nat_align \t\t%d\n", in print_npa_pool_ctx()
1119 pool->ena, pool->nat_align); in print_npa_pool_ctx()
1120 seq_printf(m, "W1: stack_caching\t%d\nW1: stack_way_mask\t%d\n", in print_npa_pool_ctx()
1121 pool->stack_caching, pool->stack_way_mask); in print_npa_pool_ctx()
1122 seq_printf(m, "W1: buf_offset\t\t%d\nW1: buf_size\t\t%d\n", in print_npa_pool_ctx()
1123 pool->buf_offset, pool->buf_size); in print_npa_pool_ctx()
1125 seq_printf(m, "W2: stack_max_pages \t%d\nW2: stack_pages\t\t%d\n", in print_npa_pool_ctx()
1126 pool->stack_max_pages, pool->stack_pages); in print_npa_pool_ctx()
1128 seq_printf(m, "W3: op_pc \t\t%llu\n", (u64)pool->op_pc); in print_npa_pool_ctx()
1130 seq_printf(m, "W4: stack_offset\t%d\nW4: shift\t\t%d\nW4: avg_level\t\t%d\n", in print_npa_pool_ctx()
1131 pool->stack_offset, pool->shift, pool->avg_level); in print_npa_pool_ctx()
1132 seq_printf(m, "W4: avg_con \t\t%d\nW4: fc_ena\t\t%d\nW4: fc_stype\t\t%d\n", in print_npa_pool_ctx()
1133 pool->avg_con, pool->fc_ena, pool->fc_stype); in print_npa_pool_ctx()
1134 seq_printf(m, "W4: fc_hyst_bits\t%d\nW4: fc_up_crossing\t%d\n", in print_npa_pool_ctx()
1135 pool->fc_hyst_bits, pool->fc_up_crossing); in print_npa_pool_ctx()
1137 seq_printf(m, "W4: fc_be\t\t%d\n", pool->fc_be); in print_npa_pool_ctx()
1138 seq_printf(m, "W4: update_time\t\t%d\n", pool->update_time); in print_npa_pool_ctx()
1140 seq_printf(m, "W5: fc_addr\t\t%llx\n", pool->fc_addr); in print_npa_pool_ctx()
1142 seq_printf(m, "W6: ptr_start\t\t%llx\n", pool->ptr_start); in print_npa_pool_ctx()
1144 seq_printf(m, "W7: ptr_end\t\t%llx\n", pool->ptr_end); in print_npa_pool_ctx()
1146 seq_printf(m, "W8: err_int\t\t%d\nW8: err_int_ena\t\t%d\n", in print_npa_pool_ctx()
1147 pool->err_int, pool->err_int_ena); in print_npa_pool_ctx()
1148 seq_printf(m, "W8: thresh_int\t\t%d\n", pool->thresh_int); in print_npa_pool_ctx()
1149 seq_printf(m, "W8: thresh_int_ena\t%d\nW8: thresh_up\t\t%d\n", in print_npa_pool_ctx()
1150 pool->thresh_int_ena, pool->thresh_up); in print_npa_pool_ctx()
1151 seq_printf(m, "W8: thresh_qint_idx\t%d\nW8: err_qint_idx\t%d\n", in print_npa_pool_ctx()
1152 pool->thresh_qint_idx, pool->err_qint_idx); in print_npa_pool_ctx()
1154 seq_printf(m, "W8: fc_msh_dst\t\t%d\n", pool->fc_msh_dst); in print_npa_pool_ctx()
1169 rvu = m->private; in rvu_dbg_npa_ctx_display()
1173 npalf = rvu->rvu_dbg.npa_aura_ctx.lf; in rvu_dbg_npa_ctx_display()
1174 id = rvu->rvu_dbg.npa_aura_ctx.id; in rvu_dbg_npa_ctx_display()
1175 all = rvu->rvu_dbg.npa_aura_ctx.all; in rvu_dbg_npa_ctx_display()
1179 npalf = rvu->rvu_dbg.npa_pool_ctx.lf; in rvu_dbg_npa_ctx_display()
1180 id = rvu->rvu_dbg.npa_pool_ctx.id; in rvu_dbg_npa_ctx_display()
1181 all = rvu->rvu_dbg.npa_pool_ctx.all; in rvu_dbg_npa_ctx_display()
1184 return -EINVAL; in rvu_dbg_npa_ctx_display()
1188 return -EINVAL; in rvu_dbg_npa_ctx_display()
1191 if (ctype == NPA_AQ_CTYPE_AURA && !pfvf->aura_ctx) { in rvu_dbg_npa_ctx_display()
1193 return -EINVAL; in rvu_dbg_npa_ctx_display()
1194 } else if (ctype == NPA_AQ_CTYPE_POOL && !pfvf->pool_ctx) { in rvu_dbg_npa_ctx_display()
1196 return -EINVAL; in rvu_dbg_npa_ctx_display()
1204 max_id = pfvf->aura_ctx->qsize; in rvu_dbg_npa_ctx_display()
1207 max_id = pfvf->pool_ctx->qsize; in rvu_dbg_npa_ctx_display()
1212 seq_printf(m, "Invalid %s, valid range is 0-%d\n", in rvu_dbg_npa_ctx_display()
1214 max_id - 1); in rvu_dbg_npa_ctx_display()
1215 return -EINVAL; in rvu_dbg_npa_ctx_display()
1227 if (ctype == NPA_AQ_CTYPE_POOL && !test_bit(aura, pfvf->pool_bmap)) in rvu_dbg_npa_ctx_display()
1236 return -EINVAL; in rvu_dbg_npa_ctx_display()
1251 return -EINVAL; in write_npa_ctx()
1256 if (!pfvf->aura_ctx) { in write_npa_ctx()
1257 dev_warn(rvu->dev, "Aura context is not initialized\n"); in write_npa_ctx()
1258 return -EINVAL; in write_npa_ctx()
1260 max_id = pfvf->aura_ctx->qsize; in write_npa_ctx()
1262 if (!pfvf->pool_ctx) { in write_npa_ctx()
1263 dev_warn(rvu->dev, "Pool context is not initialized\n"); in write_npa_ctx()
1264 return -EINVAL; in write_npa_ctx()
1266 max_id = pfvf->pool_ctx->qsize; in write_npa_ctx()
1270 dev_warn(rvu->dev, "Invalid %s, valid range is 0-%d\n", in write_npa_ctx()
1272 max_id - 1); in write_npa_ctx()
1273 return -EINVAL; in write_npa_ctx()
1278 rvu->rvu_dbg.npa_aura_ctx.lf = npalf; in write_npa_ctx()
1279 rvu->rvu_dbg.npa_aura_ctx.id = id; in write_npa_ctx()
1280 rvu->rvu_dbg.npa_aura_ctx.all = all; in write_npa_ctx()
1284 rvu->rvu_dbg.npa_pool_ctx.lf = npalf; in write_npa_ctx()
1285 rvu->rvu_dbg.npa_pool_ctx.id = id; in write_npa_ctx()
1286 rvu->rvu_dbg.npa_pool_ctx.all = all; in write_npa_ctx()
1289 return -EINVAL; in write_npa_ctx()
1305 return -EFAULT; in parse_cmd_buffer_ctx()
1312 *count = cmd_buf_tmp - cmd_buf + 1; in parse_cmd_buffer_ctx()
1316 ret = subtoken ? kstrtoint(subtoken, 10, npalf) : -EINVAL; in parse_cmd_buffer_ctx()
1323 ret = subtoken ? kstrtoint(subtoken, 10, id) : -EINVAL; in parse_cmd_buffer_ctx()
1328 return -EINVAL; in parse_cmd_buffer_ctx()
1338 struct seq_file *seqfp = filp->private_data; in rvu_dbg_npa_ctx_write()
1339 struct rvu *rvu = seqfp->private; in rvu_dbg_npa_ctx_write()
1344 return -EINVAL; in rvu_dbg_npa_ctx_write()
1352 dev_info(rvu->dev, in rvu_dbg_npa_ctx_write()
1403 rvu = s->private; in ndc_cache_stats()
1405 nix_hw = s->private; in ndc_cache_stats()
1406 rvu = nix_hw->rvu; in ndc_cache_stats()
1421 seq_printf(s, "\tTotal Requests:\t\t%lld\n", req); in ndc_cache_stats()
1422 seq_printf(s, "\tTotal Time Taken:\t%lld cycles\n", lat); in ndc_cache_stats()
1423 seq_printf(s, "\tAvg Latency:\t\t%lld cycles\n", lat / req); in ndc_cache_stats()
1424 seq_printf(s, "\tOutstanding Requests:\t%lld\n", out_req); in ndc_cache_stats()
1425 seq_printf(s, "\tCant Alloc Requests:\t%lld\n", cant_alloc); in ndc_cache_stats()
1435 seq_puts(s, "\n***** BY-PASS mode read stats *****\n"); in ndc_blk_cache_stats()
1437 seq_puts(s, "\n***** BY-PASS mode write stats *****\n"); in ndc_blk_cache_stats()
1457 rvu = s->private; in ndc_blk_hits_miss_stats()
1459 nix_hw = s->private; in ndc_blk_hits_miss_stats()
1460 rvu = nix_hw->rvu; in ndc_blk_hits_miss_stats()
1467 seq_printf(s, "\tHits:\t%lld\n", in ndc_blk_hits_miss_stats()
1470 seq_printf(s, "\tMiss:\t%lld\n", in ndc_blk_hits_miss_stats()
1479 struct nix_hw *nix_hw = filp->private; in rvu_dbg_nix_ndc_rx_cache_display()
1483 blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ? in rvu_dbg_nix_ndc_rx_cache_display()
1485 ndc_idx = (nix_hw->blkaddr == BLKADDR_NIX1 ? NIX1_RX : NIX0_RX); in rvu_dbg_nix_ndc_rx_cache_display()
1494 struct nix_hw *nix_hw = filp->private; in rvu_dbg_nix_ndc_tx_cache_display()
1498 blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ? in rvu_dbg_nix_ndc_tx_cache_display()
1500 ndc_idx = (nix_hw->blkaddr == BLKADDR_NIX1 ? NIX1_TX : NIX0_TX); in rvu_dbg_nix_ndc_tx_cache_display()
1518 struct nix_hw *nix_hw = filp->private; in rvu_dbg_nix_ndc_rx_hits_miss_display()
1522 blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ? in rvu_dbg_nix_ndc_rx_hits_miss_display()
1533 struct nix_hw *nix_hw = filp->private; in rvu_dbg_nix_ndc_tx_hits_miss_display()
1537 blkaddr = (nix_hw->blkaddr == BLKADDR_NIX1 ? in rvu_dbg_nix_ndc_tx_hits_miss_display()
1548 seq_printf(m, "W0: ena \t\t\t%d\nW0: qint_idx \t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1549 sq_ctx->ena, sq_ctx->qint_idx); in print_nix_cn10k_sq_ctx()
1550 seq_printf(m, "W0: substream \t\t\t0x%03x\nW0: sdp_mcast \t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1551 sq_ctx->substream, sq_ctx->sdp_mcast); in print_nix_cn10k_sq_ctx()
1552 seq_printf(m, "W0: cq \t\t\t\t%d\nW0: sqe_way_mask \t\t%d\n\n", in print_nix_cn10k_sq_ctx()
1553 sq_ctx->cq, sq_ctx->sqe_way_mask); in print_nix_cn10k_sq_ctx()
1555 seq_printf(m, "W1: smq \t\t\t%d\nW1: cq_ena \t\t\t%d\nW1: xoff\t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1556 sq_ctx->smq, sq_ctx->cq_ena, sq_ctx->xoff); in print_nix_cn10k_sq_ctx()
1557 seq_printf(m, "W1: sso_ena \t\t\t%d\nW1: smq_rr_weight\t\t%d\n", in print_nix_cn10k_sq_ctx()
1558 sq_ctx->sso_ena, sq_ctx->smq_rr_weight); in print_nix_cn10k_sq_ctx()
1559 seq_printf(m, "W1: default_chan\t\t%d\nW1: sqb_count\t\t\t%d\n\n", in print_nix_cn10k_sq_ctx()
1560 sq_ctx->default_chan, sq_ctx->sqb_count); in print_nix_cn10k_sq_ctx()
1562 seq_printf(m, "W2: smq_rr_count_lb \t\t%d\n", sq_ctx->smq_rr_count_lb); in print_nix_cn10k_sq_ctx()
1563 seq_printf(m, "W2: smq_rr_count_ub \t\t%d\n", sq_ctx->smq_rr_count_ub); in print_nix_cn10k_sq_ctx()
1564 seq_printf(m, "W2: sqb_aura \t\t\t%d\nW2: sq_int \t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1565 sq_ctx->sqb_aura, sq_ctx->sq_int); in print_nix_cn10k_sq_ctx()
1566 seq_printf(m, "W2: sq_int_ena \t\t\t%d\nW2: sqe_stype \t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1567 sq_ctx->sq_int_ena, sq_ctx->sqe_stype); in print_nix_cn10k_sq_ctx()
1569 seq_printf(m, "W3: max_sqe_size\t\t%d\nW3: cq_limit\t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1570 sq_ctx->max_sqe_size, sq_ctx->cq_limit); in print_nix_cn10k_sq_ctx()
1571 seq_printf(m, "W3: lmt_dis \t\t\t%d\nW3: mnq_dis \t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1572 sq_ctx->mnq_dis, sq_ctx->lmt_dis); in print_nix_cn10k_sq_ctx()
1573 seq_printf(m, "W3: smq_next_sq\t\t\t%d\nW3: smq_lso_segnum\t\t%d\n", in print_nix_cn10k_sq_ctx()
1574 sq_ctx->smq_next_sq, sq_ctx->smq_lso_segnum); in print_nix_cn10k_sq_ctx()
1575 seq_printf(m, "W3: tail_offset \t\t%d\nW3: smenq_offset\t\t%d\n", in print_nix_cn10k_sq_ctx()
1576 sq_ctx->tail_offset, sq_ctx->smenq_offset); in print_nix_cn10k_sq_ctx()
1577 seq_printf(m, "W3: head_offset\t\t\t%d\nW3: smenq_next_sqb_vld\t\t%d\n\n", in print_nix_cn10k_sq_ctx()
1578 sq_ctx->head_offset, sq_ctx->smenq_next_sqb_vld); in print_nix_cn10k_sq_ctx()
1580 seq_printf(m, "W3: smq_next_sq_vld\t\t%d\nW3: smq_pend\t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1581 sq_ctx->smq_next_sq_vld, sq_ctx->smq_pend); in print_nix_cn10k_sq_ctx()
1582 seq_printf(m, "W4: next_sqb \t\t\t%llx\n\n", sq_ctx->next_sqb); in print_nix_cn10k_sq_ctx()
1583 seq_printf(m, "W5: tail_sqb \t\t\t%llx\n\n", sq_ctx->tail_sqb); in print_nix_cn10k_sq_ctx()
1584 seq_printf(m, "W6: smenq_sqb \t\t\t%llx\n\n", sq_ctx->smenq_sqb); in print_nix_cn10k_sq_ctx()
1585 seq_printf(m, "W7: smenq_next_sqb \t\t%llx\n\n", in print_nix_cn10k_sq_ctx()
1586 sq_ctx->smenq_next_sqb); in print_nix_cn10k_sq_ctx()
1588 seq_printf(m, "W8: head_sqb\t\t\t%llx\n\n", sq_ctx->head_sqb); in print_nix_cn10k_sq_ctx()
1590 seq_printf(m, "W9: vfi_lso_total\t\t%d\n", sq_ctx->vfi_lso_total); in print_nix_cn10k_sq_ctx()
1591 seq_printf(m, "W9: vfi_lso_sizem1\t\t%d\nW9: vfi_lso_sb\t\t\t%d\n", in print_nix_cn10k_sq_ctx()
1592 sq_ctx->vfi_lso_sizem1, sq_ctx->vfi_lso_sb); in print_nix_cn10k_sq_ctx()
1593 seq_printf(m, "W9: vfi_lso_mps\t\t\t%d\nW9: vfi_lso_vlan0_ins_ena\t%d\n", in print_nix_cn10k_sq_ctx()
1594 sq_ctx->vfi_lso_mps, sq_ctx->vfi_lso_vlan0_ins_ena); in print_nix_cn10k_sq_ctx()
1595 seq_printf(m, "W9: vfi_lso_vlan1_ins_ena\t%d\nW9: vfi_lso_vld \t\t%d\n\n", in print_nix_cn10k_sq_ctx()
1596 sq_ctx->vfi_lso_vld, sq_ctx->vfi_lso_vlan1_ins_ena); in print_nix_cn10k_sq_ctx()
1598 seq_printf(m, "W10: scm_lso_rem \t\t%llu\n\n", in print_nix_cn10k_sq_ctx()
1599 (u64)sq_ctx->scm_lso_rem); in print_nix_cn10k_sq_ctx()
1600 seq_printf(m, "W11: octs \t\t\t%llu\n\n", (u64)sq_ctx->octs); in print_nix_cn10k_sq_ctx()
1601 seq_printf(m, "W12: pkts \t\t\t%llu\n\n", (u64)sq_ctx->pkts); in print_nix_cn10k_sq_ctx()
1602 seq_printf(m, "W14: dropped_octs \t\t%llu\n\n", in print_nix_cn10k_sq_ctx()
1603 (u64)sq_ctx->dropped_octs); in print_nix_cn10k_sq_ctx()
1604 seq_printf(m, "W15: dropped_pkts \t\t%llu\n\n", in print_nix_cn10k_sq_ctx()
1605 (u64)sq_ctx->dropped_pkts); in print_nix_cn10k_sq_ctx()
1611 struct nix_sq_ctx_s *sq_ctx = &rsp->sq; in print_nix_sq_ctx()
1612 struct nix_hw *nix_hw = m->private; in print_nix_sq_ctx()
1613 struct rvu *rvu = nix_hw->rvu; in print_nix_sq_ctx()
1619 seq_printf(m, "W0: sqe_way_mask \t\t%d\nW0: cq \t\t\t\t%d\n", in print_nix_sq_ctx()
1620 sq_ctx->sqe_way_mask, sq_ctx->cq); in print_nix_sq_ctx()
1621 seq_printf(m, "W0: sdp_mcast \t\t\t%d\nW0: substream \t\t\t0x%03x\n", in print_nix_sq_ctx()
1622 sq_ctx->sdp_mcast, sq_ctx->substream); in print_nix_sq_ctx()
1623 seq_printf(m, "W0: qint_idx \t\t\t%d\nW0: ena \t\t\t%d\n\n", in print_nix_sq_ctx()
1624 sq_ctx->qint_idx, sq_ctx->ena); in print_nix_sq_ctx()
1626 seq_printf(m, "W1: sqb_count \t\t\t%d\nW1: default_chan \t\t%d\n", in print_nix_sq_ctx()
1627 sq_ctx->sqb_count, sq_ctx->default_chan); in print_nix_sq_ctx()
1628 seq_printf(m, "W1: smq_rr_quantum \t\t%d\nW1: sso_ena \t\t\t%d\n", in print_nix_sq_ctx()
1629 sq_ctx->smq_rr_quantum, sq_ctx->sso_ena); in print_nix_sq_ctx()
1630 seq_printf(m, "W1: xoff \t\t\t%d\nW1: cq_ena \t\t\t%d\nW1: smq\t\t\t\t%d\n\n", in print_nix_sq_ctx()
1631 sq_ctx->xoff, sq_ctx->cq_ena, sq_ctx->smq); in print_nix_sq_ctx()
1633 seq_printf(m, "W2: sqe_stype \t\t\t%d\nW2: sq_int_ena \t\t\t%d\n", in print_nix_sq_ctx()
1634 sq_ctx->sqe_stype, sq_ctx->sq_int_ena); in print_nix_sq_ctx()
1635 seq_printf(m, "W2: sq_int \t\t\t%d\nW2: sqb_aura \t\t\t%d\n", in print_nix_sq_ctx()
1636 sq_ctx->sq_int, sq_ctx->sqb_aura); in print_nix_sq_ctx()
1637 seq_printf(m, "W2: smq_rr_count \t\t%d\n\n", sq_ctx->smq_rr_count); in print_nix_sq_ctx()
1639 seq_printf(m, "W3: smq_next_sq_vld\t\t%d\nW3: smq_pend\t\t\t%d\n", in print_nix_sq_ctx()
1640 sq_ctx->smq_next_sq_vld, sq_ctx->smq_pend); in print_nix_sq_ctx()
1641 seq_printf(m, "W3: smenq_next_sqb_vld \t\t%d\nW3: head_offset\t\t\t%d\n", in print_nix_sq_ctx()
1642 sq_ctx->smenq_next_sqb_vld, sq_ctx->head_offset); in print_nix_sq_ctx()
1643 seq_printf(m, "W3: smenq_offset\t\t%d\nW3: tail_offset\t\t\t%d\n", in print_nix_sq_ctx()
1644 sq_ctx->smenq_offset, sq_ctx->tail_offset); in print_nix_sq_ctx()
1645 seq_printf(m, "W3: smq_lso_segnum \t\t%d\nW3: smq_next_sq\t\t\t%d\n", in print_nix_sq_ctx()
1646 sq_ctx->smq_lso_segnum, sq_ctx->smq_next_sq); in print_nix_sq_ctx()
1647 seq_printf(m, "W3: mnq_dis \t\t\t%d\nW3: lmt_dis \t\t\t%d\n", in print_nix_sq_ctx()
1648 sq_ctx->mnq_dis, sq_ctx->lmt_dis); in print_nix_sq_ctx()
1649 seq_printf(m, "W3: cq_limit\t\t\t%d\nW3: max_sqe_size\t\t%d\n\n", in print_nix_sq_ctx()
1650 sq_ctx->cq_limit, sq_ctx->max_sqe_size); in print_nix_sq_ctx()
1652 seq_printf(m, "W4: next_sqb \t\t\t%llx\n\n", sq_ctx->next_sqb); in print_nix_sq_ctx()
1653 seq_printf(m, "W5: tail_sqb \t\t\t%llx\n\n", sq_ctx->tail_sqb); in print_nix_sq_ctx()
1654 seq_printf(m, "W6: smenq_sqb \t\t\t%llx\n\n", sq_ctx->smenq_sqb); in print_nix_sq_ctx()
1655 seq_printf(m, "W7: smenq_next_sqb \t\t%llx\n\n", in print_nix_sq_ctx()
1656 sq_ctx->smenq_next_sqb); in print_nix_sq_ctx()
1658 seq_printf(m, "W8: head_sqb\t\t\t%llx\n\n", sq_ctx->head_sqb); in print_nix_sq_ctx()
1660 seq_printf(m, "W9: vfi_lso_vld\t\t\t%d\nW9: vfi_lso_vlan1_ins_ena\t%d\n", in print_nix_sq_ctx()
1661 sq_ctx->vfi_lso_vld, sq_ctx->vfi_lso_vlan1_ins_ena); in print_nix_sq_ctx()
1662 seq_printf(m, "W9: vfi_lso_vlan0_ins_ena\t%d\nW9: vfi_lso_mps\t\t\t%d\n", in print_nix_sq_ctx()
1663 sq_ctx->vfi_lso_vlan0_ins_ena, sq_ctx->vfi_lso_mps); in print_nix_sq_ctx()
1664 seq_printf(m, "W9: vfi_lso_sb\t\t\t%d\nW9: vfi_lso_sizem1\t\t%d\n", in print_nix_sq_ctx()
1665 sq_ctx->vfi_lso_sb, sq_ctx->vfi_lso_sizem1); in print_nix_sq_ctx()
1666 seq_printf(m, "W9: vfi_lso_total\t\t%d\n\n", sq_ctx->vfi_lso_total); in print_nix_sq_ctx()
1668 seq_printf(m, "W10: scm_lso_rem \t\t%llu\n\n", in print_nix_sq_ctx()
1669 (u64)sq_ctx->scm_lso_rem); in print_nix_sq_ctx()
1670 seq_printf(m, "W11: octs \t\t\t%llu\n\n", (u64)sq_ctx->octs); in print_nix_sq_ctx()
1671 seq_printf(m, "W12: pkts \t\t\t%llu\n\n", (u64)sq_ctx->pkts); in print_nix_sq_ctx()
1672 seq_printf(m, "W14: dropped_octs \t\t%llu\n\n", in print_nix_sq_ctx()
1673 (u64)sq_ctx->dropped_octs); in print_nix_sq_ctx()
1674 seq_printf(m, "W15: dropped_pkts \t\t%llu\n\n", in print_nix_sq_ctx()
1675 (u64)sq_ctx->dropped_pkts); in print_nix_sq_ctx()
1681 seq_printf(m, "W0: ena \t\t\t%d\nW0: sso_ena \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1682 rq_ctx->ena, rq_ctx->sso_ena); in print_nix_cn10k_rq_ctx()
1683 seq_printf(m, "W0: ipsech_ena \t\t\t%d\nW0: ena_wqwd \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1684 rq_ctx->ipsech_ena, rq_ctx->ena_wqwd); in print_nix_cn10k_rq_ctx()
1685 seq_printf(m, "W0: cq \t\t\t\t%d\nW0: lenerr_dis \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1686 rq_ctx->cq, rq_ctx->lenerr_dis); in print_nix_cn10k_rq_ctx()
1687 seq_printf(m, "W0: csum_il4_dis \t\t%d\nW0: csum_ol4_dis \t\t%d\n", in print_nix_cn10k_rq_ctx()
1688 rq_ctx->csum_il4_dis, rq_ctx->csum_ol4_dis); in print_nix_cn10k_rq_ctx()
1689 seq_printf(m, "W0: len_il4_dis \t\t%d\nW0: len_il3_dis \t\t%d\n", in print_nix_cn10k_rq_ctx()
1690 rq_ctx->len_il4_dis, rq_ctx->len_il3_dis); in print_nix_cn10k_rq_ctx()
1691 seq_printf(m, "W0: len_ol4_dis \t\t%d\nW0: len_ol3_dis \t\t%d\n", in print_nix_cn10k_rq_ctx()
1692 rq_ctx->len_ol4_dis, rq_ctx->len_ol3_dis); in print_nix_cn10k_rq_ctx()
1693 seq_printf(m, "W0: wqe_aura \t\t\t%d\n\n", rq_ctx->wqe_aura); in print_nix_cn10k_rq_ctx()
1695 seq_printf(m, "W1: spb_aura \t\t\t%d\nW1: lpb_aura \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1696 rq_ctx->spb_aura, rq_ctx->lpb_aura); in print_nix_cn10k_rq_ctx()
1697 seq_printf(m, "W1: spb_aura \t\t\t%d\n", rq_ctx->spb_aura); in print_nix_cn10k_rq_ctx()
1698 seq_printf(m, "W1: sso_grp \t\t\t%d\nW1: sso_tt \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1699 rq_ctx->sso_grp, rq_ctx->sso_tt); in print_nix_cn10k_rq_ctx()
1700 seq_printf(m, "W1: pb_caching \t\t\t%d\nW1: wqe_caching \t\t%d\n", in print_nix_cn10k_rq_ctx()
1701 rq_ctx->pb_caching, rq_ctx->wqe_caching); in print_nix_cn10k_rq_ctx()
1702 seq_printf(m, "W1: xqe_drop_ena \t\t%d\nW1: spb_drop_ena \t\t%d\n", in print_nix_cn10k_rq_ctx()
1703 rq_ctx->xqe_drop_ena, rq_ctx->spb_drop_ena); in print_nix_cn10k_rq_ctx()
1704 seq_printf(m, "W1: lpb_drop_ena \t\t%d\nW1: pb_stashing \t\t%d\n", in print_nix_cn10k_rq_ctx()
1705 rq_ctx->lpb_drop_ena, rq_ctx->pb_stashing); in print_nix_cn10k_rq_ctx()
1706 seq_printf(m, "W1: ipsecd_drop_ena \t\t%d\nW1: chi_ena \t\t\t%d\n\n", in print_nix_cn10k_rq_ctx()
1707 rq_ctx->ipsecd_drop_ena, rq_ctx->chi_ena); in print_nix_cn10k_rq_ctx()
1709 seq_printf(m, "W2: band_prof_id \t\t%d\n", rq_ctx->band_prof_id); in print_nix_cn10k_rq_ctx()
1710 seq_printf(m, "W2: policer_ena \t\t%d\n", rq_ctx->policer_ena); in print_nix_cn10k_rq_ctx()
1711 seq_printf(m, "W2: spb_sizem1 \t\t\t%d\n", rq_ctx->spb_sizem1); in print_nix_cn10k_rq_ctx()
1712 seq_printf(m, "W2: wqe_skip \t\t\t%d\nW2: sqb_ena \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1713 rq_ctx->wqe_skip, rq_ctx->spb_ena); in print_nix_cn10k_rq_ctx()
1714 seq_printf(m, "W2: lpb_size1 \t\t\t%d\nW2: first_skip \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1715 rq_ctx->lpb_sizem1, rq_ctx->first_skip); in print_nix_cn10k_rq_ctx()
1716 seq_printf(m, "W2: later_skip\t\t\t%d\nW2: xqe_imm_size\t\t%d\n", in print_nix_cn10k_rq_ctx()
1717 rq_ctx->later_skip, rq_ctx->xqe_imm_size); in print_nix_cn10k_rq_ctx()
1718 seq_printf(m, "W2: xqe_imm_copy \t\t%d\nW2: xqe_hdr_split \t\t%d\n\n", in print_nix_cn10k_rq_ctx()
1719 rq_ctx->xqe_imm_copy, rq_ctx->xqe_hdr_split); in print_nix_cn10k_rq_ctx()
1721 seq_printf(m, "W3: xqe_drop \t\t\t%d\nW3: xqe_pass \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1722 rq_ctx->xqe_drop, rq_ctx->xqe_pass); in print_nix_cn10k_rq_ctx()
1723 seq_printf(m, "W3: wqe_pool_drop \t\t%d\nW3: wqe_pool_pass \t\t%d\n", in print_nix_cn10k_rq_ctx()
1724 rq_ctx->wqe_pool_drop, rq_ctx->wqe_pool_pass); in print_nix_cn10k_rq_ctx()
1725 seq_printf(m, "W3: spb_pool_drop \t\t%d\nW3: spb_pool_pass \t\t%d\n", in print_nix_cn10k_rq_ctx()
1726 rq_ctx->spb_pool_drop, rq_ctx->spb_pool_pass); in print_nix_cn10k_rq_ctx()
1727 seq_printf(m, "W3: spb_aura_drop \t\t%d\nW3: spb_aura_pass \t\t%d\n\n", in print_nix_cn10k_rq_ctx()
1728 rq_ctx->spb_aura_pass, rq_ctx->spb_aura_drop); in print_nix_cn10k_rq_ctx()
1730 seq_printf(m, "W4: lpb_aura_drop \t\t%d\nW3: lpb_aura_pass \t\t%d\n", in print_nix_cn10k_rq_ctx()
1731 rq_ctx->lpb_aura_pass, rq_ctx->lpb_aura_drop); in print_nix_cn10k_rq_ctx()
1732 seq_printf(m, "W4: lpb_pool_drop \t\t%d\nW3: lpb_pool_pass \t\t%d\n", in print_nix_cn10k_rq_ctx()
1733 rq_ctx->lpb_pool_drop, rq_ctx->lpb_pool_pass); in print_nix_cn10k_rq_ctx()
1734 seq_printf(m, "W4: rq_int \t\t\t%d\nW4: rq_int_ena\t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1735 rq_ctx->rq_int, rq_ctx->rq_int_ena); in print_nix_cn10k_rq_ctx()
1736 seq_printf(m, "W4: qint_idx \t\t\t%d\n\n", rq_ctx->qint_idx); in print_nix_cn10k_rq_ctx()
1738 seq_printf(m, "W5: ltag \t\t\t%d\nW5: good_utag \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1739 rq_ctx->ltag, rq_ctx->good_utag); in print_nix_cn10k_rq_ctx()
1740 seq_printf(m, "W5: bad_utag \t\t\t%d\nW5: flow_tagw \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1741 rq_ctx->bad_utag, rq_ctx->flow_tagw); in print_nix_cn10k_rq_ctx()
1742 seq_printf(m, "W5: ipsec_vwqe \t\t\t%d\nW5: vwqe_ena \t\t\t%d\n", in print_nix_cn10k_rq_ctx()
1743 rq_ctx->ipsec_vwqe, rq_ctx->vwqe_ena); in print_nix_cn10k_rq_ctx()
1744 seq_printf(m, "W5: vwqe_wait \t\t\t%d\nW5: max_vsize_exp\t\t%d\n", in print_nix_cn10k_rq_ctx()
1745 rq_ctx->vwqe_wait, rq_ctx->max_vsize_exp); in print_nix_cn10k_rq_ctx()
1746 seq_printf(m, "W5: vwqe_skip \t\t\t%d\n\n", rq_ctx->vwqe_skip); in print_nix_cn10k_rq_ctx()
1748 seq_printf(m, "W6: octs \t\t\t%llu\n\n", (u64)rq_ctx->octs); in print_nix_cn10k_rq_ctx()
1749 seq_printf(m, "W7: pkts \t\t\t%llu\n\n", (u64)rq_ctx->pkts); in print_nix_cn10k_rq_ctx()
1750 seq_printf(m, "W8: drop_octs \t\t\t%llu\n\n", (u64)rq_ctx->drop_octs); in print_nix_cn10k_rq_ctx()
1751 seq_printf(m, "W9: drop_pkts \t\t\t%llu\n\n", (u64)rq_ctx->drop_pkts); in print_nix_cn10k_rq_ctx()
1752 seq_printf(m, "W10: re_pkts \t\t\t%llu\n", (u64)rq_ctx->re_pkts); in print_nix_cn10k_rq_ctx()
1758 struct nix_rq_ctx_s *rq_ctx = &rsp->rq; in print_nix_rq_ctx()
1759 struct nix_hw *nix_hw = m->private; in print_nix_rq_ctx()
1760 struct rvu *rvu = nix_hw->rvu; in print_nix_rq_ctx()
1767 seq_printf(m, "W0: wqe_aura \t\t\t%d\nW0: substream \t\t\t0x%03x\n", in print_nix_rq_ctx()
1768 rq_ctx->wqe_aura, rq_ctx->substream); in print_nix_rq_ctx()
1769 seq_printf(m, "W0: cq \t\t\t\t%d\nW0: ena_wqwd \t\t\t%d\n", in print_nix_rq_ctx()
1770 rq_ctx->cq, rq_ctx->ena_wqwd); in print_nix_rq_ctx()
1771 seq_printf(m, "W0: ipsech_ena \t\t\t%d\nW0: sso_ena \t\t\t%d\n", in print_nix_rq_ctx()
1772 rq_ctx->ipsech_ena, rq_ctx->sso_ena); in print_nix_rq_ctx()
1773 seq_printf(m, "W0: ena \t\t\t%d\n\n", rq_ctx->ena); in print_nix_rq_ctx()
1775 seq_printf(m, "W1: lpb_drop_ena \t\t%d\nW1: spb_drop_ena \t\t%d\n", in print_nix_rq_ctx()
1776 rq_ctx->lpb_drop_ena, rq_ctx->spb_drop_ena); in print_nix_rq_ctx()
1777 seq_printf(m, "W1: xqe_drop_ena \t\t%d\nW1: wqe_caching \t\t%d\n", in print_nix_rq_ctx()
1778 rq_ctx->xqe_drop_ena, rq_ctx->wqe_caching); in print_nix_rq_ctx()
1779 seq_printf(m, "W1: pb_caching \t\t\t%d\nW1: sso_tt \t\t\t%d\n", in print_nix_rq_ctx()
1780 rq_ctx->pb_caching, rq_ctx->sso_tt); in print_nix_rq_ctx()
1781 seq_printf(m, "W1: sso_grp \t\t\t%d\nW1: lpb_aura \t\t\t%d\n", in print_nix_rq_ctx()
1782 rq_ctx->sso_grp, rq_ctx->lpb_aura); in print_nix_rq_ctx()
1783 seq_printf(m, "W1: spb_aura \t\t\t%d\n\n", rq_ctx->spb_aura); in print_nix_rq_ctx()
1785 seq_printf(m, "W2: xqe_hdr_split \t\t%d\nW2: xqe_imm_copy \t\t%d\n", in print_nix_rq_ctx()
1786 rq_ctx->xqe_hdr_split, rq_ctx->xqe_imm_copy); in print_nix_rq_ctx()
1787 seq_printf(m, "W2: xqe_imm_size \t\t%d\nW2: later_skip \t\t\t%d\n", in print_nix_rq_ctx()
1788 rq_ctx->xqe_imm_size, rq_ctx->later_skip); in print_nix_rq_ctx()
1789 seq_printf(m, "W2: first_skip \t\t\t%d\nW2: lpb_sizem1 \t\t\t%d\n", in print_nix_rq_ctx()
1790 rq_ctx->first_skip, rq_ctx->lpb_sizem1); in print_nix_rq_ctx()
1791 seq_printf(m, "W2: spb_ena \t\t\t%d\nW2: wqe_skip \t\t\t%d\n", in print_nix_rq_ctx()
1792 rq_ctx->spb_ena, rq_ctx->wqe_skip); in print_nix_rq_ctx()
1793 seq_printf(m, "W2: spb_sizem1 \t\t\t%d\n\n", rq_ctx->spb_sizem1); in print_nix_rq_ctx()
1795 seq_printf(m, "W3: spb_pool_pass \t\t%d\nW3: spb_pool_drop \t\t%d\n", in print_nix_rq_ctx()
1796 rq_ctx->spb_pool_pass, rq_ctx->spb_pool_drop); in print_nix_rq_ctx()
1797 seq_printf(m, "W3: spb_aura_pass \t\t%d\nW3: spb_aura_drop \t\t%d\n", in print_nix_rq_ctx()
1798 rq_ctx->spb_aura_pass, rq_ctx->spb_aura_drop); in print_nix_rq_ctx()
1799 seq_printf(m, "W3: wqe_pool_pass \t\t%d\nW3: wqe_pool_drop \t\t%d\n", in print_nix_rq_ctx()
1800 rq_ctx->wqe_pool_pass, rq_ctx->wqe_pool_drop); in print_nix_rq_ctx()
1801 seq_printf(m, "W3: xqe_pass \t\t\t%d\nW3: xqe_drop \t\t\t%d\n\n", in print_nix_rq_ctx()
1802 rq_ctx->xqe_pass, rq_ctx->xqe_drop); in print_nix_rq_ctx()
1804 seq_printf(m, "W4: qint_idx \t\t\t%d\nW4: rq_int_ena \t\t\t%d\n", in print_nix_rq_ctx()
1805 rq_ctx->qint_idx, rq_ctx->rq_int_ena); in print_nix_rq_ctx()
1806 seq_printf(m, "W4: rq_int \t\t\t%d\nW4: lpb_pool_pass \t\t%d\n", in print_nix_rq_ctx()
1807 rq_ctx->rq_int, rq_ctx->lpb_pool_pass); in print_nix_rq_ctx()
1808 seq_printf(m, "W4: lpb_pool_drop \t\t%d\nW4: lpb_aura_pass \t\t%d\n", in print_nix_rq_ctx()
1809 rq_ctx->lpb_pool_drop, rq_ctx->lpb_aura_pass); in print_nix_rq_ctx()
1810 seq_printf(m, "W4: lpb_aura_drop \t\t%d\n\n", rq_ctx->lpb_aura_drop); in print_nix_rq_ctx()
1812 seq_printf(m, "W5: flow_tagw \t\t\t%d\nW5: bad_utag \t\t\t%d\n", in print_nix_rq_ctx()
1813 rq_ctx->flow_tagw, rq_ctx->bad_utag); in print_nix_rq_ctx()
1814 seq_printf(m, "W5: good_utag \t\t\t%d\nW5: ltag \t\t\t%d\n\n", in print_nix_rq_ctx()
1815 rq_ctx->good_utag, rq_ctx->ltag); in print_nix_rq_ctx()
1817 seq_printf(m, "W6: octs \t\t\t%llu\n\n", (u64)rq_ctx->octs); in print_nix_rq_ctx()
1818 seq_printf(m, "W7: pkts \t\t\t%llu\n\n", (u64)rq_ctx->pkts); in print_nix_rq_ctx()
1819 seq_printf(m, "W8: drop_octs \t\t\t%llu\n\n", (u64)rq_ctx->drop_octs); in print_nix_rq_ctx()
1820 seq_printf(m, "W9: drop_pkts \t\t\t%llu\n\n", (u64)rq_ctx->drop_pkts); in print_nix_rq_ctx()
1821 seq_printf(m, "W10: re_pkts \t\t\t%llu\n", (u64)rq_ctx->re_pkts); in print_nix_rq_ctx()
1827 struct nix_cq_ctx_s *cq_ctx = &rsp->cq; in print_nix_cq_ctx()
1828 struct nix_hw *nix_hw = m->private; in print_nix_cq_ctx()
1829 struct rvu *rvu = nix_hw->rvu; in print_nix_cq_ctx()
1831 seq_printf(m, "W0: base \t\t\t%llx\n\n", cq_ctx->base); in print_nix_cq_ctx()
1833 seq_printf(m, "W1: wrptr \t\t\t%llx\n", (u64)cq_ctx->wrptr); in print_nix_cq_ctx()
1834 seq_printf(m, "W1: avg_con \t\t\t%d\nW1: cint_idx \t\t\t%d\n", in print_nix_cq_ctx()
1835 cq_ctx->avg_con, cq_ctx->cint_idx); in print_nix_cq_ctx()
1836 seq_printf(m, "W1: cq_err \t\t\t%d\nW1: qint_idx \t\t\t%d\n", in print_nix_cq_ctx()
1837 cq_ctx->cq_err, cq_ctx->qint_idx); in print_nix_cq_ctx()
1838 seq_printf(m, "W1: bpid \t\t\t%d\nW1: bp_ena \t\t\t%d\n\n", in print_nix_cq_ctx()
1839 cq_ctx->bpid, cq_ctx->bp_ena); in print_nix_cq_ctx()
1842 seq_printf(m, "W1: lbpid_high \t\t\t0x%03x\n", cq_ctx->lbpid_high); in print_nix_cq_ctx()
1843 seq_printf(m, "W1: lbpid_med \t\t\t0x%03x\n", cq_ctx->lbpid_med); in print_nix_cq_ctx()
1844 seq_printf(m, "W1: lbpid_low \t\t\t0x%03x\n", cq_ctx->lbpid_low); in print_nix_cq_ctx()
1845 seq_printf(m, "(W1: lbpid) \t\t\t0x%03x\n", in print_nix_cq_ctx()
1846 cq_ctx->lbpid_high << 6 | cq_ctx->lbpid_med << 3 | in print_nix_cq_ctx()
1847 cq_ctx->lbpid_low); in print_nix_cq_ctx()
1848 seq_printf(m, "W1: lbp_ena \t\t\t\t%d\n\n", cq_ctx->lbp_ena); in print_nix_cq_ctx()
1851 seq_printf(m, "W2: update_time \t\t%d\nW2:avg_level \t\t\t%d\n", in print_nix_cq_ctx()
1852 cq_ctx->update_time, cq_ctx->avg_level); in print_nix_cq_ctx()
1853 seq_printf(m, "W2: head \t\t\t%d\nW2:tail \t\t\t%d\n\n", in print_nix_cq_ctx()
1854 cq_ctx->head, cq_ctx->tail); in print_nix_cq_ctx()
1856 seq_printf(m, "W3: cq_err_int_ena \t\t%d\nW3:cq_err_int \t\t\t%d\n", in print_nix_cq_ctx()
1857 cq_ctx->cq_err_int_ena, cq_ctx->cq_err_int); in print_nix_cq_ctx()
1858 seq_printf(m, "W3: qsize \t\t\t%d\nW3:caching \t\t\t%d\n", in print_nix_cq_ctx()
1859 cq_ctx->qsize, cq_ctx->caching); in print_nix_cq_ctx()
1860 seq_printf(m, "W3: substream \t\t\t0x%03x\nW3: ena \t\t\t%d\n", in print_nix_cq_ctx()
1861 cq_ctx->substream, cq_ctx->ena); in print_nix_cq_ctx()
1863 seq_printf(m, "W3: lbp_frac \t\t\t%d\n", cq_ctx->lbp_frac); in print_nix_cq_ctx()
1864 seq_printf(m, "W3: cpt_drop_err_en \t\t\t%d\n", in print_nix_cq_ctx()
1865 cq_ctx->cpt_drop_err_en); in print_nix_cq_ctx()
1867 seq_printf(m, "W3: drop_ena \t\t\t%d\nW3: drop \t\t\t%d\n", in print_nix_cq_ctx()
1868 cq_ctx->drop_ena, cq_ctx->drop); in print_nix_cq_ctx()
1869 seq_printf(m, "W3: bp \t\t\t\t%d\n\n", cq_ctx->bp); in print_nix_cq_ctx()
1877 struct nix_hw *nix_hw = filp->private; in rvu_dbg_nix_queue_ctx_display()
1878 struct rvu *rvu = nix_hw->rvu; in rvu_dbg_nix_queue_ctx_display()
1889 nixlf = rvu->rvu_dbg.nix_cq_ctx.lf; in rvu_dbg_nix_queue_ctx_display()
1890 id = rvu->rvu_dbg.nix_cq_ctx.id; in rvu_dbg_nix_queue_ctx_display()
1891 all = rvu->rvu_dbg.nix_cq_ctx.all; in rvu_dbg_nix_queue_ctx_display()
1895 nixlf = rvu->rvu_dbg.nix_sq_ctx.lf; in rvu_dbg_nix_queue_ctx_display()
1896 id = rvu->rvu_dbg.nix_sq_ctx.id; in rvu_dbg_nix_queue_ctx_display()
1897 all = rvu->rvu_dbg.nix_sq_ctx.all; in rvu_dbg_nix_queue_ctx_display()
1901 nixlf = rvu->rvu_dbg.nix_rq_ctx.lf; in rvu_dbg_nix_queue_ctx_display()
1902 id = rvu->rvu_dbg.nix_rq_ctx.id; in rvu_dbg_nix_queue_ctx_display()
1903 all = rvu->rvu_dbg.nix_rq_ctx.all; in rvu_dbg_nix_queue_ctx_display()
1907 return -EINVAL; in rvu_dbg_nix_queue_ctx_display()
1910 if (!rvu_dbg_is_valid_lf(rvu, nix_hw->blkaddr, nixlf, &pcifunc)) in rvu_dbg_nix_queue_ctx_display()
1911 return -EINVAL; in rvu_dbg_nix_queue_ctx_display()
1914 if (ctype == NIX_AQ_CTYPE_SQ && !pfvf->sq_ctx) { in rvu_dbg_nix_queue_ctx_display()
1916 return -EINVAL; in rvu_dbg_nix_queue_ctx_display()
1917 } else if (ctype == NIX_AQ_CTYPE_RQ && !pfvf->rq_ctx) { in rvu_dbg_nix_queue_ctx_display()
1919 return -EINVAL; in rvu_dbg_nix_queue_ctx_display()
1920 } else if (ctype == NIX_AQ_CTYPE_CQ && !pfvf->cq_ctx) { in rvu_dbg_nix_queue_ctx_display()
1922 return -EINVAL; in rvu_dbg_nix_queue_ctx_display()
1926 max_id = pfvf->sq_ctx->qsize; in rvu_dbg_nix_queue_ctx_display()
1930 max_id = pfvf->rq_ctx->qsize; in rvu_dbg_nix_queue_ctx_display()
1934 max_id = pfvf->cq_ctx->qsize; in rvu_dbg_nix_queue_ctx_display()
1954 return -EINVAL; in rvu_dbg_nix_queue_ctx_display()
1965 struct nix_hw *nix_hw = m->private; in write_nix_queue_ctx()
1970 if (!rvu_dbg_is_valid_lf(rvu, nix_hw->blkaddr, nixlf, &pcifunc)) in write_nix_queue_ctx()
1971 return -EINVAL; in write_nix_queue_ctx()
1976 if (!pfvf->sq_ctx) { in write_nix_queue_ctx()
1977 dev_warn(rvu->dev, "SQ context is not initialized\n"); in write_nix_queue_ctx()
1978 return -EINVAL; in write_nix_queue_ctx()
1980 max_id = pfvf->sq_ctx->qsize; in write_nix_queue_ctx()
1982 if (!pfvf->rq_ctx) { in write_nix_queue_ctx()
1983 dev_warn(rvu->dev, "RQ context is not initialized\n"); in write_nix_queue_ctx()
1984 return -EINVAL; in write_nix_queue_ctx()
1986 max_id = pfvf->rq_ctx->qsize; in write_nix_queue_ctx()
1988 if (!pfvf->cq_ctx) { in write_nix_queue_ctx()
1989 dev_warn(rvu->dev, "CQ context is not initialized\n"); in write_nix_queue_ctx()
1990 return -EINVAL; in write_nix_queue_ctx()
1992 max_id = pfvf->cq_ctx->qsize; in write_nix_queue_ctx()
1996 dev_warn(rvu->dev, "Invalid %s_ctx valid range 0-%d\n", in write_nix_queue_ctx()
1997 ctype_string, max_id - 1); in write_nix_queue_ctx()
1998 return -EINVAL; in write_nix_queue_ctx()
2002 rvu->rvu_dbg.nix_cq_ctx.lf = nixlf; in write_nix_queue_ctx()
2003 rvu->rvu_dbg.nix_cq_ctx.id = id; in write_nix_queue_ctx()
2004 rvu->rvu_dbg.nix_cq_ctx.all = all; in write_nix_queue_ctx()
2008 rvu->rvu_dbg.nix_sq_ctx.lf = nixlf; in write_nix_queue_ctx()
2009 rvu->rvu_dbg.nix_sq_ctx.id = id; in write_nix_queue_ctx()
2010 rvu->rvu_dbg.nix_sq_ctx.all = all; in write_nix_queue_ctx()
2014 rvu->rvu_dbg.nix_rq_ctx.lf = nixlf; in write_nix_queue_ctx()
2015 rvu->rvu_dbg.nix_rq_ctx.id = id; in write_nix_queue_ctx()
2016 rvu->rvu_dbg.nix_rq_ctx.all = all; in write_nix_queue_ctx()
2019 return -EINVAL; in write_nix_queue_ctx()
2029 struct seq_file *m = filp->private_data; in rvu_dbg_nix_queue_ctx_write()
2030 struct nix_hw *nix_hw = m->private; in rvu_dbg_nix_queue_ctx_write()
2031 struct rvu *rvu = nix_hw->rvu; in rvu_dbg_nix_queue_ctx_write()
2037 return -EINVAL; in rvu_dbg_nix_queue_ctx_write()
2050 return -EINVAL; in rvu_dbg_nix_queue_ctx_write()
2061 dev_info(rvu->dev, in rvu_dbg_nix_queue_ctx_write()
2137 if (!pfvf->cq_ctx) in print_nix_qsize()
2140 print_nix_qctx_qsize(filp, pfvf->cq_ctx->qsize, pfvf->cq_bmap, in print_nix_qsize()
2143 if (!pfvf->rq_ctx) in print_nix_qsize()
2146 print_nix_qctx_qsize(filp, pfvf->rq_ctx->qsize, pfvf->rq_bmap, in print_nix_qsize()
2149 if (!pfvf->sq_ctx) in print_nix_qsize()
2152 print_nix_qctx_qsize(filp, pfvf->sq_ctx->qsize, pfvf->sq_bmap, in print_nix_qsize()
2176 switch (prof->pc_mode) { in print_band_prof_ctx()
2190 seq_printf(m, "W0: pc_mode\t\t%s\n", str); in print_band_prof_ctx()
2191 str = (prof->icolor == 3) ? "Color blind" : in print_band_prof_ctx()
2192 (prof->icolor == 0) ? "Green" : in print_band_prof_ctx()
2193 (prof->icolor == 1) ? "Yellow" : "Red"; in print_band_prof_ctx()
2194 seq_printf(m, "W0: icolor\t\t%s\n", str); in print_band_prof_ctx()
2195 seq_printf(m, "W0: tnl_ena\t\t%d\n", prof->tnl_ena); in print_band_prof_ctx()
2196 seq_printf(m, "W0: peir_exponent\t%d\n", prof->peir_exponent); in print_band_prof_ctx()
2197 seq_printf(m, "W0: pebs_exponent\t%d\n", prof->pebs_exponent); in print_band_prof_ctx()
2198 seq_printf(m, "W0: cir_exponent\t%d\n", prof->cir_exponent); in print_band_prof_ctx()
2199 seq_printf(m, "W0: cbs_exponent\t%d\n", prof->cbs_exponent); in print_band_prof_ctx()
2200 seq_printf(m, "W0: peir_mantissa\t%d\n", prof->peir_mantissa); in print_band_prof_ctx()
2201 seq_printf(m, "W0: pebs_mantissa\t%d\n", prof->pebs_mantissa); in print_band_prof_ctx()
2202 seq_printf(m, "W0: cir_mantissa\t%d\n", prof->cir_mantissa); in print_band_prof_ctx()
2204 seq_printf(m, "W1: cbs_mantissa\t%d\n", prof->cbs_mantissa); in print_band_prof_ctx()
2205 str = (prof->lmode == 0) ? "byte" : "packet"; in print_band_prof_ctx()
2206 seq_printf(m, "W1: lmode\t\t%s\n", str); in print_band_prof_ctx()
2207 seq_printf(m, "W1: l_select\t\t%d\n", prof->l_sellect); in print_band_prof_ctx()
2208 seq_printf(m, "W1: rdiv\t\t%d\n", prof->rdiv); in print_band_prof_ctx()
2209 seq_printf(m, "W1: adjust_exponent\t%d\n", prof->adjust_exponent); in print_band_prof_ctx()
2210 seq_printf(m, "W1: adjust_mantissa\t%d\n", prof->adjust_mantissa); in print_band_prof_ctx()
2211 str = (prof->gc_action == 0) ? "PASS" : in print_band_prof_ctx()
2212 (prof->gc_action == 1) ? "DROP" : "RED"; in print_band_prof_ctx()
2213 seq_printf(m, "W1: gc_action\t\t%s\n", str); in print_band_prof_ctx()
2214 str = (prof->yc_action == 0) ? "PASS" : in print_band_prof_ctx()
2215 (prof->yc_action == 1) ? "DROP" : "RED"; in print_band_prof_ctx()
2216 seq_printf(m, "W1: yc_action\t\t%s\n", str); in print_band_prof_ctx()
2217 str = (prof->rc_action == 0) ? "PASS" : in print_band_prof_ctx()
2218 (prof->rc_action == 1) ? "DROP" : "RED"; in print_band_prof_ctx()
2219 seq_printf(m, "W1: rc_action\t\t%s\n", str); in print_band_prof_ctx()
2220 seq_printf(m, "W1: meter_algo\t\t%d\n", prof->meter_algo); in print_band_prof_ctx()
2221 seq_printf(m, "W1: band_prof_id\t%d\n", prof->band_prof_id); in print_band_prof_ctx()
2222 seq_printf(m, "W1: hl_en\t\t%d\n", prof->hl_en); in print_band_prof_ctx()
2224 seq_printf(m, "W2: ts\t\t\t%lld\n", (u64)prof->ts); in print_band_prof_ctx()
2225 seq_printf(m, "W3: pe_accum\t\t%d\n", prof->pe_accum); in print_band_prof_ctx()
2226 seq_printf(m, "W3: c_accum\t\t%d\n", prof->c_accum); in print_band_prof_ctx()
2227 seq_printf(m, "W4: green_pkt_pass\t%lld\n", in print_band_prof_ctx()
2228 (u64)prof->green_pkt_pass); in print_band_prof_ctx()
2229 seq_printf(m, "W5: yellow_pkt_pass\t%lld\n", in print_band_prof_ctx()
2230 (u64)prof->yellow_pkt_pass); in print_band_prof_ctx()
2231 seq_printf(m, "W6: red_pkt_pass\t%lld\n", (u64)prof->red_pkt_pass); in print_band_prof_ctx()
2232 seq_printf(m, "W7: green_octs_pass\t%lld\n", in print_band_prof_ctx()
2233 (u64)prof->green_octs_pass); in print_band_prof_ctx()
2234 seq_printf(m, "W8: yellow_octs_pass\t%lld\n", in print_band_prof_ctx()
2235 (u64)prof->yellow_octs_pass); in print_band_prof_ctx()
2236 seq_printf(m, "W9: red_octs_pass\t%lld\n", (u64)prof->red_octs_pass); in print_band_prof_ctx()
2237 seq_printf(m, "W10: green_pkt_drop\t%lld\n", in print_band_prof_ctx()
2238 (u64)prof->green_pkt_drop); in print_band_prof_ctx()
2239 seq_printf(m, "W11: yellow_pkt_drop\t%lld\n", in print_band_prof_ctx()
2240 (u64)prof->yellow_pkt_drop); in print_band_prof_ctx()
2241 seq_printf(m, "W12: red_pkt_drop\t%lld\n", (u64)prof->red_pkt_drop); in print_band_prof_ctx()
2242 seq_printf(m, "W13: green_octs_drop\t%lld\n", in print_band_prof_ctx()
2243 (u64)prof->green_octs_drop); in print_band_prof_ctx()
2244 seq_printf(m, "W14: yellow_octs_drop\t%lld\n", in print_band_prof_ctx()
2245 (u64)prof->yellow_octs_drop); in print_band_prof_ctx()
2246 seq_printf(m, "W15: red_octs_drop\t%lld\n", (u64)prof->red_octs_drop); in print_band_prof_ctx()
2252 struct nix_hw *nix_hw = m->private; in rvu_dbg_nix_band_prof_ctx_display()
2255 struct rvu *rvu = nix_hw->rvu; in rvu_dbg_nix_band_prof_ctx_display()
2262 if (!nix_hw->ipolicer) in rvu_dbg_nix_band_prof_ctx_display()
2274 ipolicer = &nix_hw->ipolicer[layer]; in rvu_dbg_nix_band_prof_ctx_display()
2276 for (idx = 0; idx < ipolicer->band_prof.max; idx++) { in rvu_dbg_nix_band_prof_ctx_display()
2277 if (is_rsrc_free(&ipolicer->band_prof, idx)) in rvu_dbg_nix_band_prof_ctx_display()
2285 dev_err(rvu->dev, in rvu_dbg_nix_band_prof_ctx_display()
2291 pcifunc = ipolicer->pfvf_map[idx]; in rvu_dbg_nix_band_prof_ctx_display()
2298 (pcifunc & RVU_PFVF_FUNC_MASK) - 1); in rvu_dbg_nix_band_prof_ctx_display()
2309 struct nix_hw *nix_hw = m->private; in rvu_dbg_nix_band_prof_rsrc_display()
2315 if (!nix_hw->ipolicer) in rvu_dbg_nix_band_prof_rsrc_display()
2326 ipolicer = &nix_hw->ipolicer[layer]; in rvu_dbg_nix_band_prof_rsrc_display()
2328 ipolicer->band_prof.max, in rvu_dbg_nix_band_prof_rsrc_display()
2329 rvu_rsrc_free_count(&ipolicer->band_prof)); in rvu_dbg_nix_band_prof_rsrc_display()
2342 if (!is_block_implemented(rvu->hw, blkaddr)) in rvu_dbg_nix_init()
2346 rvu->rvu_dbg.nix = debugfs_create_dir("nix", rvu->rvu_dbg.root); in rvu_dbg_nix_init()
2347 nix_hw = &rvu->hw->nix[0]; in rvu_dbg_nix_init()
2349 rvu->rvu_dbg.nix = debugfs_create_dir("nix1", in rvu_dbg_nix_init()
2350 rvu->rvu_dbg.root); in rvu_dbg_nix_init()
2351 nix_hw = &rvu->hw->nix[1]; in rvu_dbg_nix_init()
2354 debugfs_create_file("sq_ctx", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2356 debugfs_create_file("rq_ctx", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2358 debugfs_create_file("cq_ctx", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2360 debugfs_create_file("ndc_tx_cache", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2362 debugfs_create_file("ndc_rx_cache", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2364 debugfs_create_file("ndc_tx_hits_miss", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2366 debugfs_create_file("ndc_rx_hits_miss", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2368 debugfs_create_file("qsize", 0600, rvu->rvu_dbg.nix, rvu, in rvu_dbg_nix_init()
2370 debugfs_create_file("ingress_policer_ctx", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2372 debugfs_create_file("ingress_policer_rsrc", 0600, rvu->rvu_dbg.nix, nix_hw, in rvu_dbg_nix_init()
2378 rvu->rvu_dbg.npa = debugfs_create_dir("npa", rvu->rvu_dbg.root); in rvu_dbg_npa_init()
2380 debugfs_create_file("qsize", 0600, rvu->rvu_dbg.npa, rvu, in rvu_dbg_npa_init()
2382 debugfs_create_file("aura_ctx", 0600, rvu->rvu_dbg.npa, rvu, in rvu_dbg_npa_init()
2384 debugfs_create_file("pool_ctx", 0600, rvu->rvu_dbg.npa, rvu, in rvu_dbg_npa_init()
2386 debugfs_create_file("ndc_cache", 0600, rvu->rvu_dbg.npa, rvu, in rvu_dbg_npa_init()
2388 debugfs_create_file("ndc_hits_miss", 0600, rvu->rvu_dbg.npa, rvu, in rvu_dbg_npa_init()
2416 void *cgxd = s->private; in cgx_print_stats()
2425 return -ENODEV; in cgx_print_stats()
2442 mac_ops->name); in cgx_print_stats()
2465 mac_ops->name); in cgx_print_stats()
2484 seq_printf(s, "\n=======%s RX_STATS======\n\n", mac_ops->name); in cgx_print_stats()
2485 while (stat < mac_ops->rx_stats_cnt) { in cgx_print_stats()
2486 err = mac_ops->mac_get_rx_stats(cgxd, lmac_id, stat, &rx_stat); in cgx_print_stats()
2500 seq_printf(s, "\n=======%s TX_STATS======\n\n", mac_ops->name); in cgx_print_stats()
2501 while (stat < mac_ops->tx_stats_cnt) { in cgx_print_stats()
2502 err = mac_ops->mac_get_tx_stats(cgxd, lmac_id, stat, &tx_stat); in cgx_print_stats()
2523 current_dir = filp->file->f_path.dentry->d_parent; in rvu_dbg_derive_lmacid()
2524 buf = strrchr(current_dir->d_name.name, 'c'); in rvu_dbg_derive_lmacid()
2526 return -EINVAL; in rvu_dbg_derive_lmacid()
2547 void *cgxd = s->private; in cgx_print_dmac_flt()
2558 return -ENODEV; in cgx_print_dmac_flt()
2572 "PCI dev RVUPF BROADCAST MULTICAST FILTER-MODE\n"); in cgx_print_dmac_flt()
2574 dev_name(&pdev->dev), pf, bcast, mcast); in cgx_print_dmac_flt()
2580 seq_puts(s, "\nDMAC-INDEX ADDRESS\n"); in cgx_print_dmac_flt()
2625 rvu->rvu_dbg.cgx_root = debugfs_create_dir(mac_ops->name, in rvu_dbg_cgx_init()
2626 rvu->rvu_dbg.root); in rvu_dbg_cgx_init()
2634 sprintf(dname, "%s%d", mac_ops->name, i); in rvu_dbg_cgx_init()
2635 rvu->rvu_dbg.cgx = debugfs_create_dir(dname, in rvu_dbg_cgx_init()
2636 rvu->rvu_dbg.cgx_root); in rvu_dbg_cgx_init()
2638 for_each_set_bit(lmac_id, &lmac_bmap, rvu->hw->lmac_per_cgx) { in rvu_dbg_cgx_init()
2641 rvu->rvu_dbg.lmac = in rvu_dbg_cgx_init()
2642 debugfs_create_dir(dname, rvu->rvu_dbg.cgx); in rvu_dbg_cgx_init()
2644 debugfs_create_file("stats", 0600, rvu->rvu_dbg.lmac, in rvu_dbg_cgx_init()
2647 rvu->rvu_dbg.lmac, cgx, in rvu_dbg_cgx_init()
2657 struct rvu *rvu = s->private; in rvu_print_npc_mcam_info()
2669 seq_printf(s, "\n\t\t Device \t\t: PF%d\n", in rvu_print_npc_mcam_info()
2672 seq_printf(s, "\n\t\t Device \t\t: PF%d VF%d\n", in rvu_print_npc_mcam_info()
2674 (pcifunc & RVU_PFVF_FUNC_MASK) - 1); in rvu_print_npc_mcam_info()
2677 seq_printf(s, "\t\t Entries allocated \t: %d\n", entry_acnt); in rvu_print_npc_mcam_info()
2678 seq_printf(s, "\t\t Entries enabled \t: %d\n", entry_ecnt); in rvu_print_npc_mcam_info()
2681 seq_printf(s, "\t\t Counters allocated \t: %d\n", cntr_acnt); in rvu_print_npc_mcam_info()
2682 seq_printf(s, "\t\t Counters enabled \t: %d\n", cntr_ecnt); in rvu_print_npc_mcam_info()
2688 struct rvu *rvu = filp->private; in rvu_dbg_npc_mcam_info_display()
2696 return -ENODEV; in rvu_dbg_npc_mcam_info_display()
2698 mcam = &rvu->hw->mcam; in rvu_dbg_npc_mcam_info_display()
2699 counters = rvu->hw->npc_counters; in rvu_dbg_npc_mcam_info_display()
2705 seq_printf(filp, "\t\t RX keywidth \t: %s\n", (cfg == NPC_MCAM_KEY_X1) ? in rvu_dbg_npc_mcam_info_display()
2710 seq_printf(filp, "\t\t TX keywidth \t: %s\n", (cfg == NPC_MCAM_KEY_X1) ? in rvu_dbg_npc_mcam_info_display()
2714 mutex_lock(&mcam->lock); in rvu_dbg_npc_mcam_info_display()
2716 seq_printf(filp, "\n\t\t MCAM entries \t: %d\n", mcam->total_entries); in rvu_dbg_npc_mcam_info_display()
2717 seq_printf(filp, "\t\t Reserved \t: %d\n", in rvu_dbg_npc_mcam_info_display()
2718 mcam->total_entries - mcam->bmap_entries); in rvu_dbg_npc_mcam_info_display()
2719 seq_printf(filp, "\t\t Available \t: %d\n", mcam->bmap_fcnt); in rvu_dbg_npc_mcam_info_display()
2722 seq_printf(filp, "\n\t\t MCAM counters \t: %d\n", counters); in rvu_dbg_npc_mcam_info_display()
2723 seq_printf(filp, "\t\t Reserved \t: %d\n", in rvu_dbg_npc_mcam_info_display()
2724 counters - mcam->counters.max); in rvu_dbg_npc_mcam_info_display()
2725 seq_printf(filp, "\t\t Available \t: %d\n", in rvu_dbg_npc_mcam_info_display()
2726 rvu_rsrc_free_count(&mcam->counters)); in rvu_dbg_npc_mcam_info_display()
2728 if (mcam->bmap_entries == mcam->bmap_fcnt) { in rvu_dbg_npc_mcam_info_display()
2729 mutex_unlock(&mcam->lock); in rvu_dbg_npc_mcam_info_display()
2733 seq_puts(filp, "\n\t\t Current allocation\n"); in rvu_dbg_npc_mcam_info_display()
2734 seq_puts(filp, "\t\t====================\n"); in rvu_dbg_npc_mcam_info_display()
2735 for (pf = 0; pf < rvu->hw->total_pfs; pf++) { in rvu_dbg_npc_mcam_info_display()
2747 mutex_unlock(&mcam->lock); in rvu_dbg_npc_mcam_info_display()
2756 struct rvu *rvu = filp->private; in rvu_dbg_npc_rx_miss_stats_display()
2762 return -ENODEV; in rvu_dbg_npc_rx_miss_stats_display()
2764 mcam = &rvu->hw->mcam; in rvu_dbg_npc_rx_miss_stats_display()
2767 seq_printf(filp, "\t\tStat %d: \t%lld\n", mcam->rx_miss_act_cntr, in rvu_dbg_npc_rx_miss_stats_display()
2769 NPC_AF_MATCH_STATX(mcam->rx_miss_act_cntr))); in rvu_dbg_npc_rx_miss_stats_display()
2802 for_each_set_bit(bit, (unsigned long *)&rule->features, 64) { in rvu_dbg_npc_mcam_show_flows()
2803 seq_printf(s, "\t%s ", npc_get_field_name(bit)); in rvu_dbg_npc_mcam_show_flows()
2806 if (rule->lxmb == 1) in rvu_dbg_npc_mcam_show_flows()
2812 seq_printf(s, "%pM ", rule->packet.dmac); in rvu_dbg_npc_mcam_show_flows()
2813 seq_printf(s, "mask %pM\n", rule->mask.dmac); in rvu_dbg_npc_mcam_show_flows()
2816 seq_printf(s, "%pM ", rule->packet.smac); in rvu_dbg_npc_mcam_show_flows()
2817 seq_printf(s, "mask %pM\n", rule->mask.smac); in rvu_dbg_npc_mcam_show_flows()
2820 seq_printf(s, "0x%x ", ntohs(rule->packet.etype)); in rvu_dbg_npc_mcam_show_flows()
2821 seq_printf(s, "mask 0x%x\n", ntohs(rule->mask.etype)); in rvu_dbg_npc_mcam_show_flows()
2824 seq_printf(s, "0x%x ", ntohs(rule->packet.vlan_tci)); in rvu_dbg_npc_mcam_show_flows()
2826 ntohs(rule->mask.vlan_tci)); in rvu_dbg_npc_mcam_show_flows()
2829 seq_printf(s, "0x%x ", ntohs(rule->packet.vlan_itci)); in rvu_dbg_npc_mcam_show_flows()
2831 ntohs(rule->mask.vlan_itci)); in rvu_dbg_npc_mcam_show_flows()
2834 seq_printf(s, "%d ", rule->packet.tos); in rvu_dbg_npc_mcam_show_flows()
2835 seq_printf(s, "mask 0x%x\n", rule->mask.tos); in rvu_dbg_npc_mcam_show_flows()
2838 seq_printf(s, "%pI4 ", &rule->packet.ip4src); in rvu_dbg_npc_mcam_show_flows()
2839 seq_printf(s, "mask %pI4\n", &rule->mask.ip4src); in rvu_dbg_npc_mcam_show_flows()
2842 seq_printf(s, "%pI4 ", &rule->packet.ip4dst); in rvu_dbg_npc_mcam_show_flows()
2843 seq_printf(s, "mask %pI4\n", &rule->mask.ip4dst); in rvu_dbg_npc_mcam_show_flows()
2846 seq_printf(s, "%pI6 ", rule->packet.ip6src); in rvu_dbg_npc_mcam_show_flows()
2847 seq_printf(s, "mask %pI6\n", rule->mask.ip6src); in rvu_dbg_npc_mcam_show_flows()
2850 seq_printf(s, "%pI6 ", rule->packet.ip6dst); in rvu_dbg_npc_mcam_show_flows()
2851 seq_printf(s, "mask %pI6\n", rule->mask.ip6dst); in rvu_dbg_npc_mcam_show_flows()
2854 seq_printf(s, "0x%x ", rule->packet.next_header); in rvu_dbg_npc_mcam_show_flows()
2855 seq_printf(s, "mask 0x%x\n", rule->mask.next_header); in rvu_dbg_npc_mcam_show_flows()
2858 seq_printf(s, "0x%x ", rule->packet.ip_flag); in rvu_dbg_npc_mcam_show_flows()
2859 seq_printf(s, "mask 0x%x\n", rule->mask.ip_flag); in rvu_dbg_npc_mcam_show_flows()
2864 seq_printf(s, "%d ", ntohs(rule->packet.sport)); in rvu_dbg_npc_mcam_show_flows()
2865 seq_printf(s, "mask 0x%x\n", ntohs(rule->mask.sport)); in rvu_dbg_npc_mcam_show_flows()
2870 seq_printf(s, "%d ", ntohs(rule->packet.dport)); in rvu_dbg_npc_mcam_show_flows()
2871 seq_printf(s, "mask 0x%x\n", ntohs(rule->mask.dport)); in rvu_dbg_npc_mcam_show_flows()
2874 seq_printf(s, "0x%x ", ntohl(rule->packet.spi)); in rvu_dbg_npc_mcam_show_flows()
2875 seq_printf(s, "mask 0x%x\n", ntohl(rule->mask.spi)); in rvu_dbg_npc_mcam_show_flows()
2878 RVU_DBG_PRINT_MPLS_LBTCBOS(rule->packet.mpls_lse[0], in rvu_dbg_npc_mcam_show_flows()
2879 rule->mask.mpls_lse[0]); in rvu_dbg_npc_mcam_show_flows()
2882 RVU_DBG_PRINT_MPLS_TTL(rule->packet.mpls_lse[0], in rvu_dbg_npc_mcam_show_flows()
2883 rule->mask.mpls_lse[0]); in rvu_dbg_npc_mcam_show_flows()
2886 RVU_DBG_PRINT_MPLS_LBTCBOS(rule->packet.mpls_lse[1], in rvu_dbg_npc_mcam_show_flows()
2887 rule->mask.mpls_lse[1]); in rvu_dbg_npc_mcam_show_flows()
2890 RVU_DBG_PRINT_MPLS_TTL(rule->packet.mpls_lse[1], in rvu_dbg_npc_mcam_show_flows()
2891 rule->mask.mpls_lse[1]); in rvu_dbg_npc_mcam_show_flows()
2894 RVU_DBG_PRINT_MPLS_LBTCBOS(rule->packet.mpls_lse[2], in rvu_dbg_npc_mcam_show_flows()
2895 rule->mask.mpls_lse[2]); in rvu_dbg_npc_mcam_show_flows()
2898 RVU_DBG_PRINT_MPLS_TTL(rule->packet.mpls_lse[2], in rvu_dbg_npc_mcam_show_flows()
2899 rule->mask.mpls_lse[2]); in rvu_dbg_npc_mcam_show_flows()
2902 RVU_DBG_PRINT_MPLS_LBTCBOS(rule->packet.mpls_lse[3], in rvu_dbg_npc_mcam_show_flows()
2903 rule->mask.mpls_lse[3]); in rvu_dbg_npc_mcam_show_flows()
2906 RVU_DBG_PRINT_MPLS_TTL(rule->packet.mpls_lse[3], in rvu_dbg_npc_mcam_show_flows()
2907 rule->mask.mpls_lse[3]); in rvu_dbg_npc_mcam_show_flows()
2910 seq_printf(s, "%d ", rule->packet.icmp_type); in rvu_dbg_npc_mcam_show_flows()
2911 seq_printf(s, "mask 0x%x\n", rule->mask.icmp_type); in rvu_dbg_npc_mcam_show_flows()
2914 seq_printf(s, "%d ", rule->packet.icmp_code); in rvu_dbg_npc_mcam_show_flows()
2915 seq_printf(s, "mask 0x%x\n", rule->mask.icmp_code); in rvu_dbg_npc_mcam_show_flows()
2927 if (is_npc_intf_tx(rule->intf)) { in rvu_dbg_npc_mcam_show_action()
2928 switch (rule->tx_action.op) { in rvu_dbg_npc_mcam_show_action()
2937 rule->tx_action.index); in rvu_dbg_npc_mcam_show_action()
2949 switch (rule->rx_action.op) { in rvu_dbg_npc_mcam_show_action()
2955 rule->rx_action.index); in rvu_dbg_npc_mcam_show_action()
2993 struct rvu *rvu = s->private; in rvu_dbg_npc_mcam_show_rules()
2995 int pf, vf = -1; in rvu_dbg_npc_mcam_show_rules()
3005 mcam = &rvu->hw->mcam; in rvu_dbg_npc_mcam_show_rules()
3007 mutex_lock(&mcam->lock); in rvu_dbg_npc_mcam_show_rules()
3008 list_for_each_entry(iter, &mcam->mcam_rules, list) { in rvu_dbg_npc_mcam_show_rules()
3009 pf = (iter->owner >> RVU_PFVF_PF_SHIFT) & RVU_PFVF_PF_MASK; in rvu_dbg_npc_mcam_show_rules()
3012 if (iter->owner & RVU_PFVF_FUNC_MASK) { in rvu_dbg_npc_mcam_show_rules()
3013 vf = (iter->owner & RVU_PFVF_FUNC_MASK) - 1; in rvu_dbg_npc_mcam_show_rules()
3018 seq_printf(s, "\tdirection: %s\n", is_npc_intf_rx(iter->intf) ? in rvu_dbg_npc_mcam_show_rules()
3021 rvu_dbg_get_intf_name(iter->intf)); in rvu_dbg_npc_mcam_show_rules()
3022 seq_printf(s, "\tmcam entry: %d\n", iter->entry); in rvu_dbg_npc_mcam_show_rules()
3025 if (is_npc_intf_rx(iter->intf)) { in rvu_dbg_npc_mcam_show_rules()
3026 target = iter->rx_action.pf_func; in rvu_dbg_npc_mcam_show_rules()
3031 vf = (target & RVU_PFVF_FUNC_MASK) - 1; in rvu_dbg_npc_mcam_show_rules()
3035 seq_printf(s, "\tchannel: 0x%x\n", iter->chan); in rvu_dbg_npc_mcam_show_rules()
3036 seq_printf(s, "\tchannel_mask: 0x%x\n", iter->chan_mask); in rvu_dbg_npc_mcam_show_rules()
3041 enabled = is_mcam_entry_enabled(rvu, mcam, blkaddr, iter->entry); in rvu_dbg_npc_mcam_show_rules()
3044 if (!iter->has_cntr) in rvu_dbg_npc_mcam_show_rules()
3046 seq_printf(s, "\tcounter: %d\n", iter->cntr); in rvu_dbg_npc_mcam_show_rules()
3048 hits = rvu_read64(rvu, blkaddr, NPC_AF_MATCH_STATX(iter->cntr)); in rvu_dbg_npc_mcam_show_rules()
3051 mutex_unlock(&mcam->lock); in rvu_dbg_npc_mcam_show_rules()
3063 struct rvu *rvu = s->private; in rvu_dbg_npc_exact_show_entries()
3068 table = rvu->hw->table; in rvu_dbg_npc_exact_show_entries()
3070 mutex_lock(&table->lock); in rvu_dbg_npc_exact_show_entries()
3073 if (!table->mem_tbl_entry_cnt) in rvu_dbg_npc_exact_show_entries()
3078 seq_puts(s, "Index\t"); in rvu_dbg_npc_exact_show_entries()
3080 for (i = 0; i < table->mem_table.ways; i++) { in rvu_dbg_npc_exact_show_entries()
3081 mem_entry[i] = list_first_entry_or_null(&table->lhead_mem_tbl_entry[i], in rvu_dbg_npc_exact_show_entries()
3084 seq_printf(s, "Way-%d\t\t\t\t\t", i); in rvu_dbg_npc_exact_show_entries()
3088 for (i = 0; i < table->mem_table.ways; i++) in rvu_dbg_npc_exact_show_entries()
3089 seq_puts(s, "\tChan MAC \t"); in rvu_dbg_npc_exact_show_entries()
3094 for (i = 0; i < table->mem_table.depth; i++) { in rvu_dbg_npc_exact_show_entries()
3096 for (j = 0; j < table->mem_table.ways; j++) { in rvu_dbg_npc_exact_show_entries()
3100 if (mem_entry[j]->index != i) in rvu_dbg_npc_exact_show_entries()
3110 seq_printf(s, "%d\t", i); in rvu_dbg_npc_exact_show_entries()
3111 for (j = 0; j < table->mem_table.ways; j++) { in rvu_dbg_npc_exact_show_entries()
3113 seq_puts(s, "nil\t\t\t\t\t"); in rvu_dbg_npc_exact_show_entries()
3117 seq_printf(s, "0x%x %pM\t\t\t", mem_entry[j]->chan, in rvu_dbg_npc_exact_show_entries()
3118 mem_entry[j]->mac); in rvu_dbg_npc_exact_show_entries()
3126 if (!table->cam_tbl_entry_cnt) in rvu_dbg_npc_exact_show_entries()
3133 list_for_each_entry(cam_entry, &table->lhead_cam_tbl_entry, list) { in rvu_dbg_npc_exact_show_entries()
3134 seq_printf(s, "%d\t0x%x\t%pM\n", cam_entry->index, cam_entry->chan, in rvu_dbg_npc_exact_show_entries()
3135 cam_entry->mac); in rvu_dbg_npc_exact_show_entries()
3139 mutex_unlock(&table->lock); in rvu_dbg_npc_exact_show_entries()
3148 struct rvu *rvu = s->private; in rvu_dbg_npc_exact_show_info()
3151 table = rvu->hw->table; in rvu_dbg_npc_exact_show_info()
3155 rvu->hw->cap.npc_exact_match_enabled ? "enabled" : "disable"); in rvu_dbg_npc_exact_show_info()
3156 if (!rvu->hw->cap.npc_exact_match_enabled) in rvu_dbg_npc_exact_show_info()
3160 for (i = 0; i < table->num_drop_rules; i++) in rvu_dbg_npc_exact_show_info()
3161 seq_printf(s, "%d\t\t%d\n", i, table->cnt_cmd_rules[i]); in rvu_dbg_npc_exact_show_info()
3164 for (i = 0; i < table->num_drop_rules; i++) in rvu_dbg_npc_exact_show_info()
3165 seq_printf(s, "%d\t\t%s\n", i, table->promisc_mode[i] ? "on" : "off"); in rvu_dbg_npc_exact_show_info()
3168 seq_printf(s, "Ways : %d\n", table->mem_table.ways); in rvu_dbg_npc_exact_show_info()
3169 seq_printf(s, "Depth : %d\n", table->mem_table.depth); in rvu_dbg_npc_exact_show_info()
3170 seq_printf(s, "Mask : 0x%llx\n", table->mem_table.mask); in rvu_dbg_npc_exact_show_info()
3171 seq_printf(s, "Hash Mask : 0x%x\n", table->mem_table.hash_mask); in rvu_dbg_npc_exact_show_info()
3172 seq_printf(s, "Hash Offset : 0x%x\n", table->mem_table.hash_offset); in rvu_dbg_npc_exact_show_info()
3175 seq_printf(s, "Depth : %d\n", table->cam_table.depth); in rvu_dbg_npc_exact_show_info()
3185 struct rvu *rvu = s->private; in rvu_dbg_npc_exact_drop_cnt()
3193 table = rvu->hw->table; in rvu_dbg_npc_exact_drop_cnt()
3195 field = &rvu->hw->mcam.rx_key_fields[NPC_CHAN]; in rvu_dbg_npc_exact_drop_cnt()
3197 seq_puts(s, "\n\t Exact Hit on drop status\n"); in rvu_dbg_npc_exact_drop_cnt()
3200 for (i = 0; i < table->num_drop_rules; i++) { in rvu_dbg_npc_exact_drop_cnt()
3207 chan = field->kw_mask[0] & cam1; in rvu_dbg_npc_exact_drop_cnt()
3211 seq_printf(s, "0x%x\t%d\t\t%llu\t0x%x\t%s\n", pcifunc, i, in rvu_dbg_npc_exact_drop_cnt()
3213 NPC_AF_MATCH_STATX(table->counter_idx[i])), in rvu_dbg_npc_exact_drop_cnt()
3224 rvu->rvu_dbg.npc = debugfs_create_dir("npc", rvu->rvu_dbg.root); in rvu_dbg_npc_init()
3226 debugfs_create_file("mcam_info", 0444, rvu->rvu_dbg.npc, rvu, in rvu_dbg_npc_init()
3228 debugfs_create_file("mcam_rules", 0444, rvu->rvu_dbg.npc, rvu, in rvu_dbg_npc_init()
3231 debugfs_create_file("rx_miss_act_stats", 0444, rvu->rvu_dbg.npc, rvu, in rvu_dbg_npc_init()
3234 if (!rvu->hw->cap.npc_exact_match_enabled) in rvu_dbg_npc_init()
3237 debugfs_create_file("exact_entries", 0444, rvu->rvu_dbg.npc, rvu, in rvu_dbg_npc_init()
3240 debugfs_create_file("exact_info", 0444, rvu->rvu_dbg.npc, rvu, in rvu_dbg_npc_init()
3243 debugfs_create_file("exact_drop_cnt", 0444, rvu->rvu_dbg.npc, rvu, in rvu_dbg_npc_init()
3250 struct cpt_ctx *ctx = filp->private; in cpt_eng_sts_display()
3254 struct rvu *rvu = ctx->rvu; in cpt_eng_sts_display()
3255 int blkaddr = ctx->blkaddr; in cpt_eng_sts_display()
3277 return -EINVAL; in cpt_eng_sts_display()
3317 struct cpt_ctx *ctx = filp->private; in rvu_dbg_cpt_engines_info_display()
3319 struct rvu *rvu = ctx->rvu; in rvu_dbg_cpt_engines_info_display()
3320 int blkaddr = ctx->blkaddr; in rvu_dbg_cpt_engines_info_display()
3351 struct cpt_ctx *ctx = filp->private; in rvu_dbg_cpt_lfs_info_display()
3352 int blkaddr = ctx->blkaddr; in rvu_dbg_cpt_lfs_info_display()
3353 struct rvu *rvu = ctx->rvu; in rvu_dbg_cpt_lfs_info_display()
3359 hw = rvu->hw; in rvu_dbg_cpt_lfs_info_display()
3360 block = &hw->block[blkaddr]; in rvu_dbg_cpt_lfs_info_display()
3361 if (!block->lf.bmap) in rvu_dbg_cpt_lfs_info_display()
3362 return -ENODEV; in rvu_dbg_cpt_lfs_info_display()
3365 for (lf = 0; lf < block->lf.max; lf++) { in rvu_dbg_cpt_lfs_info_display()
3372 reg = rvu_read64(rvu, blkaddr, block->lfcfg_reg | in rvu_dbg_cpt_lfs_info_display()
3373 (lf << block->lfshift)); in rvu_dbg_cpt_lfs_info_display()
3384 struct cpt_ctx *ctx = filp->private; in rvu_dbg_cpt_err_info_display()
3385 struct rvu *rvu = ctx->rvu; in rvu_dbg_cpt_err_info_display()
3386 int blkaddr = ctx->blkaddr; in rvu_dbg_cpt_err_info_display()
3411 struct cpt_ctx *ctx = filp->private; in rvu_dbg_cpt_pc_display()
3412 struct rvu *rvu = ctx->rvu; in rvu_dbg_cpt_pc_display()
3413 int blkaddr = ctx->blkaddr; in rvu_dbg_cpt_pc_display()
3440 if (!is_block_implemented(rvu->hw, blkaddr)) in rvu_dbg_cpt_init()
3444 rvu->rvu_dbg.cpt = debugfs_create_dir("cpt", rvu->rvu_dbg.root); in rvu_dbg_cpt_init()
3445 ctx = &rvu->rvu_dbg.cpt_ctx[0]; in rvu_dbg_cpt_init()
3446 ctx->blkaddr = BLKADDR_CPT0; in rvu_dbg_cpt_init()
3447 ctx->rvu = rvu; in rvu_dbg_cpt_init()
3449 rvu->rvu_dbg.cpt = debugfs_create_dir("cpt1", in rvu_dbg_cpt_init()
3450 rvu->rvu_dbg.root); in rvu_dbg_cpt_init()
3451 ctx = &rvu->rvu_dbg.cpt_ctx[1]; in rvu_dbg_cpt_init()
3452 ctx->blkaddr = BLKADDR_CPT1; in rvu_dbg_cpt_init()
3453 ctx->rvu = rvu; in rvu_dbg_cpt_init()
3456 debugfs_create_file("cpt_pc", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3458 debugfs_create_file("cpt_ae_sts", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3460 debugfs_create_file("cpt_se_sts", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3462 debugfs_create_file("cpt_ie_sts", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3464 debugfs_create_file("cpt_engines_info", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3466 debugfs_create_file("cpt_lfs_info", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3468 debugfs_create_file("cpt_err_info", 0600, rvu->rvu_dbg.cpt, ctx, in rvu_dbg_cpt_init()
3482 rvu->rvu_dbg.root = debugfs_create_dir(rvu_get_dbg_dir_name(rvu), NULL); in rvu_dbg_init()
3484 debugfs_create_file("rsrc_alloc", 0444, rvu->rvu_dbg.root, rvu, in rvu_dbg_init()
3488 debugfs_create_file("lmtst_map_table", 0444, rvu->rvu_dbg.root, in rvu_dbg_init()
3495 debugfs_create_file("rvu_pf_cgx_map", 0444, rvu->rvu_dbg.root, in rvu_dbg_init()
3498 debugfs_create_file("rvu_pf_rpm_map", 0444, rvu->rvu_dbg.root, in rvu_dbg_init()
3515 debugfs_remove_recursive(rvu->rvu_dbg.root); in rvu_dbg_exit()