]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: Refactor queue teardown sequence to allow for EF10 flush behaviour
authorBen Hutchings <bhutchings@solarflare.com>
Mon, 27 May 2013 15:52:54 +0000 (16:52 +0100)
committerBen Hutchings <bhutchings@solarflare.com>
Wed, 21 Aug 2013 18:49:23 +0000 (19:49 +0100)
commit6c5d93484cd99df402654626dfefd82f895dbb9b
tree7431ccaddc601beb668969d26cb1d07f6d72a264
parent0139d8be1d1d0a8bbdc9f9ad1616d8f4f071e3ae
sfc: Refactor queue teardown sequence to allow for EF10 flush behaviour

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: Ben Hutchings <bhutchings@solarflare.com>
drivers/net/ethernet/sfc/efx.c
drivers/net/ethernet/sfc/efx.h
drivers/net/ethernet/sfc/falcon.c
drivers/net/ethernet/sfc/net_driver.h
drivers/net/ethernet/sfc/nic.c
drivers/net/ethernet/sfc/nic.h
drivers/net/ethernet/sfc/rx.c
drivers/net/ethernet/sfc/siena.c
drivers/net/ethernet/sfc/tx.c