linux/drivers/net/ethernet/freescale
Andrew Lunn 29ae6bd1b0 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.

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-04-20 12:37:07 -07:00
..
dpaa dpaa_eth: Make dpaa_a050385_wa static 2020-03-30 10:53:09 -07:00
dpaa2 net: dpaa2-mac: use resolved link config in mac_link_up() 2020-02-27 12:02:14 -08:00
enetc enetc: permit configuration of rx-vlan-filter with ethtool 2020-04-18 15:55:05 -07:00
fman Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
fs_enet net/freescale: Clean drivers from static versions 2020-03-03 17:54:55 -08:00
fec.h net: ethernet: fec: Replace interrupt driven MDIO with polled IO 2020-04-20 12:37:07 -07:00
fec_main.c net: ethernet: fec: Replace interrupt driven MDIO with polled IO 2020-04-20 12:37:07 -07:00
fec_mpc52xx.c net: convert suitable network drivers to use phy_do_ioctl 2020-01-21 10:50:41 +01:00
fec_mpc52xx.h
fec_mpc52xx_phy.c
fec_ptp.c net: fec_ptp: Use platform_get_irq_xxx_optional() to avoid error message 2019-10-29 17:57:16 -07:00
fsl_pq_mdio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
gianfar.c net/freescale: Clean drivers from static versions 2020-03-03 17:54:55 -08:00
gianfar.h net/freescale: Clean drivers from static versions 2020-03-03 17:54:55 -08:00
gianfar_ethtool.c net: gianfar: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
Kconfig net: ethernet: freescale: make UCC_GETH explicitly depend on PPC32 2019-12-09 13:59:03 -06:00
Makefile net: dsa: felix: fix link error 2020-01-08 16:05:54 -08:00
ucc_geth.c net/freescale: Clean drivers from static versions 2020-03-03 17:54:55 -08:00
ucc_geth.h net/freescale: Clean drivers from static versions 2020-03-03 17:54:55 -08:00
ucc_geth_ethtool.c net/freescale: Don't set zero if FW not-available in ucc_geth 2020-03-03 17:54:55 -08:00
xgmac_mdio.c net/fsl: treat fsl,erratum-a011043 2020-01-23 21:17:13 +01:00