• Vladimir Oltean's avatar
    net: dsa: sja1105: Rethink the PHYLINK callbacks · 8400cff6
    Vladimir Oltean authored
    The first fact that needs to be stated is that the per-MAC settings in
    SJA1105 called EGRESS and INGRESS do *not* disable egress and ingress on
    the MAC. They only prevent non-link-local traffic from being
    sent/received on this port.
    
    So instead of having .phylink_mac_config essentially mess with the STP
    state and force it to DISABLED/BLOCKING (which also brings useless
    complications in sja1105_static_config_reload), simply add the
    .phylink_mac_link_down and .phylink_mac_link_up callbacks which inhibit
    TX at the MAC level, while leaving RX essentially enabled.
    
    Also stop from trying to put the link down in .phylink_mac_config, which
    is incorrect.
    Signed-off-by: default avatarVladimir Oltean <olteanv@gmail.com>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8400cff6
sja1105_main.c 57.7 KB