• Mitch Williams's avatar
    i40e: refactor VF reset flow · fc18eaa0
    Mitch Williams authored
    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: default avatarMitch Williams <mitch.a.williams@intel.com>
    Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
    Tested-by: default avatarKavindya Deegala <kavindya.s.deegala@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    fc18eaa0
i40e.h 18.4 KB