aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2015-01-09 06:18:13 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-02-08 22:30:29 -0500
commit1750a22fa9ec34d3842a78780c838d6bf88fc6b5 (patch)
treecc78fffd0cbb09f42e888bda81a88bfe0ab20ab6 /drivers/net
parent83840e4bd5a3ae0022e5cdd02bde149338b6b499 (diff)
i40e: delay after VF reset
Delay a minimum of 10ms after VF reset, to allow the hardware's internal FIFOs to flush. Change-ID: I8a02ddb28c9f0d7303a1eb21d0b2443e5b4c1cda Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Jim Young <james.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 044019b9d406..4e4232a58843 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -668,13 +668,13 @@ void i40e_reset_vf(struct i40e_vf *vf, bool flr)
668 /* poll VPGEN_VFRSTAT reg to make sure 668 /* poll VPGEN_VFRSTAT reg to make sure
669 * that reset is complete 669 * that reset is complete
670 */ 670 */
671 for (i = 0; i < 100; i++) { 671 for (i = 0; i < 10; i++) {
672 /* vf reset requires driver to first reset the 672 /* VF reset requires driver to first reset the VF and then
673 * vf and then poll the status register to make sure 673 * poll the status register to make sure that the reset
674 * that the requested op was completed 674 * completed successfully. Due to internal HW FIFO flushes,
675 * successfully 675 * we must wait 10ms before the register will be valid.
676 */ 676 */
677 usleep_range(10, 20); 677 usleep_range(10000, 20000);
678 reg = rd32(hw, I40E_VPGEN_VFRSTAT(vf->vf_id)); 678 reg = rd32(hw, I40E_VPGEN_VFRSTAT(vf->vf_id));
679 if (reg & I40E_VPGEN_VFRSTAT_VFRD_MASK) { 679 if (reg & I40E_VPGEN_VFRSTAT_VFRD_MASK) {
680 rsd = true; 680 rsd = true;