Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jan 2012 00:08:16 +0000 (UTC)
From:      Pyun YongHyeon <yongari@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r229543 - stable/9/sys/dev/mii
Message-ID:  <201201050008.q0508GgF005360@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yongari
Date: Thu Jan  5 00:08:16 2012
New Revision: 229543
URL: http://svn.freebsd.org/changeset/base/229543

Log:
  MFC r227842:
    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.

Modified:
  stable/9/sys/dev/mii/ip1000phy.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/amd64/include/xen/   (props changed)
  stable/9/sys/boot/   (props changed)
  stable/9/sys/boot/i386/efi/   (props changed)
  stable/9/sys/boot/ia64/efi/   (props changed)
  stable/9/sys/boot/ia64/ski/   (props changed)
  stable/9/sys/boot/powerpc/boot1.chrp/   (props changed)
  stable/9/sys/boot/powerpc/ofw/   (props changed)
  stable/9/sys/cddl/contrib/opensolaris/   (props changed)
  stable/9/sys/conf/   (props changed)
  stable/9/sys/contrib/dev/acpica/   (props changed)
  stable/9/sys/contrib/octeon-sdk/   (props changed)
  stable/9/sys/contrib/pf/   (props changed)
  stable/9/sys/contrib/x86emu/   (props changed)

Modified: stable/9/sys/dev/mii/ip1000phy.c
==============================================================================
--- stable/9/sys/dev/mii/ip1000phy.c	Thu Jan  5 00:01:49 2012	(r229542)
+++ stable/9/sys/dev/mii/ip1000phy.c	Thu Jan  5 00:08:16 2012	(r229543)
@@ -324,7 +324,8 @@ ip1000phy_mii_phy_auto(struct mii_softc 
 	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));



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201050008.q0508GgF005360>