OSDN Git Service

net: dsa: microchip: Disable RGMII in-band status on KSZ9893
authorPaul Barker <pbarker@konsulko.com>
Wed, 9 Sep 2020 10:04:16 +0000 (11:04 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Sep 2020 18:26:32 +0000 (11:26 -0700)
We can't assume that the link partner supports the in-band status
reporting which is enabled by default on the KSZ9893 when using RGMII
for the upstream port.

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz9477.c

index d903082..b62dd64 100644 (file)
@@ -1235,6 +1235,9 @@ static void ksz9477_port_setup(struct ksz_device *dev, int port, bool cpu_port)
                        if (dev->interface == PHY_INTERFACE_MODE_RGMII_ID ||
                            dev->interface == PHY_INTERFACE_MODE_RGMII_TXID)
                                data8 |= PORT_RGMII_ID_EG_ENABLE;
+                       /* On KSZ9893, disable RGMII in-band status support */
+                       if (dev->features & IS_9893)
+                               data8 &= ~PORT_MII_MAC_MODE;
                        p->phydev.speed = SPEED_1000;
                        break;
                }