svn commit: r215716 - head/sys/dev/mii
Marius Strobl
marius at FreeBSD.org
Mon Nov 22 21:24:30 UTC 2010
Author: marius
Date: Mon Nov 22 21:24:29 2010
New Revision: 215716
URL: http://svn.freebsd.org/changeset/base/215716
Log:
Add support for flow control.
Obtained from: NetBSD (partially)
Modified:
head/sys/dev/mii/bmtphy.c
head/sys/dev/mii/inphy.c
head/sys/dev/mii/nsphyter.c
Modified: head/sys/dev/mii/bmtphy.c
==============================================================================
--- head/sys/dev/mii/bmtphy.c Mon Nov 22 21:22:08 2010 (r215715)
+++ head/sys/dev/mii/bmtphy.c Mon Nov 22 21:24:29 2010 (r215716)
@@ -153,6 +153,8 @@ bmtphy_attach(device_t dev)
sc->mii_service = bmtphy_service;
sc->mii_pdata = mii;
+ sc->mii_flags |= MIIF_NOMANPAUSE;
+
mii_phy_reset(sc);
sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & ma->mii_capmask;
@@ -243,7 +245,8 @@ bmtphy_status(struct mii_softc *sc)
else
mii->mii_media_active |= IFM_10_T;
if (aux_csr & AUX_CSR_FDX)
- mii->mii_media_active |= IFM_FDX;
+ mii->mii_media_active |=
+ IFM_FDX | mii_phy_flowstatus(sc);
else
mii->mii_media_active |= IFM_HDX;
} else
Modified: head/sys/dev/mii/inphy.c
==============================================================================
--- head/sys/dev/mii/inphy.c Mon Nov 22 21:22:08 2010 (r215715)
+++ head/sys/dev/mii/inphy.c Mon Nov 22 21:24:29 2010 (r215716)
@@ -113,6 +113,8 @@ inphy_attach(device_t dev)
sc->mii_service = inphy_service;
sc->mii_pdata = mii;
+ sc->mii_flags |= MIIF_NOMANPAUSE;
+
ifmedia_add(&mii->mii_media,
IFM_MAKEWORD(IFM_ETHER, IFM_100_TX, IFM_LOOP, sc->mii_inst),
MII_MEDIA_100_TX, NULL);
@@ -197,7 +199,8 @@ inphy_status(struct mii_softc *sc)
else
mii->mii_media_active |= IFM_10_T;
if (scr & SCR_FDX)
- mii->mii_media_active |= IFM_FDX;
+ mii->mii_media_active |=
+ IFM_FDX | mii_phy_flowstatus(sc);
else
mii->mii_media_active |= IFM_HDX;
} else
Modified: head/sys/dev/mii/nsphyter.c
==============================================================================
--- head/sys/dev/mii/nsphyter.c Mon Nov 22 21:22:08 2010 (r215715)
+++ head/sys/dev/mii/nsphyter.c Mon Nov 22 21:24:29 2010 (r215716)
@@ -143,6 +143,8 @@ nsphyter_attach(device_t dev)
sc->mii_service = nsphyter_service;
sc->mii_pdata = mii;
+ sc->mii_flags |= MIIF_NOMANPAUSE;
+
#if 1
#define ADD(m, c) ifmedia_add(&mii->mii_media, (m), (c), NULL)
@@ -242,12 +244,8 @@ nsphyter_status(struct mii_softc *sc)
else
mii->mii_media_active |= IFM_100_TX;
if ((physts & PHYSTS_DUPLEX) != 0)
-#ifdef notyet
mii->mii_media_active |=
IFM_FDX | mii_phy_flowstatus(sc);
-#else
- mii->mii_media_active |= IFM_FDX;
-#endif
else
mii->mii_media_active |= IFM_HDX;
} else
More information about the svn-src-head
mailing list