aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mii
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2009-06-02 00:21:30 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2009-06-02 00:21:30 +0000
commit3e6843d1d7dde42135ccc5f972a27b6adfc67cb1 (patch)
tree5e6b87440ffd205a9878e709156575440bed35d8 /sys/dev/mii
parentc3655fa4f2757b1ce9157d5e171983748d3e26fd (diff)
downloadsrc-3e6843d1d7dde42135ccc5f972a27b6adfc67cb1.tar.gz
src-3e6843d1d7dde42135ccc5f972a27b6adfc67cb1.zip
Don't assume page register value is 0 and restore previous page
register after issuing 'powerup'.
Notes
Notes: svn path=/head/; revision=193289
Diffstat (limited to 'sys/dev/mii')
-rw-r--r--sys/dev/mii/e1000phy.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/mii/e1000phy.c b/sys/dev/mii/e1000phy.c
index 9f9b9869555f..be29926db87d 100644
--- a/sys/dev/mii/e1000phy.c
+++ b/sys/dev/mii/e1000phy.c
@@ -239,11 +239,13 @@ e1000phy_reset(struct mii_softc *sc)
PHY_WRITE(sc, E1000_SCR, reg);
if (esc->mii_model == MII_MODEL_MARVELL_E1116) {
+ page = PHY_READ(sc, E1000_EADR);
+ /* Select page 2, MAC specific control register. */
PHY_WRITE(sc, E1000_EADR, 2);
reg = PHY_READ(sc, E1000_SCR);
reg |= E1000_SCR_RGMII_POWER_UP;
PHY_WRITE(sc, E1000_SCR, reg);
- PHY_WRITE(sc, E1000_EADR, 0);
+ PHY_WRITE(sc, E1000_EADR, page);
}
}