• Mitch Williams's avatar
    i40evf: handle big resets · e6d038de
    Mitch Williams authored
    The most common type of reset that the VF will encounter is a PF reset
    that cascades down into a VF reset for each VF. In this case, the VF
    will always be assigned the same VSI and recovery is fairly simple.
    
    However, in the case of 'bigger' resets, such as a Core or EMP reset,
    when the device is reinitialized, it's probable that the VF will NOT get
    the same VSI. When this happens, the VF will not be able to recover, as
    it will continue to request resources for its original VSI.
    
    Add an extra state to the admin queue state machine so that the driver
    can re-request its configuration information at runtime. During reset
    recovery, set this bit in the aq_required field, and fetch the (possibly
    new) configuration information before attempting to bring the driver
    back up. Since the driver doesn't know what kind of reset it has
    encountered, this step is done even for a PF reset, but it doesn't hurt
    anything - it just gets the same VSI back.
    
    Change-ID: I915d59ffb40375215117362f4ac7a37811aba748
    Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
    Tested-by: default avatarJim Young <james.m.young@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    e6d038de
i40evf_main.c 67.3 KB