aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/tg3.c
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2011-12-14 06:09:57 -0500
committerDavid S. Miller <davem@davemloft.net>2011-12-15 13:09:10 -0500
commit4f272096054b6154e31e850f192eef5782f156c6 (patch)
treebac3fb366c8fb4976f23042468f2f83ebe0534cb /drivers/net/ethernet/broadcom/tg3.c
parentc48e074c7c75c0de4652ea5f5bf4e74c8cf4e3dd (diff)
tg3: Enable EEE support for capable 10/100 devs
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>
Diffstat (limited to 'drivers/net/ethernet/broadcom/tg3.c')
-rw-r--r--drivers/net/ethernet/broadcom/tg3.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index 19791518f6ae..8a6ea1970ea7 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -3595,18 +3595,17 @@ static int tg3_phy_autoneg_cfg(struct tg3 *tp, u32 advertise, u32 flowctrl)
3595 if (err) 3595 if (err)
3596 goto done; 3596 goto done;
3597 3597
3598 if (tp->phy_flags & TG3_PHYFLG_10_100_ONLY) 3598 if (!(tp->phy_flags & TG3_PHYFLG_10_100_ONLY)) {
3599 goto done; 3599 new_adv = ethtool_adv_to_mii_ctrl1000_t(advertise);
3600
3601 new_adv = ethtool_adv_to_mii_ctrl1000_t(advertise);
3602 3600
3603 if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 || 3601 if (tp->pci_chip_rev_id == CHIPREV_ID_5701_A0 ||
3604 tp->pci_chip_rev_id == CHIPREV_ID_5701_B0) 3602 tp->pci_chip_rev_id == CHIPREV_ID_5701_B0)
3605 new_adv |= CTL1000_AS_MASTER | CTL1000_ENABLE_MASTER; 3603 new_adv |= CTL1000_AS_MASTER | CTL1000_ENABLE_MASTER;
3606 3604
3607 err = tg3_writephy(tp, MII_CTRL1000, new_adv); 3605 err = tg3_writephy(tp, MII_CTRL1000, new_adv);
3608 if (err) 3606 if (err)
3609 goto done; 3607 goto done;
3608 }
3610 3609
3611 if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP)) 3610 if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP))
3612 goto done; 3611 goto done;