tg3: Discover phy address once
The phy address will not change after it has been identified. Move the discovery code to a location that only gets executed once. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Reviewed-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
0d86df8088
commit
9ea4818dd3
|
@ -1035,6 +1035,17 @@ static void tg3_mdio_start(struct tg3 *tp)
|
|||
tw32_f(MAC_MI_MODE, tp->mi_mode);
|
||||
udelay(80);
|
||||
|
||||
if ((tp->tg3_flags3 & TG3_FLG3_MDIOBUS_INITED) &&
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785)
|
||||
tg3_mdio_config_5785(tp);
|
||||
}
|
||||
|
||||
static int tg3_mdio_init(struct tg3 *tp)
|
||||
{
|
||||
int i;
|
||||
u32 reg;
|
||||
struct phy_device *phydev;
|
||||
|
||||
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) {
|
||||
u32 funcnum, is_serdes;
|
||||
|
||||
|
@ -1054,17 +1065,6 @@ static void tg3_mdio_start(struct tg3 *tp)
|
|||
} else
|
||||
tp->phy_addr = TG3_PHY_MII_ADDR;
|
||||
|
||||
if ((tp->tg3_flags3 & TG3_FLG3_MDIOBUS_INITED) &&
|
||||
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785)
|
||||
tg3_mdio_config_5785(tp);
|
||||
}
|
||||
|
||||
static int tg3_mdio_init(struct tg3 *tp)
|
||||
{
|
||||
int i;
|
||||
u32 reg;
|
||||
struct phy_device *phydev;
|
||||
|
||||
tg3_mdio_start(tp);
|
||||
|
||||
if (!(tp->tg3_flags3 & TG3_FLG3_USE_PHYLIB) ||
|
||||
|
|
Loading…
Reference in a new issue