ice: Set up Tx scheduling tree based on alloc VSI Tx queues
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Wed, 26 Jun 2019 09:20:20 +0000 (02:20 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 31 Jul 2019 20:40:35 +0000 (13:40 -0700)
This patch uses allocated number of Tx queues per VSI to set up its
scheduling tree instead of using total number of available Tx queues.
Only PF VSIs have total number of allocated Tx queues equal to number
of available Tx queues, other VSIs have different number of queues
configured.

Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_lib.c

index 01f38abd427744aa6829698015787f5433405e8c..e28478215810aeb3b0aa86f6527e91051516166d 100644 (file)
@@ -2511,7 +2511,7 @@ ice_vsi_setup(struct ice_pf *pf, struct ice_port_info *pi,
 
        /* configure VSI nodes based on number of queues and TC's */
        for (i = 0; i < vsi->tc_cfg.numtc; i++)
-               max_txqs[i] = pf->num_lan_tx;
+               max_txqs[i] = vsi->alloc_txq;
 
        status = ice_cfg_vsi_lan(vsi->port_info, vsi->idx, vsi->tc_cfg.ena_tc,
                                 max_txqs);
@@ -3020,7 +3020,7 @@ int ice_vsi_rebuild(struct ice_vsi *vsi)
 
        /* configure VSI nodes based on number of queues and TC's */
        for (i = 0; i < vsi->tc_cfg.numtc; i++)
-               max_txqs[i] = pf->num_lan_tx;
+               max_txqs[i] = vsi->alloc_txq;
 
        status = ice_cfg_vsi_lan(vsi->port_info, vsi->idx, vsi->tc_cfg.ena_tc,
                                 max_txqs);
@@ -3137,7 +3137,7 @@ int ice_vsi_cfg_tc(struct ice_vsi *vsi, u8 ena_tc)
                if (ena_tc & BIT(i))
                        num_tc++;
                /* populate max_txqs per TC */
-               max_txqs[i] = pf->num_lan_tx;
+               max_txqs[i] = vsi->alloc_txq;
        }
 
        vsi->tc_cfg.ena_tc = ena_tc;