mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-05-24 10:39:52 +00: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
1 changed files with 2 additions and 8 deletions
|
@ -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_pf *pf = vsi->back;
|
||||||
struct ice_hw *hw = &pf->hw;
|
struct ice_hw *hw = &pf->hw;
|
||||||
int i, j, ret = 0;
|
int i, ret = 0;
|
||||||
|
|
||||||
for (i = 0; i < vsi->num_rxq; i++) {
|
for (i = 0; i < vsi->num_rxq; i++) {
|
||||||
int pf_q = vsi->rxq_map[i];
|
int pf_q = vsi->rxq_map[i];
|
||||||
u32 rx_reg;
|
u32 rx_reg;
|
||||||
|
|
||||||
for (j = 0; j < ICE_Q_WAIT_MAX_RETRY; j++) {
|
rx_reg = rd32(hw, QRX_CTRL(pf_q));
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Skip if the queue is already in the requested state */
|
/* Skip if the queue is already in the requested state */
|
||||||
if (ena == !!(rx_reg & QRX_CTRL_QENA_STAT_M))
|
if (ena == !!(rx_reg & QRX_CTRL_QENA_STAT_M))
|
||||||
|
|
Loading…
Add table
Reference in a new issue