From 189aa4086965491c14cb1b7b0fd3018f2832ea03 Mon Sep 17 00:00:00 2001 From: Matt Carlson Date: Tue, 12 Jan 2010 10:11:38 +0000 Subject: [PATCH] --- yaml --- r: 179263 b: refs/heads/master c: d1ec96af77df611d1728f3bb70289f83a02df1ea h: refs/heads/master i: 179261: d71e0dd2a8a6434f4872f9c3f5cc242bde0adc7b 179259: 1bfbd31a10aaca6ea57030cac365203112b57e9f 179255: e1d355cd2d31a8cc35a5f070c9e5abd328ad5ed1 179247: 8c3773b650da3e75e3d251c35cad68c6a7d8b4c8 179231: 54543e61e3f4a0ee29c0fdc01ce16baf93d72c88 179199: 682ff24c12e4110bb9a74c499bca72b14dd1b926 v: v3 --- [refs] | 2 +- trunk/drivers/net/tg3.c | 9 +++++++-- trunk/drivers/net/tg3.h | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 7795dbd310ba..fbd1c289a757 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86cfe4ff02a51294cb2c974a8bedc7f648491df9 +refs/heads/master: d1ec96af77df611d1728f3bb70289f83a02df1ea diff --git a/trunk/drivers/net/tg3.c b/trunk/drivers/net/tg3.c index 4e8b87d1ffa9..0a632f96d16b 100644 --- a/trunk/drivers/net/tg3.c +++ b/trunk/drivers/net/tg3.c @@ -1037,7 +1037,11 @@ static void tg3_mdio_start(struct tg3 *tp) else tp->phy_addr = 1; - is_serdes = tr32(SG_DIG_STATUS) & SG_DIG_IS_SERDES; + if (tp->pci_chip_rev_id != CHIPREV_ID_5717_A0) + is_serdes = tr32(SG_DIG_STATUS) & SG_DIG_IS_SERDES; + else + is_serdes = tr32(TG3_CPMU_PHY_STRAP) & + TG3_CPMU_PHY_STRAP_IS_SERDES; if (is_serdes) tp->phy_addr += 7; } else @@ -12123,7 +12127,8 @@ static void __devinit tg3_get_eeprom_hw_cfg(struct tg3 *tp) tp->phy_id = eeprom_phy_id; if (eeprom_phy_serdes) { - if (tp->tg3_flags2 & TG3_FLG2_5780_CLASS) + if ((tp->tg3_flags2 & TG3_FLG2_5780_CLASS) || + GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717) tp->tg3_flags2 |= TG3_FLG2_MII_SERDES; else tp->tg3_flags2 |= TG3_FLG2_PHY_SERDES; diff --git a/trunk/drivers/net/tg3.h b/trunk/drivers/net/tg3.h index cd30889650f8..43ed41b9f559 100644 --- a/trunk/drivers/net/tg3.h +++ b/trunk/drivers/net/tg3.h @@ -1054,6 +1054,8 @@ #define CPMU_MUTEX_REQ_DRIVER 0x00001000 #define TG3_CPMU_MUTEX_GNT 0x00003660 #define CPMU_MUTEX_GNT_DRIVER 0x00001000 +#define TG3_CPMU_PHY_STRAP 0x00003664 +#define TG3_CPMU_PHY_STRAP_IS_SERDES 0x00000020 /* 0x3664 --> 0x3800 unused */ /* Mbuf cluster free registers */