linux/drivers/net
Edward Cree de1deff994 sfc: allow PIO more often
If an option descriptor has been sent on a queue but not followed by a
 packet, there will have been no completion event, so the read and write
 counts won't match and we'll think we can't do PIO.  This combines with
 the fact that we have two TX queues (for en/disable checksum offload),
 and that both must be empty for PIO to happen.
This patch adds a separate "packet_write_count" that tracks the most
 recent write_count we expect to see a completion event for; this excludes
 option descriptors but _includes_ PIO descriptors (even though they look
 like option descriptors).  This is then used, rather than write_count,
 in efx_nic_tx_is_empty().
We only bother to maintain packet_write_count on EF10, since on Siena
 (a) there are no option descriptors and it always equals write_count, and
 (b) there's no PIO, so we don't need it anyway.

Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-01-16 14:00:46 -05:00
..
appletalk net/appletalk: Fix kernel memory disclosure 2017-01-09 16:34:39 -05:00
arcnet
bonding net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
caif
can ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
cris net: cris: make eth_v10.c explicitly non-modular 2016-10-31 20:58:34 -04:00
dsa net: dsa: mv88e6xxx: add EEPROM support to 6390 2017-01-13 20:17:01 -05:00
ethernet sfc: allow PIO more often 2017-01-16 14:00:46 -05:00
fddi fddi: skfp: Use more common logging styles 2016-12-29 11:37:14 -05:00
fjes net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
hamradio Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hippi Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hyperv net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
ieee802154 ktime: Cleanup ktime_set() usage 2016-12-25 17:21:22 +01:00
ipvlan ipvlan: improvise dev_id generation logic in IPvlan 2017-01-10 20:47:12 -05:00
irda Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
phy net: mdio-gpio: Use gpio subsystem to handle low-active pins 2017-01-12 15:05:10 -05:00
plip
ppp net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
slip net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
team net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
usb cdc-ether: usbnet_cdc_zte_status() can be static 2017-01-12 11:09:18 -05:00
vmxnet3 net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
wan net: wan: slic_ds26522: fix spelling mistake: "configurated" -> "configured" 2016-12-28 15:12:20 -05:00
wimax
wireless For 4.11, we seem to have more than in the past few releases: 2017-01-14 12:02:15 -05:00
xen-netback xen: features and fixes for 4.10 rc0 2016-12-13 16:07:55 -08:00
dummy.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
eql.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
geneve.c geneve: avoid use-after-free of skb->data 2016-12-02 14:07:11 -05:00
gtp.c gtp: Fix initialization of Flags octet in GTPv1 header 2016-12-17 12:00:25 -05:00
ifb.c net-tc: convert tc_from to tc_from_ingress and tc_redirected 2017-01-08 20:58:52 -05:00
Kconfig
LICENSE.SRC
loopback.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
macsec.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
macvlan.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
macvtap.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-12-16 10:24:44 -08:00
Makefile
mdio.c net: mdio: add mdio45_ethtool_ksettings_get 2017-01-02 16:59:10 -05:00
mii.c net: mii: report 0 for unknown lp_advertising 2016-11-09 20:26:58 -05:00
netconsole.c
nlmon.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
ntb_netdev.c
rionet.c
sb1000.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
Space.c
sungem_phy.c
tun.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
veth.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
virtio_net.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00
vrf.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-01-11 14:43:39 -05:00
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
xen-netfront.c net: make ndo_get_stats64 a void function 2017-01-08 17:51:44 -05:00