• Ben Hutchings's avatar
    sfc: Refactor queue teardown sequence to allow for EF10 flush behaviour · e42c3d85
    Ben Hutchings authored
    Currently efx_stop_datapath() will try to flush our DMA queues (if DMA
    is enabled), then finalise software and hardware state for each queue.
    However, for EF10 we must ask the MC to finalise each queue, which
    implicitly starts flushing it, and then wait for the flush events.
    We therefore need to delegate more of this to the NIC type.
    
    Combine all the hardware operations into a new NIC-type operation
    efx_nic_type::fini_dmaq, and call this before tearing down the
    software state and buffers for all the DMA queues.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    e42c3d85
tx.c 30.1 KB