mirror_ubuntu-kernels/drivers/net/ethernet
Andrew Lunn f166f890c8 net: ethernet: fec: Replace interrupt driven MDIO with polled IO
Measurements of the MDIO bus have shown that driving the MDIO bus
using interrupts is slow. Back to back MDIO transactions take about
90us, with 25us spent performing the transaction, and the remainder of
the time the bus is idle.

Replacing the completion interrupt with polled IO results in back to
back transactions of 40us. The polling loop waiting for the hardware
to complete the transaction takes around 28us. Which suggests
interrupt handling has an overhead of 50us, and polled IO nearly
halves this overhead, and doubles the MDIO performance.

Care has to be taken when setting the MII_SPEED register, or it can
trigger an MII event> That then upsets the polling, due to an
unexpected pending event.

Suggested-by: Chris Heally <cphealy@gmail.com>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-02 16:41:34 -07:00
..
3com docs: networking: device drivers: convert 3com/vortex.txt to ReST 2020-05-01 12:24:41 -07:00
8390
adaptec drivers: Remove inclusion of vermagic header 2020-04-21 13:27:37 -07:00
aeroflex
agere
alacritech
allwinner
alteon
altera
amazon net: ena: Make some functions static 2020-03-30 10:53:40 -07:00
amd amd-xgbe: Use __napi_schedule() in BH context 2020-04-16 13:59:53 -07:00
apm net/apm: Properly mark absence of FW 2020-02-24 11:24:47 -08:00
apple
aquantia net: atlantic: A2 ingress / egress hw configuration 2020-05-01 15:37:59 -07:00
arc net/arc: Delete driver version 2020-02-24 11:24:47 -08:00
atheros net: ag71xx: extend link validation to support other SoCs 2020-04-27 10:09:21 -07:00
aurora
broadcom net: bcmgenet: Move wake-up event out of side band ISR 2020-05-01 15:54:33 -07:00
brocade net: bna: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
cadence net: macb: Fix handling of fixed-link node 2020-03-31 10:06:27 -07:00
calxeda
cavium liquidio: remove unused inline functions 2020-04-25 20:42:57 -07:00
chelsio docs: networking: device drivers: convert chelsio/cxgb.txt to ReST 2020-05-01 12:24:41 -07:00
cirrus docs: networking: device drivers: convert cirrus/cs89x0.txt to ReST 2020-05-01 12:24:41 -07:00
cisco enic: let core reject the unsupported coalescing parameters 2020-03-05 12:12:34 -08:00
cortina net: gemini: reject unsupported coalescing params 2020-03-10 16:28:53 -07:00
davicom net/davicom: Delete ethtool version assignment 2020-03-03 17:54:54 -08:00
dec docs: networking: device drivers: convert dec/dmfe.txt to ReST 2020-05-01 12:24:42 -07:00
dlink docs: networking: device drivers: convert dlink/dl2k.txt to ReST 2020-05-01 12:24:42 -07:00
emulex net: be2net: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
ezchip
faraday net/faraday: Fix unnecessary check in ftmac100_probe() 2020-04-30 12:20:54 -07:00
freescale net: ethernet: fec: Replace interrupt driven MDIO with polled IO 2020-05-02 16:41:34 -07:00
fujitsu
google
hisilicon net: hns3: adds support for reading module eeprom info 2020-04-29 11:41:33 -07:00
huawei hinic: Use kmemdup instead of kzalloc and memcpy 2020-04-30 20:59:34 -07:00
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-12 22:34:48 -07:00
intel ice: Fix error return code in ice_add_prof() 2020-04-30 20:29:09 -07:00
marvell octeontx2-pf: Fix error return code in otx2_probe() 2020-04-30 20:28:34 -07:00
mediatek net: ethernet: mediatek: move mt7623 settings out off the mt7530 2020-04-07 18:28:28 -07:00
mellanox mlx5-updates-2020-04-30 2020-04-30 13:15:16 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
microchip
moxa
mscc net: mscc: ocelot: lift protocol restriction for flow_match_eth_addrs keys 2020-04-22 11:40:51 -07:00
myricom net: myri10ge: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
natsemi
neterion docs: networking: device drivers: convert neterion/vxge.txt to ReST 2020-05-01 12:24:42 -07:00
netronome net/nfp: Update driver to use global kernel version 2020-04-21 13:27:37 -07:00
ni net: nixge: let core reject the unsupported coalescing parameters 2020-03-14 21:13:54 -07:00
nvidia
nxp net: lpc-enet: fix error return code in lpc_mii_init() 2020-04-30 20:29:39 -07:00
oki-semi
packetengines
pasemi
pensando drivers: Remove inclusion of vermagic header 2020-04-21 13:27:37 -07:00
qlogic qlcnic: remove unused inline function qlcnic_hw_write_wx_2M 2020-04-25 20:42:57 -07:00
qualcomm net: qualcomm: rmnet: Allow configuration updates to existing devices 2020-04-02 06:50:04 -07:00
rdc
realtek r8169: switch from netif_xxx message functions to netdev_xxx 2020-05-01 12:53:06 -07:00
renesas
rocker
samsung net: sxgbe: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
seeq
sfc sfc: falcon: convert to use i2c_new_client_device() 2020-03-26 19:31:21 -07:00
sgi net: meth: remove spurious copyright text 2020-04-23 15:59:43 -07:00
silan
sis
smsc docs: networking: device drivers: convert smsc/smc9.txt to ReST 2020-05-01 12:24:42 -07:00
socionext net: socionext: reject unsupported coalescing params 2020-03-17 20:56:57 -07:00
stmicro net: ethernet: stmmac: simplify phy modes management for stm32 2020-05-01 15:17:32 -07:00
sun net: sun: Remove unneeded cast from memory allocation 2020-04-20 12:21:21 -07:00
synopsys net: dwc-xlgmac: let core reject the unsupported coalescing parameters 2020-03-17 20:56:57 -07:00
tehuti net: tehuti: reject unsupported coalescing params 2020-03-17 20:56:57 -07:00
ti drivers: net: davinci_mdio: fix potential NULL dereference in davinci_mdio_probe() 2020-05-01 15:27:09 -07:00
toshiba docs: networking: convert netconsole.txt to ReST 2020-04-30 12:56:36 -07:00
tundra
via net: via: reject unsupported coalescing params 2020-03-14 21:13:55 -07:00
wiznet
xilinx net: ll_temac: Fix return value check in temac_probe() 2020-04-30 20:39:22 -07:00
xircom
xscale net: ethernet: ixp4xx: Add error handling in ixp4xx_eth_probe() 2020-04-23 15:32:45 -07:00
dnet.c net: ethernet: dnet: convert to devm_platform_get_and_ioremap_resource 2020-04-20 12:18:13 -07:00
dnet.h net/dnet: Delete static version from the driver 2020-03-03 17:54:55 -08:00
ec_bhf.c
ethoc.c
fealnx.c net/fealnx: Delete driver version 2020-03-03 17:54:55 -08:00
jme.c net: jme: reject unsupported coalescing params 2020-03-14 21:13:54 -07:00
jme.h
Kconfig
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile