diff options
author | Pyun YongHyeon <yongari@FreeBSD.org> | 2011-11-22 21:22:06 +0000 |
---|---|---|
committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2011-11-22 21:22:06 +0000 |
commit | 21c8beb9fd4c49e791b4347f7b535315735a398a (patch) | |
tree | 9a0356cdb58d0f361410a61e5c9567059472fba0 /sys/dev/mii | |
parent | 8e2a5aa10ca6f0275fc31f08c964317c40625497 (diff) | |
download | src-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.c | 3 |
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)); |