hrev51928 adds 1 changeset to branch 'master'
old head: 3f853fd3c2d514ee5c1b5e89cd7dc22179fb0e14
new head: 57ca9c743d8240461d63f7363869a2e554b0360e
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=57ca9c743d82+%5E3f853fd3c2d5
----------------------------------------------------------------------------
57ca9c743d82: broadcom440x: sync with FreeBSD 11.1.
[ Jérôme Duval <jerome.duval@xxxxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev51928
Commit: 57ca9c743d8240461d63f7363869a2e554b0360e
URL: https://git.haiku-os.org/haiku/commit/?id=57ca9c743d82
Author: Jérôme Duval <jerome.duval@xxxxxxxxx>
Date: Mon May 7 18:57:03 2018 UTC
----------------------------------------------------------------------------
4 files changed, 22 insertions(+), 28 deletions(-)
.../drivers/network/broadcom440x/dev/bfe/Jamfile | 4 +--
.../network/broadcom440x/dev/bfe/if_bfe.c | 34 ++++++++++----------
.../drivers/network/broadcom440x/dev/mii/Jamfile | 6 ++--
.../network/broadcom440x/dev/mii/bmtphy.c | 6 ----
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/Jamfile
b/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/Jamfile
index 50ccaf8bea..7ee489948d 100644
--- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/Jamfile
+++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/Jamfile
@@ -2,7 +2,7 @@ SubDir HAIKU_TOP src add-ons kernel drivers network
broadcom440x dev bfe ;
UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
UseHeaders [ FDirName $(SUBDIR) .. mii ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] :
true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_network compat ]
: true ;
UsePrivateHeaders net system ;
UsePrivateKernelHeaders ;
@@ -14,6 +14,6 @@ SubDirCcFlags [ FDefines _KERNEL=1 FBSD_DRIVER=1 ]
KernelAddon broadcom440x :
if_bfe.c
glue.c
- : libfreebsd_network.a broadcom440x_mii.a
+ : broadcom440x_mii.a libfreebsd11_network.a
;
diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfe.c
b/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfe.c
index 44514e2d0d..eaad8f0b59 100644
--- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfe.c
+++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfe.c
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$");
#include <net/bpf.h>
#include <net/if.h>
+#include <net/if_var.h>
#include <net/ethernet.h>
#include <net/if_dl.h>
#include <net/if_media.h>
@@ -363,12 +364,12 @@ bfe_dma_free(struct bfe_softc *sc)
/* Tx ring. */
if (sc->bfe_tx_tag != NULL) {
- if (sc->bfe_tx_map != NULL)
+ if (sc->bfe_tx_dma != 0)
bus_dmamap_unload(sc->bfe_tx_tag, sc->bfe_tx_map);
- if (sc->bfe_tx_map != NULL && sc->bfe_tx_list != NULL)
+ if (sc->bfe_tx_list != NULL)
bus_dmamem_free(sc->bfe_tx_tag, sc->bfe_tx_list,
sc->bfe_tx_map);
- sc->bfe_tx_map = NULL;
+ sc->bfe_tx_dma = 0;
sc->bfe_tx_list = NULL;
bus_dma_tag_destroy(sc->bfe_tx_tag);
sc->bfe_tx_tag = NULL;
@@ -376,12 +377,12 @@ bfe_dma_free(struct bfe_softc *sc)
/* Rx ring. */
if (sc->bfe_rx_tag != NULL) {
- if (sc->bfe_rx_map != NULL)
+ if (sc->bfe_rx_dma != 0)
bus_dmamap_unload(sc->bfe_rx_tag, sc->bfe_rx_map);
- if (sc->bfe_rx_map != NULL && sc->bfe_rx_list != NULL)
+ if (sc->bfe_rx_list != NULL)
bus_dmamem_free(sc->bfe_rx_tag, sc->bfe_rx_list,
sc->bfe_rx_map);
- sc->bfe_rx_map = NULL;
+ sc->bfe_rx_dma = 0;
sc->bfe_rx_list = NULL;
bus_dma_tag_destroy(sc->bfe_rx_tag);
sc->bfe_rx_tag = NULL;
@@ -489,7 +490,6 @@ bfe_attach(device_t dev)
ifp->if_ioctl = bfe_ioctl;
ifp->if_start = bfe_start;
ifp->if_init = bfe_init;
- ifp->if_mtu = ETHERMTU;
IFQ_SET_MAXLEN(&ifp->if_snd, BFE_TX_QLEN);
ifp->if_snd.ifq_drv_maxlen = BFE_TX_QLEN;
IFQ_SET_READY(&ifp->if_snd);
@@ -514,7 +514,7 @@ bfe_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 |= IFCAP_VLAN_MTU;
@@ -1310,22 +1310,22 @@ bfe_stats_update(struct bfe_softc *sc)
stats->rx_control_frames += mib[MIB_RX_NPAUSE];
/* Update counters in ifnet. */
- ifp->if_opackets += (u_long)mib[MIB_TX_GOOD_P];
- ifp->if_collisions += (u_long)mib[MIB_TX_TCOLS];
- ifp->if_oerrors += (u_long)mib[MIB_TX_URUNS] +
+ if_inc_counter(ifp, IFCOUNTER_OPACKETS, (u_long)mib[MIB_TX_GOOD_P]);
+ if_inc_counter(ifp, IFCOUNTER_COLLISIONS, (u_long)mib[MIB_TX_TCOLS]);
+ if_inc_counter(ifp, IFCOUNTER_OERRORS, (u_long)mib[MIB_TX_URUNS] +
(u_long)mib[MIB_TX_ECOLS] +
(u_long)mib[MIB_TX_DEFERED] +
- (u_long)mib[MIB_TX_CLOST];
+ (u_long)mib[MIB_TX_CLOST]);
- ifp->if_ipackets += (u_long)mib[MIB_RX_GOOD_P];
+ if_inc_counter(ifp, IFCOUNTER_IPACKETS, (u_long)mib[MIB_RX_GOOD_P]);
- ifp->if_ierrors += mib[MIB_RX_JABBER] +
+ if_inc_counter(ifp, IFCOUNTER_IERRORS, mib[MIB_RX_JABBER] +
mib[MIB_RX_MISS] +
mib[MIB_RX_CRCA] +
mib[MIB_RX_USIZE] +
mib[MIB_RX_CRC] +
mib[MIB_RX_ALIGN] +
- mib[MIB_RX_SYM];
+ mib[MIB_RX_SYM]);
}
static void
@@ -1403,7 +1403,7 @@ bfe_rxeof(struct bfe_softc *sc)
* reuse mapped buffer from errored frame.
*/
if (bfe_list_newbuf(sc, cons) != 0) {
- ifp->if_iqdrops++;
+ if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
bfe_discard_buf(sc, cons);
continue;
}
@@ -1818,7 +1818,7 @@ bfe_watchdog(struct bfe_softc *sc)
device_printf(sc->bfe_dev, "watchdog timeout -- resetting\n");
- ifp->if_oerrors++;
+ if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
bfe_init_locked(sc);
diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile
b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile
index 97ed86e740..38cb097553 100644
--- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile
+++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/Jamfile
@@ -1,7 +1,7 @@
SubDir HAIKU_TOP src add-ons kernel drivers network broadcom440x dev mii ;
UseHeaders [ FDirName $(SUBDIR) .. .. ] : true ;
-UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd_network compat ] :
true ;
+UseHeaders [ FDirName $(HAIKU_TOP) src libs compat freebsd11_network compat ]
: true ;
UsePrivateHeaders net system ;
UsePrivateKernelHeaders ;
@@ -15,5 +15,5 @@ KernelStaticLibrary broadcom440x_mii.a
ObjectHdrs [ FGristFiles bmtphy$(SUFOBJ) ]
: [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH))
libs
- compat freebsd_network ] ;
-Includes [ FGristFiles bmtphy.c ] : <src!libs!compat!freebsd_network>miidevs.h
;
\ No newline at end of file
+ compat freebsd11_network ] ;
+Includes [ FGristFiles bmtphy.c ] :
<src!libs!compat!freebsd11_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphy.c
b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphy.c
index 9af56e92da..0482be9190 100644
--- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphy.c
+++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphy.c
@@ -163,12 +163,6 @@ bmtphy_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;