linux/drivers/net
Denys Vlasenko ab507c9a54 e1000e: e1000e_cyclecounter_read(): do overflow check only if needed
SYSTIMH:SYSTIML registers are incremented by 24-bit value TIMINCA[23..0]

er32(SYSTIML) are probably moderately expensive (they are pci bus reads).
Can we avoid one of them? Yes, we can.

If the SYSTIML value we see is smaller than 0xff000000, the overflow
into SYSTIMH would require at least two increments.

We do two reads, er32(SYSTIML) and er32(SYSTIMH), in this order.

Even if one increment happens between them, the overflow into SYSTIMH
is impossible, and we can avoid doing another er32(SYSTIML) read
and overflow check.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-05-13 14:56:35 -07:00
..
appletalk treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
arcnet arcnet: com90xx: add __init attribute 2016-04-19 20:17:45 -04:00
bonding bonding: fix bond_get_stats() 2016-03-18 23:14:15 -04:00
caif
can can: ifi: Add more detailed error reporting 2016-05-09 11:07:28 +02:00
cris treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
dsa dsa: mv88e6xxx: Handle eeprom-length property 2016-05-11 19:36:29 -04:00
ethernet e1000e: e1000e_cyclecounter_read(): do overflow check only if needed 2016-05-13 14:56:35 -07:00
fddi
fjes fjes: Fix unnecessary spinlock_irqsave 2016-05-09 22:05:51 -04:00
hamradio treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
hippi
hyperv hv_netvsc: Fix the list processing for network change event 2016-04-24 23:27:58 -04:00
ieee802154 ieee802154: atusb: update my copyright years for this driver 2016-04-21 00:21:28 +02:00
ipvlan ipvlan: Fix failure path in dev registration during link creation 2016-04-28 17:23:08 -04:00
irda treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
phy phy: micrel: Use MICREL_PHY_ID_MASK definition 2016-05-12 16:55:33 -04:00
plip
ppp ppp: add rtnetlink device creation support 2016-04-29 16:09:44 -04:00
slip treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
team team: team should sync the port's uc/mc addrs when add a port 2016-03-30 17:06:58 -04:00
usb usbnet: smsc95xx: silence an uninitialized variable warning 2016-05-04 16:58:57 -04:00
vmxnet3 Driver: Vmxnet3: set CHECKSUM_UNNECESSARY for IPv6 packets 2016-04-21 15:28:05 -04:00
wan treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
wimax treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
wireless treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
xen-netback xen-netback: reduce log spam 2016-03-13 22:08:01 -04:00
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-09 15:59:24 -04:00
gtp.c gtp: put back reference to netns when not required anymore 2016-05-12 12:27:15 -04:00
ifb.c ifb: support more features 2016-05-09 00:00:28 -04:00
Kconfig gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U) 2016-05-10 12:25:04 -04:00
LICENSE.SRC
loopback.c
macsec.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-09 15:59:24 -04:00
macvlan.c macvlan: fix failure during registration v3 2016-04-26 15:17:18 -04:00
macvtap.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-09 15:59:24 -04:00
Makefile gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U) 2016-05-10 12:25:04 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c drivers: net: remove NETDEV_TX_LOCKED 2016-04-26 15:53:05 -04:00
sb1000.c
Space.c
sungem_phy.c
tun.c tuntap: calculate rps hash only when needed 2016-04-28 16:38:54 -04:00
veth.c veth: Update features to include all tunnel GSO types 2016-04-21 14:14:59 -04:00
virtio_net.c virtio/vhost: new features, performance improvements, cleanups 2016-03-20 13:28:18 -07:00
vrf.c net: l3mdev: Add hook in ip and ipv6 2016-05-11 19:31:40 -04:00
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-09 15:59:24 -04:00
xen-netfront.c