Commit bfb3a9df authored by David S. Miller's avatar David S. Miller

Merge branch 'bcm7xxx-fixes'

Florian Fainelli says:

====================
Subject: [PATCH net v2 0/4] net: phy: bcm7xxx 40nm PHY fixes

Here is a collection of fixes for the 40nm Ethernet PHY supported
by the 7xxx PHY driver, please also queue these fixes for stable.

Changes in v2:

- dropped the cleanup patch, not appropriate
- added another patch removing bogus wildcard entries
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 5d8e498f 815717d1
...@@ -250,10 +250,6 @@ static int bcm7xxx_config_init(struct phy_device *phydev) ...@@ -250,10 +250,6 @@ static int bcm7xxx_config_init(struct phy_device *phydev)
phy_write(phydev, MII_BCM7XXX_AUX_MODE, MII_BCM7XX_64CLK_MDIO); phy_write(phydev, MII_BCM7XXX_AUX_MODE, MII_BCM7XX_64CLK_MDIO);
phy_read(phydev, MII_BCM7XXX_AUX_MODE); phy_read(phydev, MII_BCM7XXX_AUX_MODE);
/* Workaround only required for 100Mbits/sec capable PHYs */
if (phydev->supported & PHY_GBIT_FEATURES)
return 0;
/* set shadow mode 2 */ /* set shadow mode 2 */
ret = phy_set_clr_bits(phydev, MII_BCM7XXX_TEST, ret = phy_set_clr_bits(phydev, MII_BCM7XXX_TEST,
MII_BCM7XXX_SHD_MODE_2, MII_BCM7XXX_SHD_MODE_2); MII_BCM7XXX_SHD_MODE_2, MII_BCM7XXX_SHD_MODE_2);
...@@ -270,7 +266,7 @@ static int bcm7xxx_config_init(struct phy_device *phydev) ...@@ -270,7 +266,7 @@ static int bcm7xxx_config_init(struct phy_device *phydev)
phy_write(phydev, MII_BCM7XXX_100TX_FALSE_CAR, 0x7555); phy_write(phydev, MII_BCM7XXX_100TX_FALSE_CAR, 0x7555);
/* reset shadow mode 2 */ /* reset shadow mode 2 */
ret = phy_set_clr_bits(phydev, MII_BCM7XXX_TEST, MII_BCM7XXX_SHD_MODE_2, 0); ret = phy_set_clr_bits(phydev, MII_BCM7XXX_TEST, 0, MII_BCM7XXX_SHD_MODE_2);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -307,11 +303,6 @@ static int bcm7xxx_suspend(struct phy_device *phydev) ...@@ -307,11 +303,6 @@ static int bcm7xxx_suspend(struct phy_device *phydev)
return 0; return 0;
} }
static int bcm7xxx_dummy_config_init(struct phy_device *phydev)
{
return 0;
}
#define BCM7XXX_28NM_GPHY(_oui, _name) \ #define BCM7XXX_28NM_GPHY(_oui, _name) \
{ \ { \
.phy_id = (_oui), \ .phy_id = (_oui), \
...@@ -337,7 +328,7 @@ static struct phy_driver bcm7xxx_driver[] = { ...@@ -337,7 +328,7 @@ static struct phy_driver bcm7xxx_driver[] = {
.phy_id = PHY_ID_BCM7425, .phy_id = PHY_ID_BCM7425,
.phy_id_mask = 0xfffffff0, .phy_id_mask = 0xfffffff0,
.name = "Broadcom BCM7425", .name = "Broadcom BCM7425",
.features = PHY_GBIT_FEATURES | .features = PHY_BASIC_FEATURES |
SUPPORTED_Pause | SUPPORTED_Asym_Pause, SUPPORTED_Pause | SUPPORTED_Asym_Pause,
.flags = PHY_IS_INTERNAL, .flags = PHY_IS_INTERNAL,
.config_init = bcm7xxx_config_init, .config_init = bcm7xxx_config_init,
...@@ -349,7 +340,7 @@ static struct phy_driver bcm7xxx_driver[] = { ...@@ -349,7 +340,7 @@ static struct phy_driver bcm7xxx_driver[] = {
.phy_id = PHY_ID_BCM7429, .phy_id = PHY_ID_BCM7429,
.phy_id_mask = 0xfffffff0, .phy_id_mask = 0xfffffff0,
.name = "Broadcom BCM7429", .name = "Broadcom BCM7429",
.features = PHY_GBIT_FEATURES | .features = PHY_BASIC_FEATURES |
SUPPORTED_Pause | SUPPORTED_Asym_Pause, SUPPORTED_Pause | SUPPORTED_Asym_Pause,
.flags = PHY_IS_INTERNAL, .flags = PHY_IS_INTERNAL,
.config_init = bcm7xxx_config_init, .config_init = bcm7xxx_config_init,
...@@ -361,7 +352,7 @@ static struct phy_driver bcm7xxx_driver[] = { ...@@ -361,7 +352,7 @@ static struct phy_driver bcm7xxx_driver[] = {
.phy_id = PHY_ID_BCM7435, .phy_id = PHY_ID_BCM7435,
.phy_id_mask = 0xfffffff0, .phy_id_mask = 0xfffffff0,
.name = "Broadcom BCM7435", .name = "Broadcom BCM7435",
.features = PHY_GBIT_FEATURES | .features = PHY_BASIC_FEATURES |
SUPPORTED_Pause | SUPPORTED_Asym_Pause, SUPPORTED_Pause | SUPPORTED_Asym_Pause,
.flags = PHY_IS_INTERNAL, .flags = PHY_IS_INTERNAL,
.config_init = bcm7xxx_config_init, .config_init = bcm7xxx_config_init,
...@@ -369,30 +360,6 @@ static struct phy_driver bcm7xxx_driver[] = { ...@@ -369,30 +360,6 @@ static struct phy_driver bcm7xxx_driver[] = {
.read_status = genphy_read_status, .read_status = genphy_read_status,
.suspend = bcm7xxx_suspend, .suspend = bcm7xxx_suspend,
.resume = bcm7xxx_config_init, .resume = bcm7xxx_config_init,
}, {
.phy_id = PHY_BCM_OUI_4,
.phy_id_mask = 0xffff0000,
.name = "Broadcom BCM7XXX 40nm",
.features = PHY_GBIT_FEATURES |
SUPPORTED_Pause | SUPPORTED_Asym_Pause,
.flags = PHY_IS_INTERNAL,
.config_init = bcm7xxx_config_init,
.config_aneg = genphy_config_aneg,
.read_status = genphy_read_status,
.suspend = bcm7xxx_suspend,
.resume = bcm7xxx_config_init,
}, {
.phy_id = PHY_BCM_OUI_5,
.phy_id_mask = 0xffffff00,
.name = "Broadcom BCM7XXX 65nm",
.features = PHY_BASIC_FEATURES |
SUPPORTED_Pause | SUPPORTED_Asym_Pause,
.flags = PHY_IS_INTERNAL,
.config_init = bcm7xxx_dummy_config_init,
.config_aneg = genphy_config_aneg,
.read_status = genphy_read_status,
.suspend = bcm7xxx_suspend,
.resume = bcm7xxx_config_init,
} }; } };
static struct mdio_device_id __maybe_unused bcm7xxx_tbl[] = { static struct mdio_device_id __maybe_unused bcm7xxx_tbl[] = {
...@@ -404,8 +371,6 @@ static struct mdio_device_id __maybe_unused bcm7xxx_tbl[] = { ...@@ -404,8 +371,6 @@ static struct mdio_device_id __maybe_unused bcm7xxx_tbl[] = {
{ PHY_ID_BCM7439, 0xfffffff0, }, { PHY_ID_BCM7439, 0xfffffff0, },
{ PHY_ID_BCM7435, 0xfffffff0, }, { PHY_ID_BCM7435, 0xfffffff0, },
{ PHY_ID_BCM7445, 0xfffffff0, }, { PHY_ID_BCM7445, 0xfffffff0, },
{ PHY_BCM_OUI_4, 0xffff0000 },
{ PHY_BCM_OUI_5, 0xffffff00 },
{ } { }
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment