net: dsa: mv88e6xxx: Don't force link when using in-band-status
When a port is configured with 'managed = "in-band-status"' switch chips like the 88E6390 need to propagate the SERDES link state to the MAC because the link state is not correctly detected. This causes problems on the 88E6185/88E6097 where the link partner won't see link state changes because we're forcing the link. To address this introduce a new device specific op port_sync_link() and push the logic from mv88e6xxx_mac_link_up() into that. Provide an implementation for the 88E6185 like devices which doesn't force the link. Signed-off-by:Chris Packham <chris.packham@alliedtelesis.co.nz> Reviewed-by:
Andrew Lunn <andrew@lunn.ch> Signed-off-by:
Jakub Kicinski <kuba@kernel.org>
Showing
- drivers/net/dsa/mv88e6xxx/chip.c 31 additions, 4 deletionsdrivers/net/dsa/mv88e6xxx/chip.c
- drivers/net/dsa/mv88e6xxx/chip.h 4 additions, 0 deletionsdrivers/net/dsa/mv88e6xxx/chip.h
- drivers/net/dsa/mv88e6xxx/port.c 36 additions, 0 deletionsdrivers/net/dsa/mv88e6xxx/port.c
- drivers/net/dsa/mv88e6xxx/port.h 3 additions, 0 deletionsdrivers/net/dsa/mv88e6xxx/port.h
Loading
Please register or sign in to comment