Skip to content

Commit

Permalink
tg3: Enable EEE support for capable 10/100 devs
Browse files Browse the repository at this point in the history
There are some devices in the 57765 ASIC rev that are EEE capable.
Unfortunately the EEE setup code only gets executed if the device is
gigabit capable.  This patch fixes the problem.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Matt Carlson authored and David S. Miller committed Dec 15, 2011
1 parent c48e074 commit 4f27209
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions drivers/net/ethernet/broadcom/tg3.c
Original file line number Diff line number Diff line change
Expand Up @@ -3595,18 +3595,17 @@ static int tg3_phy_autoneg_cfg(struct tg3 *tp, u32 advertise, u32 flowctrl)
if (err)
goto done;

if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY)
goto done;

new_adv = ethtool_adv_to_mii_ctrl1000_t(advertise);
if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
new_adv = ethtool_adv_to_mii_ctrl1000_t(advertise);

if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 ||
tp->pci_chip_rev_id == CHIPREV_ID_5701_B0)
new_adv |= CTL1000_AS_MASTER | CTL1000_ENABLE_MASTER;
if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 ||
tp->pci_chip_rev_id == CHIPREV_ID_5701_B0)
new_adv |= CTL1000_AS_MASTER | CTL1000_ENABLE_MASTER;

err = tg3_writephy(tp, MII_CTRL1000, new_adv);
if (err)
goto done;
err = tg3_writephy(tp, MII_CTRL1000, new_adv);
if (err)
goto done;
}

if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP))
goto done;
Expand Down

0 comments on commit 4f27209

Please sign in to comment.