mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 07:24:39 +08:00
i40e/i40evf: Use usleep_range() instead of udelay()
As per the Documentation/timers/timers-howto.txt it is preferred to use usleep_range() instead of udelay() if the delay value is > 10us in non-atomic contexts. So, replacing all the instances of udelay() with 10 or greater than 10 micro seconds delay in the driver and using usleep_range() instead. Change-ID: Iaa2ab499a4c26f6005e5d86cc421407ef9de16c7 Reported-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Neerav Parikh <neerav.parikh@intel.com> Tested-by: Jim Young <jamesx.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
8c570dcc8c
commit
f98a20068d
@ -3440,7 +3440,7 @@ static int i40e_pf_txq_wait(struct i40e_pf *pf, int pf_q, bool enable)
|
||||
if (enable == !!(tx_reg & I40E_QTX_ENA_QENA_STAT_MASK))
|
||||
break;
|
||||
|
||||
udelay(10);
|
||||
usleep_range(10, 20);
|
||||
}
|
||||
if (i >= I40E_QUEUE_WAIT_RETRY_LIMIT)
|
||||
return -ETIMEDOUT;
|
||||
@ -3466,7 +3466,7 @@ static int i40e_vsi_control_tx(struct i40e_vsi *vsi, bool enable)
|
||||
/* warn the TX unit of coming changes */
|
||||
i40e_pre_tx_queue_cfg(&pf->hw, pf_q, enable);
|
||||
if (!enable)
|
||||
udelay(10);
|
||||
usleep_range(10, 20);
|
||||
|
||||
for (j = 0; j < 50; j++) {
|
||||
tx_reg = rd32(hw, I40E_QTX_ENA(pf_q));
|
||||
@ -3526,7 +3526,7 @@ static int i40e_pf_rxq_wait(struct i40e_pf *pf, int pf_q, bool enable)
|
||||
if (enable == !!(rx_reg & I40E_QRX_ENA_QENA_STAT_MASK))
|
||||
break;
|
||||
|
||||
udelay(10);
|
||||
usleep_range(10, 20);
|
||||
}
|
||||
if (i >= I40E_QUEUE_WAIT_RETRY_LIMIT)
|
||||
return -ETIMEDOUT;
|
||||
|
@ -674,7 +674,7 @@ void i40e_reset_vf(struct i40e_vf *vf, bool flr)
|
||||
* that the requested op was completed
|
||||
* successfully
|
||||
*/
|
||||
udelay(10);
|
||||
usleep_range(10, 20);
|
||||
reg = rd32(hw, I40E_VPGEN_VFRSTAT(vf->vf_id));
|
||||
if (reg & I40E_VPGEN_VFRSTAT_VFRD_MASK) {
|
||||
rsd = true;
|
||||
|
@ -1494,7 +1494,7 @@ static void i40evf_reset_task(struct work_struct *work)
|
||||
|
||||
while (test_and_set_bit(__I40EVF_IN_CRITICAL_TASK,
|
||||
&adapter->crit_section))
|
||||
udelay(500);
|
||||
usleep_range(500, 1000);
|
||||
|
||||
if (adapter->flags & I40EVF_FLAG_RESET_NEEDED) {
|
||||
dev_info(&adapter->pdev->dev, "Requesting reset from PF\n");
|
||||
@ -1980,7 +1980,7 @@ static int i40evf_check_reset_complete(struct i40e_hw *hw)
|
||||
if ((rstat == I40E_VFR_VFACTIVE) ||
|
||||
(rstat == I40E_VFR_COMPLETED))
|
||||
return 0;
|
||||
udelay(10);
|
||||
usleep_range(10, 20);
|
||||
}
|
||||
return -EBUSY;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user