Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Mar 2009 22:34:56 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r190117 - head/sys/dev/dc
Message-ID:  <200903192234.n2JMYu2g078584@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marius
Date: Thu Mar 19 22:34:55 2009
New Revision: 190117
URL: http://svn.freebsd.org/changeset/base/190117

Log:
  - Set MIIF_NOLOOP and don't add IFM_LOOP as loopback apparently isn't
    supported with these pseudo-PHYs. The MIIF_NOLOOP flag currently triggers
    nothing but hopefully will be respected by mii_phy_setmedia() later on.
  - Don't add IFM_NONE as isolation isn't supported by these pseudo-PHYs.
  - Use mii_phy_add_media() instead of mii_add_media() so the latter can
    be eventually retired.

Modified:
  head/sys/dev/dc/dcphy.c
  head/sys/dev/dc/pnphy.c

Modified: head/sys/dev/dc/dcphy.c
==============================================================================
--- head/sys/dev/dc/dcphy.c	Thu Mar 19 22:01:19 2009	(r190116)
+++ head/sys/dev/dc/dcphy.c	Thu Mar 19 22:34:55 2009	(r190117)
@@ -154,13 +154,12 @@ dcphy_attach(device_t dev)
 	sc->mii_service = dcphy_service;
 	sc->mii_pdata = mii;
 
-	sc->mii_flags |= MIIF_NOISOLATE;
-	mii->mii_instance++;
-
-#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)
+	/*
+	 * Apparently, we can neither isolate nor do loopback.
+	 */
+	sc->mii_flags |= MIIF_NOISOLATE | MIIF_NOLOOP;
 
-	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),
-	    BMCR_ISO);
+	mii->mii_instance++;
 
 	/*dcphy_reset(sc);*/
 	dc_sc = mii->mii_ifp->if_softc;
@@ -186,9 +185,8 @@ dcphy_attach(device_t dev)
 
 	sc->mii_capabilities &= ma->mii_capmask;
 	device_printf(dev, " ");
-	mii_add_media(sc);
+	mii_phy_add_media(sc);
 	printf("\n");
-#undef ADD
 
 	MIIBUS_MEDIAINIT(sc->mii_dev);
 	return (0);

Modified: head/sys/dev/dc/pnphy.c
==============================================================================
--- head/sys/dev/dc/pnphy.c	Thu Mar 19 22:01:19 2009	(r190116)
+++ head/sys/dev/dc/pnphy.c	Thu Mar 19 22:34:55 2009	(r190117)
@@ -137,24 +137,19 @@ pnphy_attach(device_t dev)
 	sc->mii_service = pnphy_service;
 	sc->mii_pdata = mii;
 
-	sc->mii_flags |= MIIF_NOISOLATE;
-	mii->mii_instance++;
+	/*
+	 * Apparently, we can neither isolate nor do loopback.
+	 */
+	sc->mii_flags |= MIIF_NOISOLATE | MIIF_NOLOOP;
 
-#define	ADD(m, c)	ifmedia_add(&mii->mii_media, (m), (c), NULL)
+	mii->mii_instance++;
 
 	sc->mii_capabilities =
 	    BMSR_100TXFDX | BMSR_100TXHDX | BMSR_10TFDX | BMSR_10THDX;
 	sc->mii_capabilities &= ma->mii_capmask;
 	device_printf(dev, " ");
-	mii_add_media(sc);
+	mii_phy_add_media(sc);
 	printf("\n");
-	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_NONE, 0, sc->mii_inst),
-	    BMCR_ISO);
-
-	ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),
-	    BMCR_LOOP|BMCR_S100);
-
-#undef ADD
 
 	MIIBUS_MEDIAINIT(sc->mii_dev);
 	return (0);



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