aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/mii
diff options
context:
space:
mode:
authorPyun YongHyeon <yongari@FreeBSD.org>2011-11-22 21:22:06 +0000
committerPyun YongHyeon <yongari@FreeBSD.org>2011-11-22 21:22:06 +0000
commit21c8beb9fd4c49e791b4347f7b535315735a398a (patch)
tree9a0356cdb58d0f361410a61e5c9567059472fba0 /sys/dev/mii
parent8e2a5aa10ca6f0275fc31f08c964317c40625497 (diff)
downloadsrc-21c8beb9fd4c49e791b4347f7b535315735a398a.tar.gz
src-21c8beb9fd4c49e791b4347f7b535315735a398a.zip
For IP1001 PHY, do not set multi-port device(MASTER). Ideally this
bit should not affect link establishment process of auto-negotiation if manual configuration is not used, which is true in auto-negotiation. However it seems setting this bit interfere with IP1001 PHY's down-shifting feature such that establishing a 10/100Mbps link failed when 1000baseT link is not available during auto-negotiation process. Tested by: Andrey Smagin <samspeed <> mail dot ru >
Notes
Notes: svn path=/head/; revision=227842
Diffstat (limited to 'sys/dev/mii')
-rw-r--r--sys/dev/mii/ip1000phy.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/mii/ip1000phy.c b/sys/dev/mii/ip1000phy.c
index 566b5b0501e2..9634f84edf2d 100644
--- a/sys/dev/mii/ip1000phy.c
+++ b/sys/dev/mii/ip1000phy.c
@@ -324,7 +324,8 @@ ip1000phy_mii_phy_auto(struct mii_softc *sc, int media)
PHY_WRITE(sc, IP1000PHY_MII_ANAR, reg | IP1000PHY_ANAR_CSMA);
reg = IP1000PHY_1000CR_1000T | IP1000PHY_1000CR_1000T_FDX;
- reg |= IP1000PHY_1000CR_MASTER;
+ if (sc->mii_mpd_model != MII_MODEL_xxICPLUS_IP1001)
+ reg |= IP1000PHY_1000CR_MASTER;
PHY_WRITE(sc, IP1000PHY_MII_1000CR, reg);
PHY_WRITE(sc, IP1000PHY_MII_BMCR, (IP1000PHY_BMCR_FDX |
IP1000PHY_BMCR_AUTOEN | IP1000PHY_BMCR_STARTNEG));