@@ -449,6 +449,7 @@ RVU_DEBUG_SEQ_FOPS(npa_qsize, npa_qsize_display, npa_qsize_write);
449449static void print_npa_aura_ctx (struct seq_file * m , struct npa_aq_enq_rsp * rsp )
450450{
451451 struct npa_aura_s * aura = & rsp -> aura ;
452+ struct rvu * rvu = m -> private ;
452453
453454 seq_printf (m , "W0: Pool addr\t\t%llx\n" , aura -> pool_addr );
454455
@@ -468,6 +469,9 @@ static void print_npa_aura_ctx(struct seq_file *m, struct npa_aq_enq_rsp *rsp)
468469
469470 seq_printf (m , "W3: limit\t\t%llu\nW3: bp\t\t\t%d\nW3: fc_ena\t\t%d\n" ,
470471 (u64 )aura -> limit , aura -> bp , aura -> fc_ena );
472+
473+ if (!is_rvu_otx2 (rvu ))
474+ seq_printf (m , "W3: fc_be\t\t%d\n" , aura -> fc_be );
471475 seq_printf (m , "W3: fc_up_crossing\t%d\nW3: fc_stype\t\t%d\n" ,
472476 aura -> fc_up_crossing , aura -> fc_stype );
473477 seq_printf (m , "W3: fc_hyst_bits\t%d\n" , aura -> fc_hyst_bits );
@@ -485,12 +489,15 @@ static void print_npa_aura_ctx(struct seq_file *m, struct npa_aq_enq_rsp *rsp)
485489 seq_printf (m , "W5: err_qint_idx \t%d\n" , aura -> err_qint_idx );
486490
487491 seq_printf (m , "W6: thresh\t\t%llu\n" , (u64 )aura -> thresh );
492+ if (!is_rvu_otx2 (rvu ))
493+ seq_printf (m , "W6: fc_msh_dst\t\t%d\n" , aura -> fc_msh_dst );
488494}
489495
490496/* Dumps given NPA Pool's context */
491497static void print_npa_pool_ctx (struct seq_file * m , struct npa_aq_enq_rsp * rsp )
492498{
493499 struct npa_pool_s * pool = & rsp -> pool ;
500+ struct rvu * rvu = m -> private ;
494501
495502 seq_printf (m , "W0: Stack base\t\t%llx\n" , pool -> stack_base );
496503
@@ -512,6 +519,8 @@ static void print_npa_pool_ctx(struct seq_file *m, struct npa_aq_enq_rsp *rsp)
512519 pool -> avg_con , pool -> fc_ena , pool -> fc_stype );
513520 seq_printf (m , "W4: fc_hyst_bits\t%d\nW4: fc_up_crossing\t%d\n" ,
514521 pool -> fc_hyst_bits , pool -> fc_up_crossing );
522+ if (!is_rvu_otx2 (rvu ))
523+ seq_printf (m , "W4: fc_be\t\t%d\n" , pool -> fc_be );
515524 seq_printf (m , "W4: update_time\t\t%d\n" , pool -> update_time );
516525
517526 seq_printf (m , "W5: fc_addr\t\t%llx\n" , pool -> fc_addr );
@@ -525,8 +534,10 @@ static void print_npa_pool_ctx(struct seq_file *m, struct npa_aq_enq_rsp *rsp)
525534 seq_printf (m , "W8: thresh_int\t\t%d\n" , pool -> thresh_int );
526535 seq_printf (m , "W8: thresh_int_ena\t%d\nW8: thresh_up\t\t%d\n" ,
527536 pool -> thresh_int_ena , pool -> thresh_up );
528- seq_printf (m , "W8: thresh_qint_idx\t%d\nW8: err_qint_idx\t\t %d\n" ,
537+ seq_printf (m , "W8: thresh_qint_idx\t%d\nW8: err_qint_idx\t%d\n" ,
529538 pool -> thresh_qint_idx , pool -> err_qint_idx );
539+ if (!is_rvu_otx2 (rvu ))
540+ seq_printf (m , "W8: fc_msh_dst\t\t%d\n" , pool -> fc_msh_dst );
530541}
531542
532543/* Reads aura/pool's ctx from admin queue */
@@ -910,11 +921,78 @@ static int rvu_dbg_nix_ndc_tx_hits_miss_display(struct seq_file *filp,
910921
911922RVU_DEBUG_SEQ_FOPS (nix_ndc_tx_hits_miss , nix_ndc_tx_hits_miss_display , NULL );
912923
924+ static void print_nix_cn10k_sq_ctx (struct seq_file * m ,
925+ struct nix_cn10k_sq_ctx_s * sq_ctx )
926+ {
927+ seq_printf (m , "W0: ena \t\t\t%d\nW0: qint_idx \t\t\t%d\n" ,
928+ sq_ctx -> ena , sq_ctx -> qint_idx );
929+ seq_printf (m , "W0: substream \t\t\t0x%03x\nW0: sdp_mcast \t\t\t%d\n" ,
930+ sq_ctx -> substream , sq_ctx -> sdp_mcast );
931+ seq_printf (m , "W0: cq \t\t\t\t%d\nW0: sqe_way_mask \t\t%d\n\n" ,
932+ sq_ctx -> cq , sq_ctx -> sqe_way_mask );
933+
934+ seq_printf (m , "W1: smq \t\t\t%d\nW1: cq_ena \t\t\t%d\nW1: xoff\t\t\t%d\n" ,
935+ sq_ctx -> smq , sq_ctx -> cq_ena , sq_ctx -> xoff );
936+ seq_printf (m , "W1: sso_ena \t\t\t%d\nW1: smq_rr_weight\t\t%d\n" ,
937+ sq_ctx -> sso_ena , sq_ctx -> smq_rr_weight );
938+ seq_printf (m , "W1: default_chan\t\t%d\nW1: sqb_count\t\t\t%d\n\n" ,
939+ sq_ctx -> default_chan , sq_ctx -> sqb_count );
940+
941+ seq_printf (m , "W2: smq_rr_count_lb \t\t%d\n" , sq_ctx -> smq_rr_count_lb );
942+ seq_printf (m , "W2: smq_rr_count_ub \t\t%d\n" , sq_ctx -> smq_rr_count_ub );
943+ seq_printf (m , "W2: sqb_aura \t\t\t%d\nW2: sq_int \t\t\t%d\n" ,
944+ sq_ctx -> sqb_aura , sq_ctx -> sq_int );
945+ seq_printf (m , "W2: sq_int_ena \t\t\t%d\nW2: sqe_stype \t\t\t%d\n" ,
946+ sq_ctx -> sq_int_ena , sq_ctx -> sqe_stype );
947+
948+ seq_printf (m , "W3: max_sqe_size\t\t%d\nW3: cq_limit\t\t\t%d\n" ,
949+ sq_ctx -> max_sqe_size , sq_ctx -> cq_limit );
950+ seq_printf (m , "W3: lmt_dis \t\t\t%d\nW3: mnq_dis \t\t\t%d\n" ,
951+ sq_ctx -> mnq_dis , sq_ctx -> lmt_dis );
952+ seq_printf (m , "W3: smq_next_sq\t\t\t%d\nW3: smq_lso_segnum\t\t%d\n" ,
953+ sq_ctx -> smq_next_sq , sq_ctx -> smq_lso_segnum );
954+ seq_printf (m , "W3: tail_offset \t\t%d\nW3: smenq_offset\t\t%d\n" ,
955+ sq_ctx -> tail_offset , sq_ctx -> smenq_offset );
956+ seq_printf (m , "W3: head_offset\t\t\t%d\nW3: smenq_next_sqb_vld\t\t%d\n\n" ,
957+ sq_ctx -> head_offset , sq_ctx -> smenq_next_sqb_vld );
958+
959+ seq_printf (m , "W4: next_sqb \t\t\t%llx\n\n" , sq_ctx -> next_sqb );
960+ seq_printf (m , "W5: tail_sqb \t\t\t%llx\n\n" , sq_ctx -> tail_sqb );
961+ seq_printf (m , "W6: smenq_sqb \t\t\t%llx\n\n" , sq_ctx -> smenq_sqb );
962+ seq_printf (m , "W7: smenq_next_sqb \t\t%llx\n\n" ,
963+ sq_ctx -> smenq_next_sqb );
964+
965+ seq_printf (m , "W8: head_sqb\t\t\t%llx\n\n" , sq_ctx -> head_sqb );
966+
967+ seq_printf (m , "W9: vfi_lso_total\t\t%d\n" , sq_ctx -> vfi_lso_total );
968+ seq_printf (m , "W9: vfi_lso_sizem1\t\t%d\nW9: vfi_lso_sb\t\t\t%d\n" ,
969+ sq_ctx -> vfi_lso_sizem1 , sq_ctx -> vfi_lso_sb );
970+ seq_printf (m , "W9: vfi_lso_mps\t\t\t%d\nW9: vfi_lso_vlan0_ins_ena\t%d\n" ,
971+ sq_ctx -> vfi_lso_mps , sq_ctx -> vfi_lso_vlan0_ins_ena );
972+ seq_printf (m , "W9: vfi_lso_vlan1_ins_ena\t%d\nW9: vfi_lso_vld \t\t%d\n\n" ,
973+ sq_ctx -> vfi_lso_vld , sq_ctx -> vfi_lso_vlan1_ins_ena );
974+
975+ seq_printf (m , "W10: scm_lso_rem \t\t%llu\n\n" ,
976+ (u64 )sq_ctx -> scm_lso_rem );
977+ seq_printf (m , "W11: octs \t\t\t%llu\n\n" , (u64 )sq_ctx -> octs );
978+ seq_printf (m , "W12: pkts \t\t\t%llu\n\n" , (u64 )sq_ctx -> pkts );
979+ seq_printf (m , "W14: dropped_octs \t\t%llu\n\n" ,
980+ (u64 )sq_ctx -> dropped_octs );
981+ seq_printf (m , "W15: dropped_pkts \t\t%llu\n\n" ,
982+ (u64 )sq_ctx -> dropped_pkts );
983+ }
984+
913985/* Dumps given nix_sq's context */
914986static void print_nix_sq_ctx (struct seq_file * m , struct nix_aq_enq_rsp * rsp )
915987{
916988 struct nix_sq_ctx_s * sq_ctx = & rsp -> sq ;
989+ struct nix_hw * nix_hw = m -> private ;
990+ struct rvu * rvu = nix_hw -> rvu ;
917991
992+ if (!is_rvu_otx2 (rvu )) {
993+ print_nix_cn10k_sq_ctx (m , (struct nix_cn10k_sq_ctx_s * )sq_ctx );
994+ return ;
995+ }
918996 seq_printf (m , "W0: sqe_way_mask \t\t%d\nW0: cq \t\t\t\t%d\n" ,
919997 sq_ctx -> sqe_way_mask , sq_ctx -> cq );
920998 seq_printf (m , "W0: sdp_mcast \t\t\t%d\nW0: substream \t\t\t0x%03x\n" ,
@@ -974,10 +1052,94 @@ static void print_nix_sq_ctx(struct seq_file *m, struct nix_aq_enq_rsp *rsp)
9741052 (u64 )sq_ctx -> dropped_pkts );
9751053}
9761054
1055+ static void print_nix_cn10k_rq_ctx (struct seq_file * m ,
1056+ struct nix_cn10k_rq_ctx_s * rq_ctx )
1057+ {
1058+ seq_printf (m , "W0: ena \t\t\t%d\nW0: sso_ena \t\t\t%d\n" ,
1059+ rq_ctx -> ena , rq_ctx -> sso_ena );
1060+ seq_printf (m , "W0: ipsech_ena \t\t\t%d\nW0: ena_wqwd \t\t\t%d\n" ,
1061+ rq_ctx -> ipsech_ena , rq_ctx -> ena_wqwd );
1062+ seq_printf (m , "W0: cq \t\t\t\t%d\nW0: lenerr_dis \t\t\t%d\n" ,
1063+ rq_ctx -> cq , rq_ctx -> lenerr_dis );
1064+ seq_printf (m , "W0: csum_il4_dis \t\t%d\nW0: csum_ol4_dis \t\t%d\n" ,
1065+ rq_ctx -> csum_il4_dis , rq_ctx -> csum_ol4_dis );
1066+ seq_printf (m , "W0: len_il4_dis \t\t%d\nW0: len_il3_dis \t\t%d\n" ,
1067+ rq_ctx -> len_il4_dis , rq_ctx -> len_il3_dis );
1068+ seq_printf (m , "W0: len_ol4_dis \t\t%d\nW0: len_ol3_dis \t\t%d\n" ,
1069+ rq_ctx -> len_ol4_dis , rq_ctx -> len_ol3_dis );
1070+ seq_printf (m , "W0: wqe_aura \t\t\t%d\n\n" , rq_ctx -> wqe_aura );
1071+
1072+ seq_printf (m , "W1: spb_aura \t\t\t%d\nW1: lpb_aura \t\t\t%d\n" ,
1073+ rq_ctx -> spb_aura , rq_ctx -> lpb_aura );
1074+ seq_printf (m , "W1: spb_aura \t\t\t%d\n" , rq_ctx -> spb_aura );
1075+ seq_printf (m , "W1: sso_grp \t\t\t%d\nW1: sso_tt \t\t\t%d\n" ,
1076+ rq_ctx -> sso_grp , rq_ctx -> sso_tt );
1077+ seq_printf (m , "W1: pb_caching \t\t\t%d\nW1: wqe_caching \t\t%d\n" ,
1078+ rq_ctx -> pb_caching , rq_ctx -> wqe_caching );
1079+ seq_printf (m , "W1: xqe_drop_ena \t\t%d\nW1: spb_drop_ena \t\t%d\n" ,
1080+ rq_ctx -> xqe_drop_ena , rq_ctx -> spb_drop_ena );
1081+ seq_printf (m , "W1: lpb_drop_ena \t\t%d\nW1: pb_stashing \t\t%d\n" ,
1082+ rq_ctx -> lpb_drop_ena , rq_ctx -> pb_stashing );
1083+ seq_printf (m , "W1: ipsecd_drop_ena \t\t%d\nW1: chi_ena \t\t\t%d\n\n" ,
1084+ rq_ctx -> ipsecd_drop_ena , rq_ctx -> chi_ena );
1085+
1086+ seq_printf (m , "W2: band_prof_id \t\t%d\n" , rq_ctx -> band_prof_id );
1087+ seq_printf (m , "W2: policer_ena \t\t%d\n" , rq_ctx -> policer_ena );
1088+ seq_printf (m , "W2: spb_sizem1 \t\t\t%d\n" , rq_ctx -> spb_sizem1 );
1089+ seq_printf (m , "W2: wqe_skip \t\t\t%d\nW2: sqb_ena \t\t\t%d\n" ,
1090+ rq_ctx -> wqe_skip , rq_ctx -> spb_ena );
1091+ seq_printf (m , "W2: lpb_size1 \t\t\t%d\nW2: first_skip \t\t\t%d\n" ,
1092+ rq_ctx -> lpb_sizem1 , rq_ctx -> first_skip );
1093+ seq_printf (m , "W2: later_skip\t\t\t%d\nW2: xqe_imm_size\t\t%d\n" ,
1094+ rq_ctx -> later_skip , rq_ctx -> xqe_imm_size );
1095+ seq_printf (m , "W2: xqe_imm_copy \t\t%d\nW2: xqe_hdr_split \t\t%d\n\n" ,
1096+ rq_ctx -> xqe_imm_copy , rq_ctx -> xqe_hdr_split );
1097+
1098+ seq_printf (m , "W3: xqe_drop \t\t\t%d\nW3: xqe_pass \t\t\t%d\n" ,
1099+ rq_ctx -> xqe_drop , rq_ctx -> xqe_pass );
1100+ seq_printf (m , "W3: wqe_pool_drop \t\t%d\nW3: wqe_pool_pass \t\t%d\n" ,
1101+ rq_ctx -> wqe_pool_drop , rq_ctx -> wqe_pool_pass );
1102+ seq_printf (m , "W3: spb_pool_drop \t\t%d\nW3: spb_pool_pass \t\t%d\n" ,
1103+ rq_ctx -> spb_pool_drop , rq_ctx -> spb_pool_pass );
1104+ seq_printf (m , "W3: spb_aura_drop \t\t%d\nW3: spb_aura_pass \t\t%d\n\n" ,
1105+ rq_ctx -> spb_aura_pass , rq_ctx -> spb_aura_drop );
1106+
1107+ seq_printf (m , "W4: lpb_aura_drop \t\t%d\nW3: lpb_aura_pass \t\t%d\n" ,
1108+ rq_ctx -> lpb_aura_pass , rq_ctx -> lpb_aura_drop );
1109+ seq_printf (m , "W4: lpb_pool_drop \t\t%d\nW3: lpb_pool_pass \t\t%d\n" ,
1110+ rq_ctx -> lpb_pool_drop , rq_ctx -> lpb_pool_pass );
1111+ seq_printf (m , "W4: rq_int \t\t\t%d\nW4: rq_int_ena\t\t\t%d\n" ,
1112+ rq_ctx -> rq_int , rq_ctx -> rq_int_ena );
1113+ seq_printf (m , "W4: qint_idx \t\t\t%d\n\n" , rq_ctx -> qint_idx );
1114+
1115+ seq_printf (m , "W5: ltag \t\t\t%d\nW5: good_utag \t\t\t%d\n" ,
1116+ rq_ctx -> ltag , rq_ctx -> good_utag );
1117+ seq_printf (m , "W5: bad_utag \t\t\t%d\nW5: flow_tagw \t\t\t%d\n" ,
1118+ rq_ctx -> bad_utag , rq_ctx -> flow_tagw );
1119+ seq_printf (m , "W5: ipsec_vwqe \t\t\t%d\nW5: vwqe_ena \t\t\t%d\n" ,
1120+ rq_ctx -> ipsec_vwqe , rq_ctx -> vwqe_ena );
1121+ seq_printf (m , "W5: vwqe_wait \t\t\t%d\nW5: max_vsize_exp\t\t%d\n" ,
1122+ rq_ctx -> vwqe_wait , rq_ctx -> max_vsize_exp );
1123+ seq_printf (m , "W5: vwqe_skip \t\t\t%d\n\n" , rq_ctx -> vwqe_skip );
1124+
1125+ seq_printf (m , "W6: octs \t\t\t%llu\n\n" , (u64 )rq_ctx -> octs );
1126+ seq_printf (m , "W7: pkts \t\t\t%llu\n\n" , (u64 )rq_ctx -> pkts );
1127+ seq_printf (m , "W8: drop_octs \t\t\t%llu\n\n" , (u64 )rq_ctx -> drop_octs );
1128+ seq_printf (m , "W9: drop_pkts \t\t\t%llu\n\n" , (u64 )rq_ctx -> drop_pkts );
1129+ seq_printf (m , "W10: re_pkts \t\t\t%llu\n" , (u64 )rq_ctx -> re_pkts );
1130+ }
1131+
9771132/* Dumps given nix_rq's context */
9781133static void print_nix_rq_ctx (struct seq_file * m , struct nix_aq_enq_rsp * rsp )
9791134{
9801135 struct nix_rq_ctx_s * rq_ctx = & rsp -> rq ;
1136+ struct nix_hw * nix_hw = m -> private ;
1137+ struct rvu * rvu = nix_hw -> rvu ;
1138+
1139+ if (!is_rvu_otx2 (rvu )) {
1140+ print_nix_cn10k_rq_ctx (m , (struct nix_cn10k_rq_ctx_s * )rq_ctx );
1141+ return ;
1142+ }
9811143
9821144 seq_printf (m , "W0: wqe_aura \t\t\t%d\nW0: substream \t\t\t0x%03x\n" ,
9831145 rq_ctx -> wqe_aura , rq_ctx -> substream );
@@ -1551,6 +1713,9 @@ static void rvu_dbg_cgx_init(struct rvu *rvu)
15511713 char dname [20 ];
15521714 void * cgx ;
15531715
1716+ if (!cgx_get_cgxcnt_max ())
1717+ return ;
1718+
15541719 rvu -> rvu_dbg .cgx_root = debugfs_create_dir ("cgx" , rvu -> rvu_dbg .root );
15551720
15561721 for (i = 0 ; i < cgx_get_cgxcnt_max (); i ++ ) {
@@ -2128,9 +2293,17 @@ static void rvu_dbg_cpt_init(struct rvu *rvu, int blkaddr)
21282293 & rvu_dbg_cpt_err_info_fops );
21292294}
21302295
2296+ static const char * rvu_get_dbg_dir_name (struct rvu * rvu )
2297+ {
2298+ if (!is_rvu_otx2 (rvu ))
2299+ return "cn10k" ;
2300+ else
2301+ return "octeontx2" ;
2302+ }
2303+
21312304void rvu_dbg_init (struct rvu * rvu )
21322305{
2133- rvu -> rvu_dbg .root = debugfs_create_dir (DEBUGFS_DIR_NAME , NULL );
2306+ rvu -> rvu_dbg .root = debugfs_create_dir (rvu_get_dbg_dir_name ( rvu ) , NULL );
21342307
21352308 debugfs_create_file ("rsrc_alloc" , 0444 , rvu -> rvu_dbg .root , rvu ,
21362309 & rvu_dbg_rsrc_status_fops );
0 commit comments