linux/drivers/staging/octeon
Aaro Koskinen 710086dbbb staging: octeon: refactor rgmii 10 mbps preamble error checking
Refactor RGMII 10 Mbps preamble error checking. The current implementation
does not work correctly in phydev mode since only the link status changes
trigger the callback, and if we stay on 10 Mbps operation the periodic
checks for error counters are never done.

Provide a periodic worker also during the phydev operation, and notify
the link status changes through the phydev instead of the inband
status change interrupt. This also has the benefit that we don't need
to use legacy CVMX MDIO calls to check the PHY state, and we can avoid
races that trigger bogus "Using 10Mbps with software preamble removal"
logs when interfaces are being bringed up. It also avoids some corner-case
crashes when the in-band interrupt triggers while the interface is
being taken down.

Tested on EdgeRouter Lite & D-Link DSR-1000N.

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-11 19:40:02 -08:00
..
ethernet-defines.h staging: octeon: Add space around '+' 2015-11-15 20:02:47 -08:00
ethernet-mdio.c staging: octeon: refactor rgmii 10 mbps preamble error checking 2016-02-11 19:40:02 -08:00
ethernet-mdio.h staging: octeon: Remove unnecessary externs 2015-08-14 18:51:56 -07:00
ethernet-mem.c staging: octeon-ethernet: update boilerplate comments 2015-04-30 17:06:09 +02:00
ethernet-mem.h staging: octeon-ethernet: update boilerplate comments 2015-04-30 17:06:09 +02:00
ethernet-rgmii.c staging: octeon: refactor rgmii 10 mbps preamble error checking 2016-02-11 19:40:02 -08:00
ethernet-rx.c staging: octeon: Add kernel-doc params description 2015-10-04 08:51:31 +01:00
ethernet-rx.h staging: octeon-ethernet: update boilerplate comments 2015-04-30 17:06:09 +02:00
ethernet-sgmii.c staging: octeon-ethernet: drop poll_now parameter from cvm_oct_common_open 2015-10-17 20:56:10 -07:00
ethernet-spi.c staging: octeon-ethernet: update boilerplate comments 2015-04-30 17:06:09 +02:00
ethernet-tx.c staging: octeon: Add spaces around operators 2016-02-11 19:40:02 -08:00
ethernet-tx.h staging: octeon-ethernet: update boilerplate comments 2015-04-30 17:06:09 +02:00
ethernet-util.h STAGING: Octeon: Use common helpers for determining interface and port 2015-09-03 12:08:11 +02:00
ethernet.c staging: octeon: refactor rgmii 10 mbps preamble error checking 2016-02-11 19:40:02 -08:00
Kconfig
Makefile staging: octeon-ethernet: move cvm_oct_xaui_open() 2015-10-17 20:56:10 -07:00
octeon-ethernet.h staging: octeon: refactor rgmii 10 mbps preamble error checking 2016-02-11 19:40:02 -08:00