i40e: use stored base_queue value
authorShannon Nelson <shannon.nelson@intel.com>
Thu, 22 May 2014 06:32:28 +0000 (06:32 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 11 Jun 2014 15:48:40 +0000 (08:48 -0700)
No need to read the PCI register for the PF's base queue on every single Tx
queue enable and disable as we already have the value stored from reading
the capability features at startup.

Change-ID: Ic02fb622757742f43cb8269369c3d972d4f66555
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_common.c

index 8e4b33c3e3cd6ccf4073111461ea20c2f04a8388..6e65f19dd6e58aadf1fc7df3df41ce8a617be959 100644 (file)
@@ -665,10 +665,9 @@ i40e_status i40e_get_mac_addr(struct i40e_hw *hw, u8 *mac_addr)
  **/
 void i40e_pre_tx_queue_cfg(struct i40e_hw *hw, u32 queue, bool enable)
 {
-       u32 reg_val = rd32(hw, I40E_PFLAN_QALLOC);
-       u32 first_queue = (reg_val & I40E_PFLAN_QALLOC_FIRSTQ_MASK);
-       u32 abs_queue_idx = first_queue + queue;
+       u32 abs_queue_idx = hw->func_caps.base_queue + queue;
        u32 reg_block = 0;
+       u32 reg_val;
 
        if (abs_queue_idx >= 128)
                reg_block = abs_queue_idx / 128;