svn commit: r190117 - head/sys/dev/dc
Marius Strobl
marius at FreeBSD.org
Thu Mar 19 15:34:56 PDT 2009
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);
More information about the svn-src-head
mailing list