Skip to content

Commit

Permalink
tg3: Remove SPEED_UNKNOWN checks
Browse files Browse the repository at this point in the history
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: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Matt Carlson authored and David S. Miller committed Feb 23, 2012
1 parent 34655ad commit d13ba51
Showing 1 changed file with 23 additions and 44 deletions.
67 changes: 23 additions & 44 deletions drivers/net/ethernet/broadcom/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
u32 new_adv;
int i;

if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
new_adv = ADVERTISED_10baseT_Half |
ADVERTISED_10baseT_Full;
if (tg3_flag(tp, WOL_SPEED_100MB))
new_adv |= ADVERTISED_100baseT_Half |
ADVERTISED_100baseT_Full;

tg3_phy_autoneg_cfg(tp, new_adv,
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;
if (tp->link_config.autoneg == AUTONEG_ENABLE ||
(tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) {
u32 adv, fc;

if (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER) {
adv = ADVERTISED_10baseT_Half |
ADVERTISED_10baseT_Full;
if (tg3_flag(tp, WOL_SPEED_100MB))
adv |= ADVERTISED_100baseT_Half |
ADVERTISED_100baseT_Full;

fc = FLOW_CTRL_TX | FLOW_CTRL_RX;
} else {
if (tp->link_config.duplex == DUPLEX_FULL)
new_adv = ADVERTISED_10baseT_Full;
else
new_adv = ADVERTISED_10baseT_Half;
adv = tp->link_config.advertising;
if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
adv &= ~(ADVERTISED_1000baseT_Half |
ADVERTISED_1000baseT_Full);

fc = tp->link_config.flowctrl;
}

tg3_phy_autoneg_cfg(tp, new_adv,
tp->link_config.flowctrl);
}
tg3_phy_autoneg_cfg(tp, adv, fc);

if (tp->link_config.autoneg == AUTONEG_DISABLE &&
tp->link_config.speed != SPEED_UNKNOWN) {
tg3_writephy(tp, MII_BMCR,
BMCR_ANENABLE | BMCR_ANRESTART);
} else {
int i;
u32 bmcr, orig_bmcr;

tp->link_config.active_speed = tp->link_config.speed;
Expand Down Expand Up @@ -3980,9 +3962,6 @@ static void tg3_phy_copper_begin(struct tg3 *tp)
tg3_writephy(tp, MII_BMCR, bmcr);
udelay(40);
}
} else {
tg3_writephy(tp, MII_BMCR,
BMCR_ANENABLE | BMCR_ANRESTART);
}
}

Expand Down

0 comments on commit d13ba51

Please sign in to comment.