linux_dsm_epyc7002/drivers/net/ethernet/intel/i40e
Mitch Williams fc18eaa073 i40e: refactor VF reset flow
Fix the VF reset flow so that it works on real hardware. After
discussions with the HW team, the reset flow has been changed
somewhat.

- Change the i40e_reset_vf function to a void type, and fix
  up the callers to reflect this.
- Move the MSI-X disable code to i40e_free_vf_res since it must
  be done every time the VF is freed, regardless of whether or
  not it is reset.
- Ensure that the PCIe bus is quiet before polling the reset bit.
- Don't clear the VFGEN_RSTAT1 register at the beginning as it is
  cleared by the reset.
- Poll longer for the reset to be done.
- Disable the queues using an existing function rather than
  rolling our own.
- Free and reallocate the VSI after reset to avoid rx hang.

Change-Id: I11e2590431cb73e8663714d1cc5b23d59b809033
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-01-03 20:35:39 -08:00
..
i40e_adminq_cmd.h i40e: Implementation of VXLAN ndo's 2014-01-03 20:11:44 -08:00
i40e_adminq.c i40e: make functions static and remove dead code 2013-12-17 22:42:49 -08:00
i40e_adminq.h i40e: simplify aq head-tail-len setups 2013-12-05 23:12:58 -08:00
i40e_alloc.h i40e: init code and hardware support 2013-09-11 02:12:25 -07:00
i40e_common.c i40e: Implementation of VXLAN ndo's 2014-01-03 20:11:44 -08:00
i40e_debugfs.c i40e: Fix off by one in i40e_dbg_command_write 2013-12-17 22:42:44 -08:00
i40e_diag.c i40e: trivial fixes 2013-12-16 00:49:22 -08:00
i40e_diag.h i40e: loopback info and set loopback fix 2013-12-10 01:27:30 -08:00
i40e_ethtool.c i40e: add wake-on-lan support 2014-01-03 19:22:25 -08:00
i40e_hmc.c i40e: trivial fixes 2013-12-16 00:49:22 -08:00
i40e_hmc.h i40e: init code and hardware support 2013-09-11 02:12:25 -07:00
i40e_lan_hmc.c i40e: init code and hardware support 2013-09-11 02:12:25 -07:00
i40e_lan_hmc.h i40e: sync header files with hardware 2013-12-05 23:25:17 -08:00
i40e_main.c i40e: refactor VF reset flow 2014-01-03 20:35:39 -08:00
i40e_nvm.c i40e: init code and hardware support 2013-09-11 02:12:25 -07:00
i40e_osdep.h i40e: driver core headers 2013-09-11 01:58:15 -07:00
i40e_prototype.h i40e: Implementation of VXLAN ndo's 2014-01-03 20:11:44 -08:00
i40e_register.h i40e: whitespace 2013-12-06 16:41:50 -08:00
i40e_status.h i40e: init code and hardware support 2013-09-11 02:12:25 -07:00
i40e_txrx.c i40e: Rx checksum offload for VXLAN 2014-01-03 20:20:09 -08:00
i40e_txrx.h i40e: remove and fix confusing define name 2013-12-10 01:27:31 -08:00
i40e_type.h i40e: Rx checksum offload for VXLAN 2014-01-03 20:20:09 -08:00
i40e_virtchnl_pf.c i40e: refactor VF reset flow 2014-01-03 20:35:39 -08:00
i40e_virtchnl_pf.h i40e: refactor VF reset flow 2014-01-03 20:35:39 -08:00
i40e_virtchnl.h i40e: implement virtual device interface 2013-09-11 02:04:56 -07:00
i40e.h i40e: refactor VF reset flow 2014-01-03 20:35:39 -08:00
Makefile i40e: include i40e in kernel proper 2013-09-11 02:28:40 -07:00