• Ben Hutchings's avatar
    sfc: Leave interrupts and event queues enabled whenever we can · 9f2cb71c
    Ben Hutchings authored
    When SR-IOV is enabled we may receive FLR (Function-Level Reset)
    events, associated queue flush events and requests from VF drivers at
    any time.  Therefore we need to keep event queues and interrupts
    enabled whenever possible.
    
    Currently we stop interrupt-driven event processing before flushing RX
    and TX queues; efx_nic_flush_queues() then polls event queues for
    flush events and discards any others it finds.  Change it to work with
    the regular event handling functions.
    
    Currently efx_start_channel() fills RX queues synchronously when a
    device is brought up.  This could now race with NAPI, so change it to
    send fill events.
    
    This was almost entirely written by Steve Hodgson, formerly
    shodgson@solarflare.com.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    9f2cb71c
net_driver.h 33.5 KB