• Aaro Koskinen's avatar
    staging: octeon: refactor rgmii 10 mbps preamble error checking · 710086db
    Aaro Koskinen authored
    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: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
ethernet-rgmii.c 4.69 KB