linux/drivers/net/ethernet/sfc
Steve Hodgson a606f4325d sfc: Disable flow control during flushes
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: Ben Hutchings <bhutchings@solarflare.com>
2012-02-16 00:25:07 +00:00
..
bitfield.h sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
efx.c sfc: Use proper function to test for RX channel in efx_poll() 2012-02-16 00:25:06 +00:00
efx.h sfc: Replace efx_rx_buffer::is_page and other booleans with a flags field 2012-01-27 00:11:00 +00:00
enum.h
ethtool.c sfc: Add support for configuring RX unicast/multicast default filters 2012-02-16 00:11:24 +00:00
falcon.c sfc: Clean up test interrupt handling 2012-01-27 00:10:52 +00:00
falcon_boards.c sfc: Const-qualify static data as appropriate, partly prompted by checkpatch 2012-01-09 17:08:13 +00:00
falcon_xmac.c sfc: Merge efx_mac_operations into efx_nic_type 2012-01-27 00:10:46 +00:00
filter.c sfc: Add support for TX MAC filters 2012-02-16 00:11:30 +00:00
filter.h sfc: Add support for TX MAC filters 2012-02-16 00:11:30 +00:00
io.h Merge branch 'master' of github.com:davem330/net 2011-09-22 03:23:13 -04:00
Kconfig sfc: Update the description of SFC_MTD 2012-01-27 00:10:54 +00:00
Makefile sfc: Add hwmon driver for boards using SFC9000-family controllers 2012-01-27 00:10:53 +00:00
mcdi.c sfc: Add hwmon driver for boards using SFC9000-family controllers 2012-01-27 00:10:53 +00:00
mcdi.h sfc: Add hwmon driver for boards using SFC9000-family controllers 2012-01-27 00:10:53 +00:00
mcdi_mac.c sfc: Disable flow control during flushes 2012-02-16 00:25:07 +00:00
mcdi_mon.c sfc: Add hwmon driver for boards using SFC9000-family controllers 2012-01-27 00:10:53 +00:00
mcdi_pcol.h sfc: Update MCDI (firmware interface) definitions 2012-01-09 17:08:16 +00:00
mcdi_phy.c sfc: Update MCDI (firmware interface) definitions 2012-01-09 17:08:16 +00:00
mdio_10g.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
mdio_10g.h
mtd.c sfc: Warn if unable to create MTDs 2012-02-13 23:40:50 +00:00
net_driver.h sfc: Disable flow control during flushes 2012-02-16 00:25:07 +00:00
nic.c sfc: Disable flow control during flushes 2012-02-16 00:25:07 +00:00
nic.h sfc: Generalise event generation to cover VF-owned event queues 2012-02-16 00:25:06 +00:00
phy.h
qt202x_phy.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
regs.h sfc: Correct MAC filter bitfield definitions 2012-02-16 00:11:31 +00:00
rx.c sfc: Leave interrupts and event queues enabled whenever we can 2012-02-16 00:24:46 +00:00
selftest.c sfc: Remove remnants of on-load self-test 2012-01-27 00:10:55 +00:00
selftest.h sfc: Remove dependence on NAPI polling in efx_test_eventq_irq() 2012-01-27 00:10:51 +00:00
siena.c sfc: Add hwmon driver for boards using SFC9000-family controllers 2012-01-27 00:10:53 +00:00
spi.h sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tenxpress.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tx.c sfc: Replace some literal constants with EFX_PAGE_SIZE/EFX_BUF_SIZE 2012-02-13 23:40:49 +00:00
txc43128_phy.c sfc: Const-qualify static data as appropriate, partly prompted by checkpatch 2012-01-09 17:08:13 +00:00
workarounds.h Merge branch 'master' of github.com:davem330/net 2011-09-22 03:23:13 -04:00