linux-stable/drivers/net/dsa
Andrew Lunn 294d711ee8 net: dsa: mv88e6xxx: Poll when no interrupt defined
Not all boards have the interrupt output from the switch connected to
a GPIO line. In such cases, phylib has to poll the internal PHYs,
rather than receive an interrupt when there is a change in the link
state. phylib polls once per second, and per PHY reads around 4
words. With a switch typically having 4 internal PHYs, this means 16
MDIO transactions per second.

Rather than performing this phylib level polling, have the driver poll
the interrupt status register. If the status register indicates an
interrupt condition processing of interrupts in the same way as if a
GPIO was used.

Polling 10 times a second places less load on the MDIO bus. But rather
than taking on average 0.5s to detect a link change, it takes less
than 0.05s. Additionally, other interrupts, such as the watchdog, ATU
and VTU violations will be reported.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-02-26 11:28:10 -05:00
..
b53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
microchip net: dsa: remove trans argument from mdb ops 2017-12-02 21:18:56 -05:00
mv88e6xxx net: dsa: mv88e6xxx: Poll when no interrupt defined 2018-02-26 11:28:10 -05:00
bcm_sf2.c net: dsa: bcm_sf2: Update compatible string for 7278B0 2017-12-15 10:57:04 -05:00
bcm_sf2.h net: dsa: bcm_sf2: Add support for IPv6 CFP rules 2017-10-23 03:06:47 +01:00
bcm_sf2_cfp.c net: dsa: bcm_sf2: Set correct CHAIN_ID and slice number mask 2017-11-30 14:21:35 -05:00
bcm_sf2_regs.h net: dsa: bcm_sf2: Allow matching arbitrary IPv4 mask lengths 2017-10-23 03:06:47 +01:00
dsa_loop.c net: dsa: remove trans argument from vlan ops 2017-12-02 21:18:55 -05:00
dsa_loop.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dsa_loop_bdinfo.c net: dsa: Mock-up driver 2017-04-01 12:39:32 -07:00
Kconfig net: dsa: Allow compiling out legacy support 2017-12-07 14:14:54 -05:00
lan9303-core.c net: dsa: lan9303: check error value from devm_gpiod_get_optional() 2018-01-15 13:18:02 -05:00
lan9303.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
lan9303_i2c.c net: dsa: lan9303: Adjust indenting 2017-11-08 13:29:06 +09:00
lan9303_mdio.c net: dsa: lan9303: Adjust indenting 2017-11-08 13:29:06 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mt7530.c net: dsa: mediatek: add VLAN support for MT7530 2017-12-15 10:31:54 -05:00
mt7530.h net: dsa: mediatek: add VLAN support for MT7530 2017-12-15 10:31:54 -05:00
mv88e6060.c net: dsa: Pass a port to get_tag_protocol() 2017-11-13 10:34:54 +09:00
mv88e6060.h net: dsa: Keep the mii bus and address in the private structure 2016-04-13 18:15:23 -04:00
qca8k.c net: dsa: Pass a port to get_tag_protocol() 2017-11-13 10:34:54 +09:00
qca8k.h net: dsa: call phy_init_eee in DSA layer 2017-08-01 20:09:10 -07:00