aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_lib.c')
-rw-r--r--drivers/net/ethernet/intel/ice/ice_lib.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c
index 4c6ecc25aaa0..8e0a23e6b563 100644
--- a/drivers/net/ethernet/intel/ice/ice_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_lib.c
@@ -197,19 +197,13 @@ static int ice_vsi_ctrl_rx_rings(struct ice_vsi *vsi, bool ena)
197{ 197{
198 struct ice_pf *pf = vsi->back; 198 struct ice_pf *pf = vsi->back;
199 struct ice_hw *hw = &pf->hw; 199 struct ice_hw *hw = &pf->hw;
200 int i, j, ret = 0; 200 int i, ret = 0;
201 201
202 for (i = 0; i < vsi->num_rxq; i++) { 202 for (i = 0; i < vsi->num_rxq; i++) {
203 int pf_q = vsi->rxq_map[i]; 203 int pf_q = vsi->rxq_map[i];
204 u32 rx_reg; 204 u32 rx_reg;
205 205
206 for (j = 0; j < ICE_Q_WAIT_MAX_RETRY; j++) { 206 rx_reg = rd32(hw, QRX_CTRL(pf_q));
207 rx_reg = rd32(hw, QRX_CTRL(pf_q));
208 if (((rx_reg >> QRX_CTRL_QENA_REQ_S) & 1) ==
209 ((rx_reg >> QRX_CTRL_QENA_STAT_S) & 1))
210 break;
211 usleep_range(1000, 2000);
212 }
213 207
214 /* Skip if the queue is already in the requested state */ 208 /* Skip if the queue is already in the requested state */
215 if (ena == !!(rx_reg & QRX_CTRL_QENA_STAT_M)) 209 if (ena == !!(rx_reg & QRX_CTRL_QENA_STAT_M))