|
|
@ -95,7 +95,7 @@ |
|
|
|
ret |= BMCR_ANENABLE | BMCR_ANRESTART;
|
|
|
|
ret |= BMCR_ANENABLE | BMCR_ANRESTART;
|
|
|
|
return phy_write(phydev, MII_BMCR, ret);
|
|
|
|
return phy_write(phydev, MII_BMCR, ret);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -2012,7 +2012,7 @@ ar8xxx_phy_config_init(struct phy_device
|
|
|
|
@@ -2021,7 +2021,7 @@ ar8xxx_phy_config_init(struct phy_device
|
|
|
|
|
|
|
|
|
|
|
|
priv->phy = phydev;
|
|
|
|
priv->phy = phydev;
|
|
|
|
|
|
|
|
|
|
|
@ -104,7 +104,7 @@ |
|
|
|
if (chip_is_ar8316(priv)) {
|
|
|
|
if (chip_is_ar8316(priv)) {
|
|
|
|
/* switch device has been initialized, reinit */
|
|
|
|
/* switch device has been initialized, reinit */
|
|
|
|
priv->dev.ports = (AR8216_NUM_PORTS - 1);
|
|
|
|
priv->dev.ports = (AR8216_NUM_PORTS - 1);
|
|
|
|
@@ -2060,7 +2060,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
|
|
|
|
@@ -2069,7 +2069,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
|
|
|
|
/* flush ARL entries for this port if it went down*/
|
|
|
|
/* flush ARL entries for this port if it went down*/
|
|
|
|
if (!link_new)
|
|
|
|
if (!link_new)
|
|
|
|
priv->chip->atu_flush_port(priv, i);
|
|
|
|
priv->chip->atu_flush_port(priv, i);
|
|
|
@ -113,7 +113,7 @@ |
|
|
|
i, link_new ? "up" : "down");
|
|
|
|
i, link_new ? "up" : "down");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -2079,10 +2079,10 @@ ar8xxx_phy_read_status(struct phy_device
|
|
|
|
@@ -2088,10 +2088,10 @@ ar8xxx_phy_read_status(struct phy_device
|
|
|
|
if (phydev->state == PHY_CHANGELINK)
|
|
|
|
if (phydev->state == PHY_CHANGELINK)
|
|
|
|
ar8xxx_check_link_states(priv);
|
|
|
|
ar8xxx_check_link_states(priv);
|
|
|
|
|
|
|
|
|
|
|
@ -126,7 +126,7 @@ |
|
|
|
phydev->link = !!link.link;
|
|
|
|
phydev->link = !!link.link;
|
|
|
|
if (!phydev->link)
|
|
|
|
if (!phydev->link)
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
@@ -2112,7 +2112,7 @@ ar8xxx_phy_read_status(struct phy_device
|
|
|
|
@@ -2122,7 +2122,7 @@ ar8xxx_phy_read_status(struct phy_device
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
ar8xxx_phy_config_aneg(struct phy_device *phydev)
|
|
|
|
ar8xxx_phy_config_aneg(struct phy_device *phydev)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -135,12 +135,12 @@ |
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
|
|
return genphy_config_aneg(phydev);
|
|
|
|
return genphy_config_aneg(phydev);
|
|
|
|
@@ -2167,15 +2167,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
|
|
|
@@ -2177,15 +2177,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
|
|
|
int ret;
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
|
|
|
|
/* skip PHYs at unused adresses */
|
|
|
|
/* skip PHYs at unused adresses */
|
|
|
|
- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 4)
|
|
|
|
- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 3 && phydev->mdio.addr != 4)
|
|
|
|
+ if (phydev->addr != 0 && phydev->addr != 4)
|
|
|
|
+ if (phydev->addr != 0 && phydev->addr != 3 && phydev->addr != 4)
|
|
|
|
return -ENODEV;
|
|
|
|
return -ENODEV;
|
|
|
|
|
|
|
|
|
|
|
|
- if (!ar8xxx_is_possible(phydev->mdio.bus))
|
|
|
|
- if (!ar8xxx_is_possible(phydev->mdio.bus))
|
|
|
@ -154,7 +154,7 @@ |
|
|
|
goto found;
|
|
|
|
goto found;
|
|
|
|
|
|
|
|
|
|
|
|
priv = ar8xxx_create();
|
|
|
|
priv = ar8xxx_create();
|
|
|
|
@@ -2184,7 +2184,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
|
|
|
@@ -2194,7 +2194,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
|
|
|
goto unlock;
|
|
|
|
goto unlock;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -163,7 +163,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
ret = ar8xxx_probe_switch(priv);
|
|
|
|
ret = ar8xxx_probe_switch(priv);
|
|
|
|
if (ret)
|
|
|
|
if (ret)
|
|
|
|
@@ -2205,7 +2205,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
|
|
|
@@ -2215,7 +2215,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
|
|
|
found:
|
|
|
|
found:
|
|
|
|
priv->use_count++;
|
|
|
|
priv->use_count++;
|
|
|
|
|
|
|
|
|
|
|
@ -172,7 +172,7 @@ |
|
|
|
if (ar8xxx_has_gige(priv)) {
|
|
|
|
if (ar8xxx_has_gige(priv)) {
|
|
|
|
phydev->supported = SUPPORTED_1000baseT_Full;
|
|
|
|
phydev->supported = SUPPORTED_1000baseT_Full;
|
|
|
|
phydev->advertising = ADVERTISED_1000baseT_Full;
|
|
|
|
phydev->advertising = ADVERTISED_1000baseT_Full;
|
|
|
|
@@ -2293,21 +2293,33 @@ ar8xxx_phy_soft_reset(struct phy_device
|
|
|
|
@@ -2305,21 +2305,33 @@ ar8xxx_phy_soft_reset(struct phy_device
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -223,7 +223,7 @@ |
|
|
|
MODULE_LICENSE("GPL");
|
|
|
|
MODULE_LICENSE("GPL");
|
|
|
|
--- a/drivers/net/phy/ar8327.c
|
|
|
|
--- a/drivers/net/phy/ar8327.c
|
|
|
|
+++ b/drivers/net/phy/ar8327.c
|
|
|
|
+++ b/drivers/net/phy/ar8327.c
|
|
|
|
@@ -619,11 +619,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
|
|
|
|
@@ -662,11 +662,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
|
|
|
|
if (!priv->chip_data)
|
|
|
|
if (!priv->chip_data)
|
|
|
|
return -ENOMEM;
|
|
|
|
return -ENOMEM;
|
|
|
|
|
|
|
|
|
|
|
|