]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: phy: vitesse: repair vsc73xx autonegotiation
authorPawel Dembicki <paweldembicki@gmail.com>
Fri, 9 Aug 2024 19:38:06 +0000 (21:38 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Aug 2024 10:46:55 +0000 (11:46 +0100)
When the vsc73xx mdio bus work properly, the generic autonegotiation
configuration works well.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/vitesse.c

index 897b979ec03c81593505d24fb4a51e502ddb5e83..3b5fcaf0dd36db1667e77428a4fbe912cdd8ef82 100644 (file)
@@ -237,16 +237,6 @@ static int vsc739x_config_init(struct phy_device *phydev)
        return 0;
 }
 
-static int vsc73xx_config_aneg(struct phy_device *phydev)
-{
-       /* The VSC73xx switches does not like to be instructed to
-        * do autonegotiation in any way, it prefers that you just go
-        * with the power-on/reset defaults. Writing some registers will
-        * just make autonegotiation permanently fail.
-        */
-       return 0;
-}
-
 /* This adds a skew for both TX and RX clocks, so the skew should only be
  * applied to "rgmii-id" interfaces. It may not work as expected
  * on "rgmii-txid", "rgmii-rxid" or "rgmii" interfaces.
@@ -444,7 +434,6 @@ static struct phy_driver vsc82xx_driver[] = {
        .phy_id_mask    = 0x000ffff0,
        /* PHY_GBIT_FEATURES */
        .config_init    = vsc738x_config_init,
-       .config_aneg    = vsc73xx_config_aneg,
        .read_page      = vsc73xx_read_page,
        .write_page     = vsc73xx_write_page,
 }, {
@@ -453,7 +442,6 @@ static struct phy_driver vsc82xx_driver[] = {
        .phy_id_mask    = 0x000ffff0,
        /* PHY_GBIT_FEATURES */
        .config_init    = vsc738x_config_init,
-       .config_aneg    = vsc73xx_config_aneg,
        .read_page      = vsc73xx_read_page,
        .write_page     = vsc73xx_write_page,
 }, {
@@ -462,7 +450,6 @@ static struct phy_driver vsc82xx_driver[] = {
        .phy_id_mask    = 0x000ffff0,
        /* PHY_GBIT_FEATURES */
        .config_init    = vsc739x_config_init,
-       .config_aneg    = vsc73xx_config_aneg,
        .read_page      = vsc73xx_read_page,
        .write_page     = vsc73xx_write_page,
 }, {
@@ -471,7 +458,6 @@ static struct phy_driver vsc82xx_driver[] = {
        .phy_id_mask    = 0x000ffff0,
        /* PHY_GBIT_FEATURES */
        .config_init    = vsc739x_config_init,
-       .config_aneg    = vsc73xx_config_aneg,
        .read_page      = vsc73xx_read_page,
        .write_page     = vsc73xx_write_page,
 }, {