Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bd21d964 authored by Pawel Dembicki's avatar Pawel Dembicki Committed by Greg Kroah-Hartman
Browse files

net: phy: vitesse: repair vsc73xx autonegotiation



[ Upstream commit de7a670f8defe4ed2115552ad23dea0f432f7be4 ]

When the vsc73xx mdio bus work properly, the generic autonegotiation
configuration works well.

Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarPawel Dembicki <paweldembicki@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent ef2c4556
Loading
Loading
Loading
Loading
+0 −14
Original line number Diff line number Diff line
@@ -232,16 +232,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. */
@@ -424,7 +414,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,
}, {
@@ -433,7 +422,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,
}, {
@@ -442,7 +430,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,
}, {
@@ -451,7 +438,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,
}, {