diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2019-03-01 20:41:00 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-03-04 10:52:39 -0800 |
commit | 72d8b4fdbfb6192cec1ce25c46020fb48b62fa1e (patch) | |
tree | 7203201862479967c30a9096ca1fd1d99c2df106 /drivers/net/dsa/mv88e6xxx/chip.c | |
parent | cxgb4/chtls: Prefix adapter flags with CXGB4 (diff) | |
download | linux-dev-72d8b4fdbfb6192cec1ce25c46020fb48b62fa1e.tar.xz linux-dev-72d8b4fdbfb6192cec1ce25c46020fb48b62fa1e.zip |
net: dsa: mv88e6xxx: support in-band signalling on SGMII ports with external PHYs
If an external PHY is connected via SGMII and uses in-band signalling
then the auto-negotiated values aren't propagated to the port,
resulting in a broken link. See discussion in [0]. This patch adds
this propagation. We need to call mv88e6xxx_port_setup_mac(),
therefore export it from chip.c.
Successfully tested on a ZII DTU with 88E6390 switch and an
Aquantia AQCS109 PHY connected via SGMII to port 9.
[0] https://marc.info/?t=155130287200001&r=1&w=2
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/mv88e6xxx/chip.c')
-rw-r--r-- | drivers/net/dsa/mv88e6xxx/chip.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index e4ad16b2dc38..cb2b9c3bc08c 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -549,9 +549,9 @@ int mv88e6xxx_update(struct mv88e6xxx_chip *chip, int addr, int reg, u16 update) return mv88e6xxx_write(chip, addr, reg, val); } -static int mv88e6xxx_port_setup_mac(struct mv88e6xxx_chip *chip, int port, - int link, int speed, int duplex, int pause, - phy_interface_t mode) +int mv88e6xxx_port_setup_mac(struct mv88e6xxx_chip *chip, int port, int link, + int speed, int duplex, int pause, + phy_interface_t mode) { int err; |