Commit d13ba512 authored by Matt Carlson's avatar Matt Carlson Committed by David S. Miller

tg3: Remove SPEED_UNKNOWN checks

tg3_phy_copper_begin() has code that configures the link
advertisements through the use of the link_config.speed and
link_config.duplex members.  The driver does not internally use these
members in this way, nor is it (currently) permitted via the ethtool
interface.  This patch removes the dead code.
Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 34655ad6
...@@ -3894,51 +3894,33 @@ static int tg3_phy_autoneg_cfg(struct tg3 *tp, u32 advertise, u32 flowctrl) ...@@ -3894,51 +3894,33 @@ static int tg3_phy_autoneg_cfg(struct tg3 *tp, u32 advertise, u32 flowctrl)
static void tg3_phy_copper_begin(struct tg3 *tp) static void tg3_phy_copper_begin(struct tg3 *tp)
{ {
u32 new_adv; if (tp->link_config.autoneg == AUTONEG_ENABLE ||
int i; (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
u32 adv, fc;
if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
new_adv = ADVERTISED_10baseT_Half | if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
ADVERTISED_10baseT_Full; adv = ADVERTISED_10baseT_Half |
if (tg3_flag(tp, WOL_SPEED_100MB)) ADVERTISED_10baseT_Full;
new_adv |= ADVERTISED_100baseT_Half | if (tg3_flag(tp, WOL_SPEED_100MB))
ADVERTISED_100baseT_Full; adv |= ADVERTISED_100baseT_Half |
ADVERTISED_100baseT_Full;
tg3_phy_autoneg_cfg(tp, new_adv,
FLOW_CTRL_TX | FLOW_CTRL_RX); fc = FLOW_CTRL_TX | FLOW_CTRL_RX;
} else if (tp->link_config.speed == SPEED_UNKNOWN) {
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
tp->link_config.advertising &=
~(ADVERTISED_1000baseT_Half |
ADVERTISED_1000baseT_Full);
tg3_phy_autoneg_cfg(tp, tp->link_config.advertising,
tp->link_config.flowctrl);
} else {
/* Asking for a specific link mode. */
if (tp->link_config.speed == SPEED_1000) {
if (tp->link_config.duplex == DUPLEX_FULL)
new_adv = ADVERTISED_1000baseT_Full;
else
new_adv = ADVERTISED_1000baseT_Half;
} else if (tp->link_config.speed == SPEED_100) {
if (tp->link_config.duplex == DUPLEX_FULL)
new_adv = ADVERTISED_100baseT_Full;
else
new_adv = ADVERTISED_100baseT_Half;
} else { } else {
if (tp->link_config.duplex == DUPLEX_FULL) adv = tp->link_config.advertising;
new_adv = ADVERTISED_10baseT_Full; if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
else adv &= ~(ADVERTISED_1000baseT_Half |
new_adv = ADVERTISED_10baseT_Half; ADVERTISED_1000baseT_Full);
fc = tp->link_config.flowctrl;
} }
tg3_phy_autoneg_cfg(tp, new_adv, tg3_phy_autoneg_cfg(tp, adv, fc);
tp->link_config.flowctrl);
}
if (tp->link_config.autoneg == AUTONEG_DISABLE && tg3_writephy(tp, MII_BMCR,
tp->link_config.speed != SPEED_UNKNOWN) { BMCR_ANENABLE | BMCR_ANRESTART);
} else {
int i;
u32 bmcr, orig_bmcr; u32 bmcr, orig_bmcr;
tp->link_config.active_speed = tp->link_config.speed; tp->link_config.active_speed = tp->link_config.speed;
...@@ -3980,9 +3962,6 @@ static void tg3_phy_copper_begin(struct tg3 *tp) ...@@ -3980,9 +3962,6 @@ static void tg3_phy_copper_begin(struct tg3 *tp)
tg3_writephy(tp, MII_BMCR, bmcr); tg3_writephy(tp, MII_BMCR, bmcr);
udelay(40); udelay(40);
} }
} else {
tg3_writephy(tp, MII_BMCR,
BMCR_ANENABLE | BMCR_ANRESTART);
} }
} }
......
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