• Jacob Keller's avatar
    i40e: use i40e_stop_rings_no_wait to implement PORT_SUSPENDED state · 3480756f
    Jacob Keller authored
    This state bit was added as a way for DCB to avoid having to wait for
    the queues to disable when handling LLDP events. The logic for this was
    burried deep within stop Tx and stop Rx queue code. First, let's rename
    it so that it does not appear to only affect Tx when infact it modifies
    both Tx and Rx flow. Second we can move it up into the i40e_stop_rings()
    function, and we can simply re-use the i40e_stop_rings_no_wait() so that
    we don't have to bury the implementation as deep into the call stack.
    
    An alternative might be to remove the state bit and instead attempt to
    shut down everything directly in DCP flow. This, however, is not ideal
    because it creates yet another separate shutdown routine that we'd have
    to maintain. In the current implementation any changes will be made to
    both flows.
    
    Change-ID: I68e1ccb901af320862bca395e9c9746f08e8b17c
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    3480756f
i40e_main.c 329 KB