mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-07-08 18:13:59 +02:00
net: phy: vitesse: repair vsc73xx autonegotiation
[ Upstream commit de7a670f8d ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9ef29b75f5
commit
be4e5f5bdc
@@ -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,
|
||||
}, {
|
||||
|
||||
Reference in New Issue
Block a user