mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-16 10:54:09 +08:00
ice: Remove unnecessary wait when disabling/enabling Rx queues
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>
This commit is contained in:
parent
b9c8bb06b5
commit
acd1751a39
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user