OSDN Git Service

ice: Remove unnecessary wait when disabling/enabling Rx queues
authorBrett Creeley <brett.creeley@intel.com>
Thu, 28 Feb 2019 23:25:56 +0000 (15:25 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 2 May 2019 08:15:43 +0000 (01:15 -0700)
In ice_vsi_ctrl_rx_rings() we are unnecessarily waiting for
QRX_CTRL_QENA_REQ and QRX_CTRL_QENA_STAT to be the same value prior to
disabling each Rx queue. There is no reason to do this so remove
this wait loop as we already have a wait loop after disabling/enabling
the Rx queue through the QRX_CTRL register to make sure it gets
successfully disabled/enabled.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@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 4c6ecc2..8e0a23e 100644 (file)
@@ -197,19 +197,13 @@ static int ice_vsi_ctrl_rx_rings(struct ice_vsi *vsi, bool ena)
 {
        struct ice_pf *pf = vsi->back;
        struct ice_hw *hw = &pf->hw;
-       int i, j, ret = 0;
+       int i, ret = 0;
 
        for (i = 0; i < vsi->num_rxq; i++) {
                int pf_q = vsi->rxq_map[i];
                u32 rx_reg;
 
-               for (j = 0; j < ICE_Q_WAIT_MAX_RETRY; j++) {
-                       rx_reg = rd32(hw, QRX_CTRL(pf_q));
-                       if (((rx_reg >> QRX_CTRL_QENA_REQ_S) & 1) ==
-                           ((rx_reg >> QRX_CTRL_QENA_STAT_S) & 1))
-                               break;
-                       usleep_range(1000, 2000);
-               }
+               rx_reg = rd32(hw, QRX_CTRL(pf_q));
 
                /* Skip if the queue is already in the requested state */
                if (ena == !!(rx_reg & QRX_CTRL_QENA_STAT_M))