• Steve Hodgson's avatar
    sfc: Disable flow control during flushes · a606f432
    Steve Hodgson authored
    The TX DMA engine issues upstream read requests when there is room in
    the TX FIFO for the completion. However, the fetches for the rest of
    the packet might be delayed by any back pressure.  Since a flush must
    wait for an EOP, the entire flush may be delayed by back pressure.
    
    Mitigate this by disabling flow control before the flushes are
    started.  Since PF and VF flushes run in parallel introduce
    fc_disable, a reference count of the number of flushes outstanding.
    
    The same principle could be applied to Falcon, but that
    would bring with it its own testing.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    a606f432
nic.c 58.4 KB