@@ -3817,7 +3817,7 @@ static int bnxt_alloc_cp_rings(struct bnxt *bp)
38173817{
38183818 bool sh = !!(bp -> flags & BNXT_FLAG_SHARED_RINGS );
38193819 int i , j , rc , ulp_base_vec , ulp_msix ;
3820- int tcs = netdev_get_num_tc ( bp -> dev ) ;
3820+ int tcs = bp -> num_tc ;
38213821
38223822 if (!tcs )
38233823 tcs = 1 ;
@@ -9946,7 +9946,7 @@ static int __bnxt_num_tx_to_cp(struct bnxt *bp, int tx, int tx_sets, int tx_xdp)
99469946
99479947int bnxt_num_tx_to_cp (struct bnxt * bp , int tx )
99489948{
9949- int tcs = netdev_get_num_tc ( bp -> dev ) ;
9949+ int tcs = bp -> num_tc ;
99509950
99519951 if (!tcs )
99529952 tcs = 1 ;
@@ -9955,7 +9955,7 @@ int bnxt_num_tx_to_cp(struct bnxt *bp, int tx)
99559955
99569956static int bnxt_num_cp_to_tx (struct bnxt * bp , int tx_cp )
99579957{
9958- int tcs = netdev_get_num_tc ( bp -> dev ) ;
9958+ int tcs = bp -> num_tc ;
99599959
99609960 return (tx_cp - bp -> tx_nr_rings_xdp ) * tcs +
99619961 bp -> tx_nr_rings_xdp ;
@@ -9985,7 +9985,7 @@ static void bnxt_setup_msix(struct bnxt *bp)
99859985 struct net_device * dev = bp -> dev ;
99869986 int tcs , i ;
99879987
9988- tcs = netdev_get_num_tc ( dev ) ;
9988+ tcs = bp -> num_tc ;
99899989 if (tcs ) {
99909990 int i , off , count ;
99919991
@@ -10017,8 +10017,10 @@ static void bnxt_setup_inta(struct bnxt *bp)
1001710017{
1001810018 const int len = sizeof (bp -> irq_tbl [0 ].name );
1001910019
10020- if (netdev_get_num_tc ( bp -> dev ))
10020+ if (bp -> num_tc ) {
1002110021 netdev_reset_tc (bp -> dev );
10022+ bp -> num_tc = 0 ;
10023+ }
1002210024
1002310025 snprintf (bp -> irq_tbl [0 ].name , len , "%s-%s-%d" , bp -> dev -> name , "TxRx" ,
1002410026 0 );
@@ -10244,8 +10246,8 @@ static void bnxt_clear_int_mode(struct bnxt *bp)
1024410246
1024510247int bnxt_reserve_rings (struct bnxt * bp , bool irq_re_init )
1024610248{
10247- int tcs = netdev_get_num_tc (bp -> dev );
1024810249 bool irq_cleared = false;
10250+ int tcs = bp -> num_tc ;
1024910251 int rc ;
1025010252
1025110253 if (!bnxt_need_reserve_rings (bp ))
@@ -10271,6 +10273,7 @@ int bnxt_reserve_rings(struct bnxt *bp, bool irq_re_init)
1027110273 bp -> tx_nr_rings - bp -> tx_nr_rings_xdp )) {
1027210274 netdev_err (bp -> dev , "tx ring reservation failure\n" );
1027310275 netdev_reset_tc (bp -> dev );
10276+ bp -> num_tc = 0 ;
1027410277 if (bp -> tx_nr_rings_xdp )
1027510278 bp -> tx_nr_rings_per_tc = bp -> tx_nr_rings_xdp ;
1027610279 else
@@ -13800,7 +13803,7 @@ int bnxt_setup_mq_tc(struct net_device *dev, u8 tc)
1380013803 return - EINVAL ;
1380113804 }
1380213805
13803- if (netdev_get_num_tc ( dev ) == tc )
13806+ if (bp -> num_tc == tc )
1380413807 return 0 ;
1380513808
1380613809 if (bp -> flags & BNXT_FLAG_SHARED_RINGS )
@@ -13818,9 +13821,11 @@ int bnxt_setup_mq_tc(struct net_device *dev, u8 tc)
1381813821 if (tc ) {
1381913822 bp -> tx_nr_rings = bp -> tx_nr_rings_per_tc * tc ;
1382013823 netdev_set_num_tc (dev , tc );
13824+ bp -> num_tc = tc ;
1382113825 } else {
1382213826 bp -> tx_nr_rings = bp -> tx_nr_rings_per_tc ;
1382313827 netdev_reset_tc (dev );
13828+ bp -> num_tc = 0 ;
1382413829 }
1382513830 bp -> tx_nr_rings += bp -> tx_nr_rings_xdp ;
1382613831 tx_cp = bnxt_num_tx_to_cp (bp , bp -> tx_nr_rings );
0 commit comments