dec21xxx: Sync with FreeBSD 11.1.
Same Jamfile cleanups as in previous commits.
This commit is contained in:
@@ -18,9 +18,6 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network vlance ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network wb840 ;
|
||||
#SubInclude HAIKU_TOP src add-ons kernel drivers network dp83815
|
||||
|
||||
# FreeBSD 9.2 drivers
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx ;
|
||||
|
||||
# FreeBSD 9.3 drivers
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network jmicron2x0 ;
|
||||
|
||||
@@ -32,6 +29,7 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network attansic_l1 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network attansic_l2 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network broadcom440x ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network broadcom570x ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network ipro100 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network ipro1000 ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network marvell_yukon ;
|
||||
|
||||
@@ -1,3 +1,36 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network dec21xxx ;
|
||||
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx dev ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_network ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_network compat ]
|
||||
: true ;
|
||||
UsePrivateHeaders net system ;
|
||||
UsePrivateKernelHeaders ;
|
||||
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
|
||||
|
||||
UseHeaders [ FDirName $(SUBDIR) ] : true ;
|
||||
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) dev mii ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) dev dc ] ;
|
||||
SEARCH_SOURCE += [ FDirName $(SUBDIR) dev de ] ;
|
||||
|
||||
KernelAddon dec21xxx :
|
||||
glue.c
|
||||
glue_de.c
|
||||
dcphy.c
|
||||
if_dc.c
|
||||
pnphy.c
|
||||
if_de.c
|
||||
acphy.c
|
||||
amphy.c
|
||||
ukphy.c
|
||||
ukphy_subr.c
|
||||
: libfreebsd11_network.a
|
||||
;
|
||||
|
||||
ObjectHdrs [ FGristFiles dcphy$(SUFOBJ) pnphy$(SUFOBJ) if_de$(SUFOBJ)
|
||||
acphy$(SUFOBJ) amphy$(SUFOBJ) ukphy$(SUFOBJ) ]
|
||||
: [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs
|
||||
compat freebsd11_network ] ;
|
||||
Includes [ FGristFiles dcphy.c pnphy.c acphy.c amphy.c ]
|
||||
: <src!libs!compat!freebsd11_network>miidevs.h ;
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network dec21xxx dev ;
|
||||
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx dev mii ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx dev dc ;
|
||||
SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx dev de ;
|
||||
@@ -1,24 +0,0 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network dec21xxx dev dc ;
|
||||
|
||||
UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : true ;
|
||||
|
||||
UsePrivateHeaders net ;
|
||||
UsePrivateKernelHeaders ;
|
||||
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
|
||||
|
||||
KernelAddon dec21xxx :
|
||||
dcphy.c
|
||||
if_dc.c
|
||||
glue.c
|
||||
pnphy.c
|
||||
: libfreebsd_network.a dec21xxx_mii.a dec21xxx_de.a
|
||||
;
|
||||
|
||||
ObjectHdrs [ FGristFiles dcphy$(SUFOBJ) pnphy$(SUFOBJ) ]
|
||||
: [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs
|
||||
compat freebsd_network ] ;
|
||||
Includes [ FGristFiles dcphy.c pnphy.c ]
|
||||
: <src!libs!compat!freebsd_network>miidevs.h ;
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/dc/dcphy.c 266974 2014-06-02 17:54:39Z marcel $");
|
||||
|
||||
/*
|
||||
* Pseudo-driver for internal NWAY support on DEC 21143 and workalike
|
||||
@@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/bus.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/if_var.h>
|
||||
#include <net/if_arp.h>
|
||||
#include <net/if_media.h>
|
||||
|
||||
@@ -152,7 +153,7 @@ dcphy_attach(device_t dev)
|
||||
&dcphy_funcs, 0);
|
||||
|
||||
/*PHY_RESET(sc);*/
|
||||
dc_sc = sc->mii_pdata->mii_ifp->if_softc;
|
||||
dc_sc = if_getsoftc(sc->mii_pdata->mii_ifp);
|
||||
CSR_WRITE_4(dc_sc, DC_10BTSTAT, 0);
|
||||
CSR_WRITE_4(dc_sc, DC_10BTCTRL, 0);
|
||||
|
||||
@@ -190,7 +191,7 @@ dcphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
int reg;
|
||||
u_int32_t mode;
|
||||
|
||||
dc_sc = mii->mii_ifp->if_softc;
|
||||
dc_sc = if_getsoftc(mii->mii_ifp);
|
||||
|
||||
switch (cmd) {
|
||||
case MII_POLLSTAT:
|
||||
@@ -200,7 +201,7 @@ dcphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
/*
|
||||
* If the interface is not up, don't do anything.
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
if ((if_getflags(mii->mii_ifp) & IFF_UP) == 0)
|
||||
break;
|
||||
|
||||
mii->mii_media_active = IFM_NONE;
|
||||
@@ -250,7 +251,7 @@ dcphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
/*
|
||||
* Is the interface even up?
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
if ((if_getflags(mii->mii_ifp) & IFF_UP) == 0)
|
||||
return (0);
|
||||
|
||||
/*
|
||||
@@ -297,12 +298,12 @@ dcphy_status(struct mii_softc *sc)
|
||||
int anlpar, tstat;
|
||||
struct dc_softc *dc_sc;
|
||||
|
||||
dc_sc = mii->mii_ifp->if_softc;
|
||||
dc_sc = if_getsoftc(mii->mii_ifp);
|
||||
|
||||
mii->mii_media_status = IFM_AVALID;
|
||||
mii->mii_media_active = IFM_ETHER;
|
||||
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
if ((if_getflags(mii->mii_ifp) & IFF_UP) == 0)
|
||||
return;
|
||||
|
||||
tstat = CSR_READ_4(dc_sc, DC_10BTSTAT);
|
||||
@@ -377,7 +378,7 @@ dcphy_auto(struct mii_softc *mii)
|
||||
{
|
||||
struct dc_softc *sc;
|
||||
|
||||
sc = mii->mii_pdata->mii_ifp->if_softc;
|
||||
sc = if_getsoftc(mii->mii_pdata->mii_ifp);
|
||||
|
||||
DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_PORTSEL);
|
||||
DC_SETBIT(sc, DC_NETCFG, DC_NETCFG_FULLDUPLEX);
|
||||
@@ -398,7 +399,7 @@ dcphy_reset(struct mii_softc *mii)
|
||||
{
|
||||
struct dc_softc *sc;
|
||||
|
||||
sc = mii->mii_pdata->mii_ifp->if_softc;
|
||||
sc = if_getsoftc(mii->mii_pdata->mii_ifp);
|
||||
|
||||
DC_CLRBIT(sc, DC_SIARESET, DC_SIA_RESET);
|
||||
DELAY(1000);
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/dc/if_dc.c 277565 2015-01-23 15:14:30Z kevlo $");
|
||||
|
||||
/*
|
||||
* DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143
|
||||
@@ -107,6 +107,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/socket.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/if_var.h>
|
||||
#include <net/if_arp.h>
|
||||
#include <net/ethernet.h>
|
||||
#include <net/if_dl.h>
|
||||
@@ -670,20 +671,16 @@ dc_miibus_readreg(device_t dev, int phy, int reg)
|
||||
* code think there's a PHY here.
|
||||
*/
|
||||
return (BMSR_MEDIAMASK);
|
||||
break;
|
||||
case MII_PHYIDR1:
|
||||
if (DC_IS_PNIC(sc))
|
||||
return (DC_VENDORID_LO);
|
||||
return (DC_VENDORID_DEC);
|
||||
break;
|
||||
case MII_PHYIDR2:
|
||||
if (DC_IS_PNIC(sc))
|
||||
return (DC_DEVICEID_82C168);
|
||||
return (DC_DEVICEID_21143);
|
||||
break;
|
||||
default:
|
||||
return (0);
|
||||
break;
|
||||
}
|
||||
} else
|
||||
return (0);
|
||||
@@ -747,7 +744,6 @@ dc_miibus_readreg(device_t dev, int phy, int reg)
|
||||
device_printf(dev, "phy_read: bad phy register %x\n",
|
||||
reg);
|
||||
return (0);
|
||||
break;
|
||||
}
|
||||
|
||||
rval = CSR_READ_4(sc, phy_reg) & 0x0000FFFF;
|
||||
@@ -1981,9 +1977,9 @@ dc_dma_free(struct dc_softc *sc)
|
||||
|
||||
/* RX descriptor list. */
|
||||
if (sc->dc_rx_ltag) {
|
||||
if (sc->dc_rx_lmap != NULL)
|
||||
if (sc->dc_ldata.dc_rx_list_paddr != 0)
|
||||
bus_dmamap_unload(sc->dc_rx_ltag, sc->dc_rx_lmap);
|
||||
if (sc->dc_rx_lmap != NULL && sc->dc_ldata.dc_rx_list != NULL)
|
||||
if (sc->dc_ldata.dc_rx_list != NULL)
|
||||
bus_dmamem_free(sc->dc_rx_ltag, sc->dc_ldata.dc_rx_list,
|
||||
sc->dc_rx_lmap);
|
||||
bus_dma_tag_destroy(sc->dc_rx_ltag);
|
||||
@@ -1991,9 +1987,9 @@ dc_dma_free(struct dc_softc *sc)
|
||||
|
||||
/* TX descriptor list. */
|
||||
if (sc->dc_tx_ltag) {
|
||||
if (sc->dc_tx_lmap != NULL)
|
||||
if (sc->dc_ldata.dc_tx_list_paddr != 0)
|
||||
bus_dmamap_unload(sc->dc_tx_ltag, sc->dc_tx_lmap);
|
||||
if (sc->dc_tx_lmap != NULL && sc->dc_ldata.dc_tx_list != NULL)
|
||||
if (sc->dc_ldata.dc_tx_list != NULL)
|
||||
bus_dmamem_free(sc->dc_tx_ltag, sc->dc_ldata.dc_tx_list,
|
||||
sc->dc_tx_lmap);
|
||||
bus_dma_tag_destroy(sc->dc_tx_ltag);
|
||||
@@ -2001,9 +1997,9 @@ dc_dma_free(struct dc_softc *sc)
|
||||
|
||||
/* multicast setup frame. */
|
||||
if (sc->dc_stag) {
|
||||
if (sc->dc_smap != NULL)
|
||||
if (sc->dc_saddr != 0)
|
||||
bus_dmamap_unload(sc->dc_stag, sc->dc_smap);
|
||||
if (sc->dc_smap != NULL && sc->dc_cdata.dc_sbuf != NULL)
|
||||
if (sc->dc_cdata.dc_sbuf != NULL)
|
||||
bus_dmamem_free(sc->dc_stag, sc->dc_cdata.dc_sbuf,
|
||||
sc->dc_smap);
|
||||
bus_dma_tag_destroy(sc->dc_stag);
|
||||
@@ -2483,7 +2479,7 @@ dc_attach(device_t dev)
|
||||
/*
|
||||
* Tell the upper layer(s) we support long frames.
|
||||
*/
|
||||
ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header);
|
||||
ifp->if_hdrlen = sizeof(struct ether_vlan_header);
|
||||
ifp->if_capabilities |= IFCAP_VLAN_MTU;
|
||||
ifp->if_capenable = ifp->if_capabilities;
|
||||
#ifdef DEVICE_POLLING
|
||||
@@ -2914,9 +2910,9 @@ dc_rxeof(struct dc_softc *sc)
|
||||
(rxstat & (DC_RXSTAT_CRCERR | DC_RXSTAT_DRIBBLE |
|
||||
DC_RXSTAT_MIIERE | DC_RXSTAT_COLLSEEN |
|
||||
DC_RXSTAT_RUNT | DC_RXSTAT_DE))) {
|
||||
ifp->if_ierrors++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
|
||||
if (rxstat & DC_RXSTAT_COLLSEEN)
|
||||
ifp->if_collisions++;
|
||||
if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
|
||||
dc_discard_rxbuf(sc, i);
|
||||
if (rxstat & DC_RXSTAT_CRCERR)
|
||||
continue;
|
||||
@@ -2942,7 +2938,7 @@ dc_rxeof(struct dc_softc *sc)
|
||||
*/
|
||||
if (dc_newbuf(sc, i) != 0) {
|
||||
dc_discard_rxbuf(sc, i);
|
||||
ifp->if_iqdrops++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
|
||||
continue;
|
||||
}
|
||||
m->m_pkthdr.rcvif = ifp;
|
||||
@@ -2955,14 +2951,14 @@ dc_rxeof(struct dc_softc *sc)
|
||||
ETHER_ALIGN, ifp, NULL);
|
||||
dc_discard_rxbuf(sc, i);
|
||||
if (m0 == NULL) {
|
||||
ifp->if_iqdrops++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
|
||||
continue;
|
||||
}
|
||||
m = m0;
|
||||
}
|
||||
#endif
|
||||
|
||||
ifp->if_ipackets++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
|
||||
DC_UNLOCK(sc);
|
||||
(*ifp->if_input)(ifp, m);
|
||||
DC_LOCK(sc);
|
||||
@@ -3053,19 +3049,19 @@ dc_txeof(struct dc_softc *sc)
|
||||
}
|
||||
|
||||
if (txstat & DC_TXSTAT_ERRSUM) {
|
||||
ifp->if_oerrors++;
|
||||
if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
|
||||
if (txstat & DC_TXSTAT_EXCESSCOLL)
|
||||
ifp->if_collisions++;
|
||||
if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
|
||||
if (txstat & DC_TXSTAT_LATECOLL)
|
||||
ifp->if_collisions++;
|
||||
if_inc_counter(ifp, IFCOUNTER_COLLISIONS, 1);
|
||||
if (!(txstat & DC_TXSTAT_UNDERRUN)) {
|
||||
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
|
||||
dc_init_locked(sc);
|
||||
return;
|
||||
}
|
||||
} else
|
||||
ifp->if_opackets++;
|
||||
ifp->if_collisions += (txstat & DC_TXSTAT_COLLCNT) >> 3;
|
||||
if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
|
||||
if_inc_counter(ifp, IFCOUNTER_COLLISIONS, (txstat & DC_TXSTAT_COLLCNT) >> 3);
|
||||
|
||||
bus_dmamap_sync(sc->dc_tx_mtag, sc->dc_cdata.dc_tx_map[idx],
|
||||
BUS_DMASYNC_POSTWRITE);
|
||||
@@ -3260,7 +3256,7 @@ dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
|
||||
|
||||
if (status & (DC_ISR_RX_WATDOGTIMEO | DC_ISR_RX_NOBUF)) {
|
||||
uint32_t r = CSR_READ_4(sc, DC_FRAMESDISCARDED);
|
||||
ifp->if_ierrors += (r & 0xffff) + ((r >> 17) & 0x7ff);
|
||||
if_inc_counter(ifp, IFCOUNTER_IERRORS, (r & 0xffff) + ((r >> 17) & 0x7ff));
|
||||
|
||||
if (dc_rx_resync(sc))
|
||||
dc_rxeof(sc);
|
||||
@@ -3342,7 +3338,7 @@ dc_intr(void *arg)
|
||||
if ((status & DC_ISR_RX_WATDOGTIMEO)
|
||||
|| (status & DC_ISR_RX_NOBUF)) {
|
||||
r = CSR_READ_4(sc, DC_FRAMESDISCARDED);
|
||||
ifp->if_ierrors += (r & 0xffff) + ((r >> 17) & 0x7ff);
|
||||
if_inc_counter(ifp, IFCOUNTER_IERRORS, (r & 0xffff) + ((r >> 17) & 0x7ff));
|
||||
if (dc_rxeof(sc) == 0) {
|
||||
while (dc_rx_resync(sc))
|
||||
dc_rxeof(sc);
|
||||
@@ -3940,7 +3936,7 @@ dc_watchdog(void *xsc)
|
||||
}
|
||||
|
||||
ifp = sc->dc_ifp;
|
||||
ifp->if_oerrors++;
|
||||
if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
|
||||
device_printf(sc->dc_dev, "watchdog timeout\n");
|
||||
|
||||
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/dc/if_dcreg.h 227675 2011-11-18 19:38:19Z yongari $
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/dc/pnphy.c 266974 2014-06-02 17:54:39Z marcel $");
|
||||
|
||||
/*
|
||||
* Pseudo-driver for media selection on the Lite-On PNIC 82c168
|
||||
@@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/bus.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/if_var.h>
|
||||
#include <net/if_arp.h>
|
||||
#include <net/if_media.h>
|
||||
|
||||
@@ -151,7 +152,7 @@ pnphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
/*
|
||||
* If the interface is not up, don't do anything.
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
if ((if_getflags(mii->mii_ifp) & IFF_UP) == 0)
|
||||
break;
|
||||
|
||||
/*
|
||||
@@ -179,7 +180,7 @@ pnphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
/*
|
||||
* Is the interface even up?
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
if ((if_getflags(mii->mii_ifp) & IFF_UP) == 0)
|
||||
return (0);
|
||||
|
||||
break;
|
||||
@@ -200,7 +201,7 @@ pnphy_status(struct mii_softc *sc)
|
||||
int reg;
|
||||
struct dc_softc *dc_sc;
|
||||
|
||||
dc_sc = mii->mii_ifp->if_softc;
|
||||
dc_sc = if_getsoftc(mii->mii_ifp);
|
||||
|
||||
mii->mii_media_status = IFM_AVALID;
|
||||
mii->mii_media_active = IFM_ETHER;
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network dec21xxx dev de ;
|
||||
|
||||
UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] : true ;
|
||||
|
||||
UsePrivateHeaders net system ;
|
||||
UsePrivateKernelHeaders ;
|
||||
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
|
||||
|
||||
KernelStaticLibrary dec21xxx_de.a
|
||||
:
|
||||
glue.c
|
||||
if_de.c
|
||||
;
|
||||
|
||||
ObjectHdrs [ FGristFiles if_de$(SUFOBJ) ]
|
||||
: [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs
|
||||
compat freebsd_network ] ;
|
||||
@@ -1,6 +1,6 @@
|
||||
/* $NetBSD: dc21040reg.h,v 1.15 1998/05/22 18:50:59 matt Exp $ */
|
||||
|
||||
/* $FreeBSD$ */
|
||||
/* $FreeBSD: releng/11.1/sys/dev/de/dc21040reg.h 298955 2016-05-03 03:41:25Z pfg $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1994, 1995, 1996 Matt Thomas <matt@3am-software.com>
|
||||
@@ -175,7 +175,7 @@ typedef struct {
|
||||
#define TULIP_CMD_SCRAMBLER 0x01000000L /* (RW) Scrambler Mode (21140) */
|
||||
#define TULIP_CMD_PCSFUNCTION 0x00800000L /* (RW) PCS Function (21140) */
|
||||
#define TULIP_CMD_TXTHRSHLDCTL 0x00400000L /* (RW) Transmit Threshold Mode (21140) */
|
||||
#define TULIP_CMD_STOREFWD 0x00200000L /* (RW) Store and Foward (21140) */
|
||||
#define TULIP_CMD_STOREFWD 0x00200000L /* (RW) Store and Forward (21140) */
|
||||
#define TULIP_CMD_NOHEARTBEAT 0x00080000L /* (RW) No Heartbeat (21140) */
|
||||
#define TULIP_CMD_PORTSELECT 0x00040000L /* (RW) Post Select (100Mb) (21140) */
|
||||
#define TULIP_CMD_ENHCAPTEFFCT 0x00040000L /* (RW) Enhanced Capture Effecty (21041) */
|
||||
|
||||
@@ -36,16 +36,10 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/de/if_de.c 315221 2017-03-14 02:06:03Z pfg $");
|
||||
|
||||
#define TULIP_HDR_DATA
|
||||
|
||||
#ifndef __HAIKU__
|
||||
/* We have no such header in Haiku's compat layer
|
||||
but nothing of it is required anyway here. */
|
||||
#include "opt_ddb.h"
|
||||
#endif
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/endian.h>
|
||||
@@ -64,6 +58,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <sys/rman.h>
|
||||
|
||||
#include <net/if.h>
|
||||
#include <net/if_var.h>
|
||||
#include <net/if_arp.h>
|
||||
#include <net/ethernet.h>
|
||||
#include <net/if_media.h>
|
||||
@@ -422,7 +417,7 @@ tulip_linkup(tulip_softc_t * const sc, tulip_media_t media)
|
||||
* We could set probe_timeout to 0 but setting to 3000 puts this
|
||||
* in one central place and the only matters is tulip_link is
|
||||
* followed by a tulip_timeout. Therefore setting it should not
|
||||
* result in aberrant behavour.
|
||||
* result in aberrant behaviour.
|
||||
*/
|
||||
sc->tulip_probe_timeout = 3000;
|
||||
sc->tulip_probe_state = TULIP_PROBE_INACTIVE;
|
||||
@@ -1571,7 +1566,7 @@ tulip_null_media_poll(tulip_softc_t * const sc, tulip_mediapoll_event_t event)
|
||||
#endif
|
||||
}
|
||||
|
||||
__inline static void
|
||||
static inline void
|
||||
tulip_21140_mediainit(tulip_softc_t * const sc, tulip_media_info_t * const mip,
|
||||
tulip_media_t const media, unsigned gpdata, unsigned cmdmode)
|
||||
{
|
||||
@@ -3442,7 +3437,7 @@ tulip_rx_intr(tulip_softc_t * const sc)
|
||||
} else {
|
||||
CTR1(KTR_TULIP, "tulip_rx_intr: bad packet; status %08x",
|
||||
DESC_STATUS(eop));
|
||||
ifp->if_ierrors++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
|
||||
if (DESC_STATUS(eop) & (TULIP_DSTS_RxBADLENGTH|TULIP_DSTS_RxOVERFLOW|TULIP_DSTS_RxWATCHDOG)) {
|
||||
sc->tulip_dot3stats.dot3StatsInternalMacReceiveErrors++;
|
||||
} else {
|
||||
@@ -3482,7 +3477,7 @@ tulip_rx_intr(tulip_softc_t * const sc)
|
||||
#if defined(TULIP_DEBUG)
|
||||
cnt++;
|
||||
#endif
|
||||
ifp->if_ipackets++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
|
||||
if (++eop == ri->ri_last)
|
||||
eop = ri->ri_first;
|
||||
ri->ri_nextin = eop;
|
||||
@@ -3504,7 +3499,7 @@ tulip_rx_intr(tulip_softc_t * const sc)
|
||||
*/
|
||||
m0 = m_devget(mtod(ms, caddr_t), total_len, ETHER_ALIGN, ifp, NULL);
|
||||
if (m0 == NULL) {
|
||||
ifp->if_ierrors++;
|
||||
if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
|
||||
goto skip_input;
|
||||
}
|
||||
#else
|
||||
@@ -3678,7 +3673,7 @@ tulip_tx_intr(tulip_softc_t * const sc)
|
||||
if (d_status & TULIP_DSTS_ERRSUM) {
|
||||
CTR1(KTR_TULIP, "tulip_tx_intr: output error: %08x",
|
||||
d_status);
|
||||
sc->tulip_ifp->if_oerrors++;
|
||||
if_inc_counter(sc->tulip_ifp, IFCOUNTER_OERRORS, 1);
|
||||
if (d_status & TULIP_DSTS_TxEXCCOLL)
|
||||
sc->tulip_dot3stats.dot3StatsExcessiveCollisions++;
|
||||
if (d_status & TULIP_DSTS_TxLATECOLL)
|
||||
@@ -3699,7 +3694,7 @@ tulip_tx_intr(tulip_softc_t * const sc)
|
||||
CTR2(KTR_TULIP,
|
||||
"tulip_tx_intr: output ok, collisions %d, status %08x",
|
||||
collisions, d_status);
|
||||
sc->tulip_ifp->if_collisions += collisions;
|
||||
if_inc_counter(sc->tulip_ifp, IFCOUNTER_COLLISIONS, collisions);
|
||||
if (collisions == 1)
|
||||
sc->tulip_dot3stats.dot3StatsSingleCollisionFrames++;
|
||||
else if (collisions > 1)
|
||||
@@ -3733,7 +3728,7 @@ tulip_tx_intr(tulip_softc_t * const sc)
|
||||
sc->tulip_txtimer = 0;
|
||||
else if (xmits > 0)
|
||||
sc->tulip_txtimer = TULIP_TXTIMER;
|
||||
sc->tulip_ifp->if_opackets += xmits;
|
||||
if_inc_counter(sc->tulip_ifp, IFCOUNTER_OPACKETS, xmits);
|
||||
TULIP_PERFEND(txintr);
|
||||
return descs;
|
||||
}
|
||||
@@ -3940,8 +3935,8 @@ tulip_txput(tulip_softc_t * const sc, struct mbuf *m)
|
||||
segcnt++;
|
||||
m0 = m0->m_next;
|
||||
}
|
||||
#endif
|
||||
CTR2(KTR_TULIP, "tulip_txput: sending packet %p (%d chunks)", m, segcnt);
|
||||
#endif
|
||||
d_status = 0;
|
||||
eop = nextout = ri->ri_nextout;
|
||||
segcnt = 0;
|
||||
@@ -4476,7 +4471,6 @@ tulip_busdma_freering(tulip_ringinfo_t *ri)
|
||||
}
|
||||
if (ri->ri_descs != NULL) {
|
||||
bus_dmamem_free(ri->ri_ring_tag, ri->ri_descs, ri->ri_ring_map);
|
||||
ri->ri_ring_map = NULL;
|
||||
ri->ri_descs = NULL;
|
||||
}
|
||||
if (ri->ri_ring_tag != NULL) {
|
||||
@@ -4561,8 +4555,6 @@ tulip_busdma_cleanup(tulip_softc_t * const sc)
|
||||
if (sc->tulip_setupbuf != NULL) {
|
||||
bus_dmamem_free(sc->tulip_setup_tag, sc->tulip_setupbuf,
|
||||
sc->tulip_setup_map);
|
||||
bus_dmamap_destroy(sc->tulip_setup_tag, sc->tulip_setup_map);
|
||||
sc->tulip_setup_map = NULL;
|
||||
sc->tulip_setupbuf = NULL;
|
||||
}
|
||||
if (sc->tulip_setup_tag != NULL) {
|
||||
@@ -4712,11 +4704,11 @@ tulip_pci_probe(device_t dev)
|
||||
name = "Digital 21140 Fast Ethernet";
|
||||
break;
|
||||
#ifndef __HAIKU__
|
||||
case CHIPID_21142:
|
||||
/*
|
||||
* The card with the same id is supported by if_dc - screen it to
|
||||
* prevent duplicated dev entries.
|
||||
*/
|
||||
case CHIPID_21142:
|
||||
if (pci_get_revid(dev) >= 0x20)
|
||||
name = "Digital 21143 Fast Ethernet";
|
||||
else
|
||||
@@ -4899,8 +4891,8 @@ tulip_pci_attach(device_t dev)
|
||||
rid = 0;
|
||||
res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid,
|
||||
RF_SHAREABLE | RF_ACTIVE);
|
||||
if (res == 0 || bus_setup_intr(dev, res, INTR_TYPE_NET |
|
||||
INTR_MPSAFE, NULL, intr_rtn, sc, &ih)) {
|
||||
if (res == NULL || bus_setup_intr(dev, res, INTR_TYPE_NET |
|
||||
INTR_MPSAFE, NULL, intr_rtn, sc, &ih)) {
|
||||
device_printf(dev, "couldn't map interrupt\n");
|
||||
tulip_busdma_cleanup(sc);
|
||||
ether_ifdetach(sc->tulip_ifp);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* $NetBSD: if_devar.h,v 1.32 1999/04/01 14:55:25 tsubai Exp $ */
|
||||
|
||||
/* $FreeBSD$ */
|
||||
/* $FreeBSD: releng/11.1/sys/dev/de/if_devar.h 298955 2016-05-03 03:41:25Z pfg $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1994-1997 Matt Thomas (matt@3am-software.com)
|
||||
@@ -842,7 +842,7 @@ static const struct {
|
||||
|
||||
/*
|
||||
* This driver supports a maximum of 32 tulip boards.
|
||||
* This should be enough for the forseeable future.
|
||||
* This should be enough for the foreseeable future.
|
||||
*/
|
||||
#define TULIP_MAX_DEVICES 32
|
||||
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
SubDir HAIKU_TOP src add-ons kernel drivers network dec21xxx dev mii ;
|
||||
|
||||
UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
|
||||
UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ]
|
||||
: true ;
|
||||
|
||||
UsePrivateHeaders net system ;
|
||||
UsePrivateKernelHeaders ;
|
||||
|
||||
SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ] ;
|
||||
|
||||
KernelStaticLibrary dec21xxx_mii.a
|
||||
:
|
||||
acphy.c
|
||||
amphy.c
|
||||
ukphy.c
|
||||
ukphy_subr.c
|
||||
;
|
||||
|
||||
ObjectHdrs [ FGristFiles acphy$(SUFOBJ) amphy$(SUFOBJ) ukphy$(SUFOBJ) ]
|
||||
: [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) libs
|
||||
compat freebsd_network ] ;
|
||||
Includes [ FGristFiles acphy.c amphy.c amphy.c ]
|
||||
: <src!libs!compat!freebsd_network>miidevs.h ;
|
||||
@@ -53,7 +53,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/acphy.c 281821 2015-04-21 09:39:48Z glebius $");
|
||||
|
||||
/*
|
||||
* Driver for Altima AC101 10/100 PHY
|
||||
@@ -139,14 +139,12 @@ acphy_attach(device_t dev)
|
||||
sc->mii_capabilities = PHY_READ(sc, MII_BMSR) & sc->mii_capmask;
|
||||
device_printf(dev, " ");
|
||||
|
||||
#define ADD(m, c) ifmedia_add(&sc->mii_pdata->mii_media, (m), (c), NULL)
|
||||
#define ADD(m) ifmedia_add(&sc->mii_pdata->mii_media, (m), 0, NULL)
|
||||
if ((PHY_READ(sc, MII_ACPHY_MCTL) & AC_MCTL_FX_SEL) != 0) {
|
||||
sc->mii_flags |= MIIF_HAVEFIBER;
|
||||
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst),
|
||||
MII_MEDIA_100_TX);
|
||||
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, 0, sc->mii_inst));
|
||||
printf("100baseFX, ");
|
||||
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst),
|
||||
MII_MEDIA_100_TX_FDX);
|
||||
ADD(IFM_MAKEWORD(IFM_ETHER, IFM_100_FX, IFM_FDX, sc->mii_inst));
|
||||
printf("100baseFX-FDX, ");
|
||||
}
|
||||
#undef ADD
|
||||
@@ -168,12 +166,6 @@ acphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
break;
|
||||
|
||||
case MII_MEDIACHG:
|
||||
/*
|
||||
* If the interface is not up, don't do anything.
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
break;
|
||||
|
||||
/* Wake & deisolate up if necessary */
|
||||
reg = PHY_READ(sc, MII_BMCR);
|
||||
if (reg & (BMCR_ISO | BMCR_PDOWN))
|
||||
@@ -183,12 +175,6 @@ acphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
break;
|
||||
|
||||
case MII_TICK:
|
||||
/*
|
||||
* Is the interface even up?
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
return (0);
|
||||
|
||||
/*
|
||||
* This PHY's autonegotiation doesn't need to be kicked.
|
||||
*/
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mii/acphyreg.h 165986 2007-01-12 22:58:04Z marius $
|
||||
*/
|
||||
|
||||
#ifndef _DEV_MII_ACPHYREG_H_
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/amphy.c 257184 2013-10-26 18:40:17Z glebius $");
|
||||
|
||||
/*
|
||||
* driver for AMD AM79c873 PHYs
|
||||
@@ -119,12 +119,6 @@ amphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
break;
|
||||
|
||||
case MII_MEDIACHG:
|
||||
/*
|
||||
* If the interface is not up, don't do anything.
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
break;
|
||||
|
||||
mii_phy_setmedia(sc);
|
||||
break;
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
* $FreeBSD: releng/11.1/sys/dev/mii/amphyreg.h 139749 2005-01-06 01:43:34Z imp $
|
||||
*/
|
||||
|
||||
#ifndef _DEV_MII_AMTPHYREG_H_
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/ukphy.c 257184 2013-10-26 18:40:17Z glebius $");
|
||||
|
||||
/*
|
||||
* driver for generic unknown PHYs
|
||||
@@ -140,12 +140,6 @@ ukphy_service(struct mii_softc *sc, struct mii_data *mii, int cmd)
|
||||
break;
|
||||
|
||||
case MII_MEDIACHG:
|
||||
/*
|
||||
* If the interface is not up, don't do anything.
|
||||
*/
|
||||
if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
|
||||
break;
|
||||
|
||||
mii_phy_setmedia(sc);
|
||||
break;
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/ukphy_subr.c 215297 2010-11-14 13:26:10Z marius $");
|
||||
|
||||
/*
|
||||
* Subroutines shared by the ukphy driver and other PHY drivers.
|
||||
|
||||
Reference in New Issue
Block a user