[haiku-commits] haiku: hrev52073 - in src/add-ons/kernel/drivers/network/3com/dev: xl src/add-ons/kernel/drivers/network/3com mii

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Thu, 5 Jul 2018 17:15:22 -0400 (EDT)

hrev52073 adds 1 changeset to branch 'master'
old head: 3b17d8dd7f1f25ad91f64ea12770200043d56af1
new head: 61e7a6b1f9b9b784dd7cf43ff4d967cd01aee63b
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=61e7a6b1f9b9+%5E3b17d8dd7f1f

----------------------------------------------------------------------------

61e7a6b1f9b9: 3com: Sync with FreeBSD 11.1.
  
  No functional changes to the actual driver, it seems.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev52073
Commit:      61e7a6b1f9b9b784dd7cf43ff4d967cd01aee63b
URL:         https://git.haiku-os.org/haiku/commit/?id=61e7a6b1f9b9
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Jul  5 21:10:16 2018 UTC

----------------------------------------------------------------------------

12 files changed, 50 insertions(+), 97 deletions(-)
src/add-ons/kernel/drivers/network/3com/Jamfile  | 28 +++++++++++++++++++-
.../kernel/drivers/network/3com/dev/Jamfile      |  4 ---
.../kernel/drivers/network/3com/dev/mii/Jamfile  | 23 ----------------
.../kernel/drivers/network/3com/dev/mii/bmtphy.c |  8 +-----
.../drivers/network/3com/dev/mii/bmtphyreg.h     |  2 +-
.../kernel/drivers/network/3com/dev/mii/ukphy.c  |  8 +-----
.../drivers/network/3com/dev/mii/ukphy_subr.c    |  2 +-
.../kernel/drivers/network/3com/dev/xl/Jamfile   | 22 ---------------
.../kernel/drivers/network/3com/dev/xl/if_xl.c   | 26 +++++++++---------
.../kernel/drivers/network/3com/dev/xl/xlphy.c   | 14 +---------
.../drivers/network/3com/{dev/xl => }/glue.c     |  8 +++---
src/add-ons/kernel/drivers/network/Jamfile       |  2 +-

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/3com/Jamfile 
b/src/add-ons/kernel/drivers/network/3com/Jamfile
index 1ce0f507de..695ce1238a 100644
--- a/src/add-ons/kernel/drivers/network/3com/Jamfile
+++ b/src/add-ons/kernel/drivers/network/3com/Jamfile
@@ -1,3 +1,29 @@
 SubDir HAIKU_TOP src add-ons kernel drivers network 3com ;
 
-SubInclude HAIKU_TOP src add-ons kernel drivers network 3com dev ;
+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 xl ] ;
+
+KernelAddon 3com :
+       glue.c
+       if_xl.c
+       xlphy.c
+       bmtphy.c
+       ukphy.c
+       ukphy_subr.c
+       : libfreebsd11_network.a
+       ;
+
+ObjectHdrs [ FGristFiles bmtphy$(SUFOBJ) ukphy$(SUFOBJ) xlphy$(SUFOBJ) ]
+       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
+               compat freebsd_network ] ;
+Includes [ FGristFiles bmtphy.c ukphy.c xlphy.c ]
+       : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/Jamfile 
b/src/add-ons/kernel/drivers/network/3com/dev/Jamfile
deleted file mode 100644
index 0a072bc397..0000000000
--- a/src/add-ons/kernel/drivers/network/3com/dev/Jamfile
+++ /dev/null
@@ -1,4 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network 3com dev ;
-
-SubInclude HAIKU_TOP src add-ons kernel drivers network 3com dev mii ;
-SubInclude HAIKU_TOP src add-ons kernel drivers network 3com dev xl ;
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile 
b/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile
deleted file mode 100644
index a68d82f21f..0000000000
--- a/src/add-ons/kernel/drivers/network/3com/dev/mii/Jamfile
+++ /dev/null
@@ -1,23 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network 3com 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 3com_mii.a
-       :
-       bmtphy.c
-       ukphy.c
-       ukphy_subr.c
-       ;
-
-ObjectHdrs [ FGristFiles bmtphy$(SUFOBJ) ukphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles bmtphy.c ukphy.c ]
-       : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphy.c 
b/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphy.c
index 81c2bd2ae1..dd05e821f2 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphy.c
+++ b/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphy.c
@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/bmtphy.c 257184 2013-10-26 
18:40:17Z glebius $");
 
 /*
  * Driver for the Broadcom BCM5201/BCM5202 "Mini-Theta" PHYs.  This also
@@ -159,12 +159,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;
 
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphyreg.h 
b/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphyreg.h
index 6aa141deb4..1acdf75d81 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphyreg.h
+++ b/src/add-ons/kernel/drivers/network/3com/dev/mii/bmtphyreg.h
@@ -28,7 +28,7 @@
  *
  *     from NetBSD: bmtphyreg.h,v 1.1 2001/06/02 21:42:10 thorpej Exp
  *
- * $FreeBSD$
+ * $FreeBSD: releng/11.1/sys/dev/mii/bmtphyreg.h 204646 2010-03-03 17:55:51Z 
joel $
  */
 
 #ifndef _DEV_MII_BMTPHYREG_H_
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy.c 
b/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy.c
index 9d52eb580c..a4004afdb5 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy.c
+++ b/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy.c
@@ -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;
 
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy_subr.c 
b/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy_subr.c
index 5f2f6341ba..f78b4e5e3b 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy_subr.c
+++ b/src/add-ons/kernel/drivers/network/3com/dev/mii/ukphy_subr.c
@@ -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.
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile 
b/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile
deleted file mode 100644
index ba110e7f01..0000000000
--- a/src/add-ons/kernel/drivers/network/3com/dev/xl/Jamfile
+++ /dev/null
@@ -1,22 +0,0 @@
-SubDir HAIKU_TOP src add-ons kernel drivers network 3com dev xl ;
-
-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 ] ;
-
-KernelAddon 3com :
-       if_xl.c
-       glue.c
-       xlphy.c
-       : libfreebsd_network.a 3com_mii.a
-       ;
-
-ObjectHdrs [ FGristFiles xlphy$(SUFOBJ) ]
-       : [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR_$(TARGET_PACKAGING_ARCH)) 
libs
-               compat freebsd_network ] ;
-Includes [ FGristFiles xlphy.c ]
-       : <src!libs!compat!freebsd_network>miidevs.h ;
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xl.c 
b/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xl.c
index ccabc08399..d58b714e11 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xl.c
+++ b/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xl.c
@@ -1873,7 +1873,7 @@ again:
                 * comes up in the ring.
                 */
                if (rxstat & XL_RXSTAT_UP_ERROR) {
-                       ifp->if_ierrors++;
+                       if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
                        cur_rx->xl_ptr->xl_status = 0;
                        bus_dmamap_sync(sc->xl_ldata.xl_rx_tag,
                            sc->xl_ldata.xl_rx_dmamap, BUS_DMASYNC_PREWRITE);
@@ -1888,7 +1888,7 @@ again:
                if (!(rxstat & XL_RXSTAT_UP_CMPLT)) {
                        device_printf(sc->xl_dev,
                            "bad receive status -- packet dropped\n");
-                       ifp->if_ierrors++;
+                       if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
                        cur_rx->xl_ptr->xl_status = 0;
                        bus_dmamap_sync(sc->xl_ldata.xl_rx_tag,
                            sc->xl_ldata.xl_rx_dmamap, BUS_DMASYNC_PREWRITE);
@@ -1908,7 +1908,7 @@ again:
                 * can do in this situation.
                 */
                if (xl_newbuf(sc, cur_rx)) {
-                       ifp->if_ierrors++;
+                       if_inc_counter(ifp, IFCOUNTER_IERRORS, 1);
                        cur_rx->xl_ptr->xl_status = 0;
                        bus_dmamap_sync(sc->xl_ldata.xl_rx_tag,
                            sc->xl_ldata.xl_rx_dmamap, BUS_DMASYNC_PREWRITE);
@@ -1917,7 +1917,7 @@ again:
                bus_dmamap_sync(sc->xl_ldata.xl_rx_tag,
                    sc->xl_ldata.xl_rx_dmamap, BUS_DMASYNC_PREWRITE);
 
-               ifp->if_ipackets++;
+               if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
                m->m_pkthdr.rcvif = ifp;
                m->m_pkthdr.len = m->m_len = total_len;
 
@@ -2021,7 +2021,7 @@ xl_txeof(struct xl_softc *sc)
                bus_dmamap_unload(sc->xl_mtag, cur_tx->xl_map);
                m_freem(cur_tx->xl_mbuf);
                cur_tx->xl_mbuf = NULL;
-               ifp->if_opackets++;
+               if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
                ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
 
                cur_tx->xl_next = sc->xl_cdata.xl_tx_free;
@@ -2068,7 +2068,7 @@ xl_txeof_90xB(struct xl_softc *sc)
                        cur_tx->xl_mbuf = NULL;
                }
 
-               ifp->if_opackets++;
+               if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
 
                sc->xl_cdata.xl_tx_cnt--;
                XL_INC(idx, XL_TX_LIST_CNT);
@@ -2198,7 +2198,7 @@ xl_intr(void *arg)
                }
 
                if (status & XL_STAT_TX_COMPLETE) {
-                       ifp->if_oerrors++;
+                       if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
                        xl_txeoc(sc);
                }
 
@@ -2275,7 +2275,7 @@ xl_poll_locked(struct ifnet *ifp, enum poll_cmd cmd, int 
count)
                            XL_CMD_INTR_ACK|(status & XL_INTRS));
 
                        if (status & XL_STAT_TX_COMPLETE) {
-                               ifp->if_oerrors++;
+                               if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
                                xl_txeoc(sc);
                        }
 
@@ -2332,10 +2332,12 @@ xl_stats_update(struct xl_softc *sc)
        for (i = 0; i < 16; i++)
                *p++ = CSR_READ_1(sc, XL_W6_CARRIER_LOST + i);
 
-       ifp->if_ierrors += xl_stats.xl_rx_overrun;
+       if_inc_counter(ifp, IFCOUNTER_IERRORS, xl_stats.xl_rx_overrun);
 
-       ifp->if_collisions += xl_stats.xl_tx_multi_collision +
-           xl_stats.xl_tx_single_collision + xl_stats.xl_tx_late_collision;
+       if_inc_counter(ifp, IFCOUNTER_COLLISIONS,
+               xl_stats.xl_tx_multi_collision +
+               xl_stats.xl_tx_single_collision +
+               xl_stats.xl_tx_late_collision);
 
        /*
         * Boomerang and cyclone chips have an extra stats counter
@@ -3141,7 +3143,7 @@ xl_watchdog(struct xl_softc *sc)
                return (0);
        }
 
-       ifp->if_oerrors++;
+       if_inc_counter(ifp, IFCOUNTER_OERRORS, 1);
        XL_SEL_WIN(4);
        status = CSR_READ_2(sc, XL_W4_MEDIA_STATUS);
        device_printf(sc->xl_dev, "watchdog timeout\n");
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/xl/xlphy.c 
b/src/add-ons/kernel/drivers/network/3com/dev/xl/xlphy.c
index 2fe9e0d905..68b8088ae5 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/xl/xlphy.c
+++ b/src/add-ons/kernel/drivers/network/3com/dev/xl/xlphy.c
@@ -55,7 +55,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/11.1/sys/dev/xl/xlphy.c 257184 2013-10-26 18:40:17Z 
glebius $");
 
 /*
  * driver for 3Com internal PHYs
@@ -152,22 +152,10 @@ xlphy_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;
 
        case MII_TICK:
-               /*
-                * Is the interface even up?
-                */
-               if ((mii->mii_ifp->if_flags & IFF_UP) == 0)
-                       return (0);
-
                /*
                 * The 3Com PHY's autonegotiation doesn't need to be
                 * kicked; it continues in the background.
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/xl/glue.c 
b/src/add-ons/kernel/drivers/network/3com/glue.c
similarity index 93%
rename from src/add-ons/kernel/drivers/network/3com/dev/xl/glue.c
rename to src/add-ons/kernel/drivers/network/3com/glue.c
index f17beb9199..2b29453185 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/xl/glue.c
+++ b/src/add-ons/kernel/drivers/network/3com/glue.c
@@ -16,6 +16,7 @@
 
 
 HAIKU_FBSD_DRIVER_GLUE(3com, xl, pci);
+HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_SWI_TASKQUEUE);
 
 extern driver_t *DRIVER_MODULE_NAME(bmtphy, miibus);
 extern driver_t *DRIVER_MODULE_NAME(ukphy, miibus);
@@ -37,7 +38,7 @@ __haiku_select_miibus_driver(device_t dev)
 
 
 int
-__haiku_disable_interrupts(device_t dev)
+HAIKU_CHECK_DISABLE_INTERRUPTS(device_t dev)
 {
        struct xl_softc *sc = device_get_softc(dev);
        u_int16_t status = CSR_READ_2(sc, XL_STATUS);
@@ -53,11 +54,8 @@ __haiku_disable_interrupts(device_t dev)
 
 
 void
-__haiku_reenable_interrupts(device_t dev)
+HAIKU_REENABLE_INTERRUPTS(device_t dev)
 {
        struct xl_softc *sc = device_get_softc(dev);
        CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_STAT_ENB | XL_INTRS);
 }
-
-
-HAIKU_DRIVER_REQUIREMENTS(FBSD_TASKQUEUES | FBSD_SWI_TASKQUEUE);
diff --git a/src/add-ons/kernel/drivers/network/Jamfile 
b/src/add-ons/kernel/drivers/network/Jamfile
index 4de7a37c88..5283e33e96 100644
--- a/src/add-ons/kernel/drivers/network/Jamfile
+++ b/src/add-ons/kernel/drivers/network/Jamfile
@@ -19,13 +19,13 @@ 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 3com ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network dec21xxx ;
 
 # FreeBSD 9.3 drivers
 SubInclude HAIKU_TOP src add-ons kernel drivers network jmicron2x0 ;
 
 # FreeBSD 11.1 drivers
+SubInclude HAIKU_TOP src add-ons kernel drivers network 3com ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network ar81xx ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network atheros813x ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network attansic_l1 ;


Other related posts:

  • » [haiku-commits] haiku: hrev52073 - in src/add-ons/kernel/drivers/network/3com/dev: xl src/add-ons/kernel/drivers/network/3com mii - waddlesplash