aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2007-11-13 00:16:17 -0500
committerDavid S. Miller <davem@davemloft.net>2007-11-13 00:16:17 -0500
commit662f38d242488cfdcda7b3684ac610d3e4d568a7 (patch)
treee4557b5d2ec89f5d9b858e29ca40215eade01cef
parente875093c9659d2a9f3923aa9ee1b89ef40cf95b9 (diff)
[TG3]: Disable GPHY autopowerdown
New CPMU devices contend with the GPHY for power management. The GPHY autopowerdown feature is enabled by default in the PHY and thus needs to be disabled after every PHY reset. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/tg3.c6
-rw-r--r--drivers/net/tg3.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 25e57d8ddb51..b5c4799003e0 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -1117,6 +1117,12 @@ static int tg3_phy_reset(struct tg3 *tp)
1117 udelay(40); 1117 udelay(40);
1118 tw32_f(TG3_CPMU_LSPD_1000MB_CLK, val); 1118 tw32_f(TG3_CPMU_LSPD_1000MB_CLK, val);
1119 } 1119 }
1120
1121 /* Disable GPHY autopowerdown. */
1122 tg3_writephy(tp, MII_TG3_MISC_SHDW,
1123 MII_TG3_MISC_SHDW_WREN |
1124 MII_TG3_MISC_SHDW_APD_SEL |
1125 MII_TG3_MISC_SHDW_APD_WKTM_84MS);
1120 } 1126 }
1121 1127
1122out: 1128out:
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index f715b35dfd54..5b799ff2c4d6 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -1715,6 +1715,12 @@
1715#define MII_TG3_ISTAT 0x1a /* IRQ status register */ 1715#define MII_TG3_ISTAT 0x1a /* IRQ status register */
1716#define MII_TG3_IMASK 0x1b /* IRQ mask register */ 1716#define MII_TG3_IMASK 0x1b /* IRQ mask register */
1717 1717
1718#define MII_TG3_MISC_SHDW 0x1c
1719#define MII_TG3_MISC_SHDW_WREN 0x8000
1720#define MII_TG3_MISC_SHDW_APD_SEL 0x2800
1721
1722#define MII_TG3_MISC_SHDW_APD_WKTM_84MS 0x0001
1723
1718/* ISTAT/IMASK event bits */ 1724/* ISTAT/IMASK event bits */
1719#define MII_TG3_INT_LINKCHG 0x0002 1725#define MII_TG3_INT_LINKCHG 0x0002
1720#define MII_TG3_INT_SPEEDCHG 0x0004 1726#define MII_TG3_INT_SPEEDCHG 0x0004