diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2010-02-17 10:17:01 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-17 20:27:38 -0500 |
commit | 9ea4818dd39cc8c6b31c38c9f51d19d5d4ee0be6 (patch) | |
tree | 7002135dea5246364c2a17a6f037c050c50b4cb8 /drivers/net/tg3.c | |
parent | 0d86df808886d4e56c46a9c356dfb81146e3b6d1 (diff) |
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>
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index c38143b7b600..3a62cc50c210 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -1035,6 +1035,17 @@ static void tg3_mdio_start(struct tg3 *tp) | |||
1035 | tw32_f(MAC_MI_MODE, tp->mi_mode); | 1035 | tw32_f(MAC_MI_MODE, tp->mi_mode); |
1036 | udelay(80); | 1036 | udelay(80); |
1037 | 1037 | ||
1038 | if ((tp->tg3_flags3 & TG3_FLG3_MDIOBUS_INITED) && | ||
1039 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785) | ||
1040 | tg3_mdio_config_5785(tp); | ||
1041 | } | ||
1042 | |||
1043 | static int tg3_mdio_init(struct tg3 *tp) | ||
1044 | { | ||
1045 | int i; | ||
1046 | u32 reg; | ||
1047 | struct phy_device *phydev; | ||
1048 | |||
1038 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) { | 1049 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) { |
1039 | u32 funcnum, is_serdes; | 1050 | u32 funcnum, is_serdes; |
1040 | 1051 | ||
@@ -1054,17 +1065,6 @@ static void tg3_mdio_start(struct tg3 *tp) | |||
1054 | } else | 1065 | } else |
1055 | tp->phy_addr = TG3_PHY_MII_ADDR; | 1066 | tp->phy_addr = TG3_PHY_MII_ADDR; |
1056 | 1067 | ||
1057 | if ((tp->tg3_flags3 & TG3_FLG3_MDIOBUS_INITED) && | ||
1058 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5785) | ||
1059 | tg3_mdio_config_5785(tp); | ||
1060 | } | ||
1061 | |||
1062 | static int tg3_mdio_init(struct tg3 *tp) | ||
1063 | { | ||
1064 | int i; | ||
1065 | u32 reg; | ||
1066 | struct phy_device *phydev; | ||
1067 | |||
1068 | tg3_mdio_start(tp); | 1068 | tg3_mdio_start(tp); |
1069 | 1069 | ||
1070 | if (!(tp->tg3_flags3 & TG3_FLG3_USE_PHYLIB) || | 1070 | if (!(tp->tg3_flags3 & TG3_FLG3_USE_PHYLIB) || |