[prev in list] [next in list] [prev in thread] [next in thread]
List: haiku-commits
Subject: [haiku-commits] haiku: hrev52695 - in src/add-ons/kernel/drivers/network: emulex_oce/dev/oce . dec21
From: waddlesplash <waddlesplash () gmail ! com>
Date: 2018-12-27 21:56:19
Message-ID: 20181227215619.2582823577 () turing ! freelists ! org
[Download RAW message or body]
hrev52695 adds 10 changesets to branch 'master'
old head: 125df15288865dca19c895d64dd6fc64655908fe
new head: 0c3e5b9745568e27ac7384427d69bd3d8cad6f1c
overview: https://git.haiku-os.org/haiku/log/?qt=range&q=0c3e5b974556+%5E125df1528886
----------------------------------------------------------------------------
d5b99ecde766: freebsd_network: Some small additions for FreeBSD 12 drivers.
71f1250df5c2: 3com: Upgrade to FreeBSD 12.
b240ae40df29: ar81xx: Upgrade to FreeBSD 12.
ca813faa3c7c: atheros813x: Upgrade to FreeBSD 12.
3bfc859a3852: attansic: Upgrade to FreeBSD 12.
65124582dcb4: broadcom440x: Upgrade to FreeBSD 12.
25531c5613e7: broadcom570x: Upgrade to FreeBSD 12; fix logic inversion in Haiku code.
See inline comment in brgphy.c.
2aaa3af64dfa: dec21xxx: Upgrade to FreeBSD 12.
522d14392077: emulex_oce: Upgrade to FreeBSD 12.
0c3e5b974556: ipro100: Upgrade to FreeBSD 12.
[ Augustin Cavalier <waddlesplash@gmail.com> ]
----------------------------------------------------------------------------
69 files changed, 2805 insertions(+), 790 deletions(-)
.../kernel/drivers/network/3com/dev/mii/bmtphy.c | 10 +-
.../drivers/network/3com/dev/mii/bmtphyreg.h | 4 +-
.../kernel/drivers/network/3com/dev/mii/ukphy.c | 4 +-
.../drivers/network/3com/dev/mii/ukphy_subr.c | 4 +-
.../kernel/drivers/network/3com/dev/xl/if_xl.c | 24 +-
.../drivers/network/3com/dev/xl/if_xlreg.h | 4 +-
.../kernel/drivers/network/3com/dev/xl/xlphy.c | 4 +-
.../drivers/network/ar81xx/dev/ale/if_ale.c | 6 +-
.../drivers/network/ar81xx/dev/ale/if_alereg.h | 4 +-
.../drivers/network/ar81xx/dev/ale/if_alevar.h | 4 +-
.../drivers/network/ar81xx/dev/mii/ukphy.c | 4 +-
.../drivers/network/ar81xx/dev/mii/ukphy_subr.c | 4 +-
.../drivers/network/atheros813x/dev/alc/if_alc.c | 104 +-
.../network/atheros813x/dev/alc/if_alcreg.h | 4 +-
.../network/atheros813x/dev/alc/if_alcvar.h | 4 +-
.../drivers/network/atheros813x/dev/mii/ukphy.c | 4 +-
.../network/atheros813x/dev/mii/ukphy_subr.c | 4 +-
.../drivers/network/attansic_l1/dev/age/if_age.c | 15 +-
.../network/attansic_l1/dev/age/if_agereg.h | 4 +-
.../network/attansic_l1/dev/age/if_agevar.h | 4 +-
.../drivers/network/attansic_l1/dev/mii/atphy.c | 4 +-
.../network/attansic_l1/dev/mii/atphyreg.h | 4 +-
.../drivers/network/attansic_l2/dev/ae/if_ae.c | 32 +-
.../network/attansic_l2/dev/ae/if_aereg.h | 4 +-
.../network/attansic_l2/dev/ae/if_aevar.h | 4 +-
.../drivers/network/attansic_l2/dev/mii/ukphy.c | 4 +-
.../network/attansic_l2/dev/mii/ukphy_subr.c | 4 +-
.../network/broadcom440x/dev/bfe/if_bfe.c | 12 +-
.../network/broadcom440x/dev/bfe/if_bfereg.h | 4 +-
.../network/broadcom440x/dev/mii/bmtphy.c | 11 +-
.../network/broadcom440x/dev/mii/bmtphyreg.h | 4 +-
.../network/broadcom570x/dev/bce/if_bcereg.h | 4 +-
.../network/broadcom570x/dev/bge/if_bge.c | 131 +-
.../network/broadcom570x/dev/bge/if_bgereg.h | 4 +-
.../network/broadcom570x/dev/mii/brgphy.c | 4 +-
.../network/broadcom570x/dev/mii/brgphyreg.h | 4 +-
.../drivers/network/broadcom570x/dev/mii/ukphy.c | 4 +-
.../network/broadcom570x/dev/mii/ukphy_subr.c | 4 +-
.../drivers/network/dec21xxx/dev/dc/dcphy.c | 4 +-
.../drivers/network/dec21xxx/dev/dc/if_dc.c | 6 +-
.../drivers/network/dec21xxx/dev/dc/if_dcreg.h | 4 +-
.../drivers/network/dec21xxx/dev/dc/pnphy.c | 4 +-
.../drivers/network/dec21xxx/dev/de/dc21040reg.h | 18 +-
.../drivers/network/dec21xxx/dev/de/if_de.c | 18 +-
.../drivers/network/dec21xxx/dev/de/if_devar.h | 9 +-
.../drivers/network/dec21xxx/dev/mii/acphy.c | 4 +-
.../drivers/network/dec21xxx/dev/mii/acphyreg.h | 4 +-
.../drivers/network/dec21xxx/dev/mii/amphy.c | 4 +-
.../drivers/network/dec21xxx/dev/mii/amphyreg.h | 4 +-
.../drivers/network/dec21xxx/dev/mii/ukphy.c | 4 +-
.../network/dec21xxx/dev/mii/ukphy_subr.c | 4 +-
.../drivers/network/emulex_oce/dev/oce/oce_hw.c | 39 +-
.../drivers/network/emulex_oce/dev/oce/oce_hw.h | 533 +++++++-
.../drivers/network/emulex_oce/dev/oce/oce_if.c | 1153 ++++++++++++++----
.../drivers/network/emulex_oce/dev/oce/oce_if.h | 130 +-
.../network/emulex_oce/dev/oce/oce_mbox.c | 462 ++++---
.../network/emulex_oce/dev/oce/oce_queue.c | 295 ++++-
.../network/emulex_oce/dev/oce/oce_sysctl.c | 245 ++--
.../network/emulex_oce/dev/oce/oce_user.h | 121 ++
.../network/emulex_oce/dev/oce/oce_util.c | 4 +-
.../drivers/network/ipro100/dev/fxp/if_fxp.c | 27 +-
.../drivers/network/ipro100/dev/fxp/if_fxpreg.h | 4 +-
.../drivers/network/ipro100/dev/fxp/if_fxpvar.h | 4 +-
.../drivers/network/ipro100/dev/fxp/inphy.c | 4 +-
.../drivers/network/ipro100/dev/fxp/inphyreg.h | 4 +-
.../drivers/network/ipro100/dev/fxp/rcvbundl.h | 4 +-
.../compat/freebsd_network/compat/net/ethernet.h | 3 +
.../compat/netinet/netdump/netdump.h | 14 +
.../compat/freebsd_network/compat/sys/module.h | 1 +
############################################################################
Commit: d5b99ecde766bbb336eb6869cbbbb310935aa28a
URL: https://git.haiku-os.org/haiku/commit/?id=d5b99ecde766
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:51:48 2018 UTC
freebsd_network: Some small additions for FreeBSD 12 drivers.
----------------------------------------------------------------------------
diff --git a/src/libs/compat/freebsd_network/compat/net/ethernet.h \
b/src/libs/compat/freebsd_network/compat/net/ethernet.h index b97f8529d7..e80033a886 \
100644
--- a/src/libs/compat/freebsd_network/compat/net/ethernet.h
+++ b/src/libs/compat/freebsd_network/compat/net/ethernet.h
@@ -79,6 +79,9 @@ CTASSERT(sizeof (struct ether_addr) == ETHER_ADDR_LEN);
#endif
#define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address mcast/bcast? */
+#define ETHER_IS_BROADCAST(addr) \
+ (((addr)[0] & (addr)[1] & (addr)[2] & \
+ (addr)[3] & (addr)[4] & (addr)[5]) == 0xff)
/*
* NOTE: 0x0000-0x05DC (0..1500) are generally IEEE 802.3 length fields.
diff --git a/src/libs/compat/freebsd_network/compat/netinet/netdump/netdump.h \
b/src/libs/compat/freebsd_network/compat/netinet/netdump/netdump.h new file mode \
100644 index 0000000000..ef07076098
--- /dev/null
+++ b/src/libs/compat/freebsd_network/compat/netinet/netdump/netdump.h
@@ -0,0 +1,14 @@
+/*
+ * Copyright 2018, Haiku Inc. All rights reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _FBSD_COMPAT_NETINET_NETDUMP_H_
+#define _FBSD_COMPAT_NETINET_NETDUMP_H_
+
+
+#define NETDUMP_DEFINE(driver)
+#define NETDUMP_REINIT(ifp)
+#define NETDUMP_SET(ifp, driver)
+
+
+#endif /* _FBSD_COMPAT_NETINET_NETDUMP_H_ */
diff --git a/src/libs/compat/freebsd_network/compat/sys/module.h \
b/src/libs/compat/freebsd_network/compat/sys/module.h index 4315069b72..09dfd5d8ce \
100644
--- a/src/libs/compat/freebsd_network/compat/sys/module.h
+++ b/src/libs/compat/freebsd_network/compat/sys/module.h
@@ -19,5 +19,6 @@ typedef enum modeventtype {
#define MODULE_VERSION(name, version)
#define MODULE_DEPEND(module, mdepend, vmin, vpref, vmax)
+#define MODULE_PNP_INFO(d, b, unique, t, n)
#endif
############################################################################
Commit: 71f1250df5c2e40c5f708f627374cd9762aebbaf
URL: https://git.haiku-os.org/haiku/commit/?id=71f1250df5c2
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:52:27 2018 UTC
3com: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
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 \
dd05e821f2..71aec8da84 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
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -56,7 +58,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/bmtphy.c 257184 2013-10-26 18:40:17Z \
glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/bmtphy.c 326255 2017-11-27 \
14:52:40Z pfg $");
/*
* Driver for the Broadcom BCM5201/BCM5202 "Mini-Theta" PHYs. This also
@@ -136,8 +138,14 @@ bmtphy_probe(device_t dev)
/* Let exphy(4) take precedence for these. */
rval = mii_phy_dev_probe(dev, bmtphys_lp, BUS_PROBE_LOW_PRIORITY);
+#ifndef __HAIKU__
if (rval <= 0)
return (rval);
+#else /* __HAIKU__ */
+ /* our BUS_PROBE_* constants are > 0 since errors are < 0 */
+ if (rval > 0)
+ return (rval);
+#endif
return (mii_phy_dev_probe(dev, bmtphys_dp, BUS_PROBE_DEFAULT));
}
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 \
1acdf75d81..2ef489c41e 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
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -28,7 +30,7 @@
*
* from NetBSD: bmtphyreg.h,v 1.1 2001/06/02 21:42:10 thorpej Exp
*
- * $FreeBSD: releng/11.1/sys/dev/mii/bmtphyreg.h 204646 2010-03-03 17:55:51Z joel $
+ * $FreeBSD: releng/12.0/sys/dev/mii/bmtphyreg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#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 \
a4004afdb5..ea101c4ba4 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
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy.c,v 1.2 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/ukphy.c 257184 2013-10-26 18:40:17Z \
glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy.c 326255 2017-11-27 \
14:52:40Z pfg $");
/*
* driver for generic unknown PHYs
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 \
f78b4e5e3b..e3d88c96c9 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
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy_subr.c,v 1.2 1998/11/05 04:08:02 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/ukphy_subr.c 215297 2010-11-14 13:26:10Z \
marius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy_subr.c 326255 \
2017-11-27 14:52:40Z pfg $");
/*
* Subroutines shared by the ukphy driver and other PHY drivers.
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 d58b714e11..201657e1d6 \
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
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/xl/if_xl.c 338948 2018-09-26 17:12:14Z imp \
$");
/*
* 3Com 3c90x Etherlink XL PCI NIC driver
@@ -75,7 +77,7 @@ __FBSDID("$FreeBSD$");
* Columbia University, New York City
*/
/*
- * The 3c90x series chips use a bus-master DMA interface for transfering
+ * The 3c90x series chips use a bus-master DMA interface for transferring
* packets to and from the controller chip. Some of the "vortex" cards
* (3c59x) also supported a bus master mode, however for those chips
* you could only DMA packets to/from a contiguous memory buffer. For
@@ -106,13 +108,15 @@ __FBSDID("$FreeBSD$");
#include <sys/systm.h>
#include <sys/sockio.h>
#include <sys/endian.h>
-#include <sys/mbuf.h>
#include <sys/kernel.h>
+#include <sys/malloc.h>
+#include <sys/mbuf.h>
#include <sys/module.h>
#include <sys/socket.h>
#include <sys/taskqueue.h>
#include <net/if.h>
+#include <net/if_var.h>
#include <net/if_arp.h>
#include <net/ethernet.h>
#include <net/if_dl.h>
@@ -330,6 +334,8 @@ static devclass_t xl_devclass;
DRIVER_MODULE_ORDERED(xl, pci, xl_driver, xl_devclass, NULL, NULL,
SI_ORDER_ANY);
DRIVER_MODULE(miibus, xl, miibus_driver, miibus_devclass, NULL, NULL);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, xl, xl_devs,
+ nitems(xl_devs) - 1);
static void
xl_dma_map_addr(void *arg, bus_dma_segment_t *segs, int nseg, int error)
@@ -351,7 +357,7 @@ xl_dma_map_addr(void *arg, bus_dma_segment_t *segs, int nseg, int \
error) static void
xl_wait(struct xl_softc *sc)
{
- register int i;
+ int i;
for (i = 0; i < XL_TIMEOUT; i++) {
if ((CSR_READ_2(sc, XL_STATUS) & XL_STAT_CMDBUSY) == 0)
@@ -834,7 +840,7 @@ xl_setmode(struct xl_softc *sc, int media)
static void
xl_reset(struct xl_softc *sc)
{
- register int i;
+ int i;
XL_LOCK_ASSERT(sc);
@@ -2335,9 +2341,9 @@ xl_stats_update(struct xl_softc *sc)
if_inc_counter(ifp, IFCOUNTER_IERRORS, xl_stats.xl_rx_overrun);
if_inc_counter(ifp, IFCOUNTER_COLLISIONS,
- xl_stats.xl_tx_multi_collision +
- xl_stats.xl_tx_single_collision +
- xl_stats.xl_tx_late_collision);
+ 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
@@ -3172,7 +3178,7 @@ xl_watchdog(struct xl_softc *sc)
static void
xl_stop(struct xl_softc *sc)
{
- register int i;
+ int i;
struct ifnet *ifp = sc->xl_ifp;
XL_LOCK_ASSERT(sc);
diff --git a/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xlreg.h \
b/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xlreg.h index \
17457beefc..725484cb9c 100644
--- a/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xlreg.h
+++ b/src/add-ons/kernel/drivers/network/3com/dev/xl/if_xlreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998
* Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
*
@@ -29,7 +31,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/xl/if_xlreg.h 325966 2017-11-18 14:26:50Z pfg $
*/
#define XL_EE_READ 0x0080 /* read, 5 bit address */
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 68b8088ae5..99ed229ba2 \
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
@@ -1,6 +1,8 @@
/* $NetBSD: exphy.c,v 1.16 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD AND BSD-2-Clause
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/xl/xlphy.c 257184 2013-10-26 18:40:17Z \
glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/xl/xlphy.c 326255 2017-11-27 \
14:52:40Z pfg $");
/*
* driver for 3Com internal PHYs
############################################################################
Commit: b240ae40df297d9370edc035e35599b66bea46e7
URL: https://git.haiku-os.org/haiku/commit/?id=b240ae40df29
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:53:15 2018 UTC
ar81xx: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_ale.c \
b/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_ale.c index \
e7d030636c..4cf205655b 100644
--- a/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_ale.c
+++ b/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_ale.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -28,7 +30,7 @@
/* Driver for Atheros AR8121/AR8113/AR8114 PCIe Ethernet. */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/ale/if_ale.c 338948 2018-09-26 17:12:14Z imp \
$");
#include <sys/param.h>
#include <sys/systm.h>
@@ -176,6 +178,8 @@ static driver_t ale_driver = {
static devclass_t ale_devclass;
DRIVER_MODULE(ale, pci, ale_driver, ale_devclass, NULL, NULL);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, ale, ale_devs,
+ nitems(ale_devs));
DRIVER_MODULE(miibus, ale, miibus_driver, miibus_devclass, NULL, NULL);
static struct resource_spec ale_res_spec_mem[] = {
diff --git a/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alereg.h \
b/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alereg.h index \
5804c53724..f6758dac3a 100644
--- a/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alereg.h
+++ b/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alereg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/ale/if_alereg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _IF_ALEREG_H
diff --git a/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alevar.h \
b/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alevar.h index \
8995c693f8..a006cc00e7 100644
--- a/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alevar.h
+++ b/src/add-ons/kernel/drivers/network/ar81xx/dev/ale/if_alevar.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/ale/if_alevar.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _IF_ALEVAR_H
diff --git a/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy.c \
b/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy.c index \
45addcbc75..ea101c4ba4 100644
--- a/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy.c
+++ b/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy.c,v 1.2 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy.c 326255 2017-11-27 14:52:40Z pfg \
$");
/*
* driver for generic unknown PHYs
diff --git a/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy_subr.c \
b/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy_subr.c index \
5f2f6341ba..e3d88c96c9 100644
--- a/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy_subr.c
+++ b/src/add-ons/kernel/drivers/network/ar81xx/dev/mii/ukphy_subr.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy_subr.c,v 1.2 1998/11/05 04:08:02 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy_subr.c 326255 2017-11-27 14:52:40Z \
pfg $");
/*
* Subroutines shared by the ukphy driver and other PHY drivers.
############################################################################
Commit: ca813faa3c7c8f93832511258cd8e6484d1c52fe
URL: https://git.haiku-os.org/haiku/commit/?id=ca813faa3c7c
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:53:24 2018 UTC
atheros813x: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alc.c \
b/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alc.c index \
ca7ae9d17b..59e719d6b3 100644
--- a/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alc.c
+++ b/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alc.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2009, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -28,7 +30,7 @@
/* Driver for Atheros AR813x/AR815x PCIe Ethernet. */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/alc/if_alc.c 338948 2018-09-26 17:12:14Z imp \
$");
#include <sys/param.h>
#include <sys/systm.h>
@@ -62,6 +64,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
+#include <netinet/netdump/netdump.h>
#include <dev/mii/mii.h>
#include <dev/mii/miivar.h>
@@ -197,6 +200,7 @@ static int alc_shutdown(device_t);
static void alc_start(struct ifnet *);
static void alc_start_locked(struct ifnet *);
static void alc_start_queue(struct alc_softc *);
+static void alc_start_tx(struct alc_softc *);
static void alc_stats_clear(struct alc_softc *);
static void alc_stats_update(struct alc_softc *);
static void alc_stop(struct alc_softc *);
@@ -211,6 +215,8 @@ static int sysctl_int_range(SYSCTL_HANDLER_ARGS, int, int);
static int sysctl_hw_alc_proc_limit(SYSCTL_HANDLER_ARGS);
static int sysctl_hw_alc_int_mod(SYSCTL_HANDLER_ARGS);
+NETDUMP_DEFINE(alc);
+
static device_method_t alc_methods[] = {
/* Device interface. */
DEVMETHOD(device_probe, alc_probe),
@@ -225,7 +231,7 @@ static device_method_t alc_methods[] = {
DEVMETHOD(miibus_writereg, alc_miibus_writereg),
DEVMETHOD(miibus_statchg, alc_miibus_statchg),
- { NULL, NULL }
+ DEVMETHOD_END
};
static driver_t alc_driver = {
@@ -237,6 +243,8 @@ static driver_t alc_driver = {
static devclass_t alc_devclass;
DRIVER_MODULE(alc, pci, alc_driver, alc_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device", pci, alc, alc_ident_table,
+ nitems(alc_ident_table) - 1);
DRIVER_MODULE(miibus, alc, miibus_driver, miibus_devclass, 0, 0);
static struct resource_spec alc_res_spec_mem[] = {
@@ -1649,6 +1657,9 @@ alc_attach(device_t dev)
goto fail;
}
+ /* Attach driver netdump methods. */
+ NETDUMP_SET(ifp, alc);
+
fail:
if (error != 0)
alc_detach(dev);
@@ -2972,22 +2983,28 @@ alc_start_locked(struct ifnet *ifp)
ETHER_BPF_MTAP(ifp, m_head);
}
- if (enq > 0) {
- /* Sync descriptors. */
- bus_dmamap_sync(sc->alc_cdata.alc_tx_ring_tag,
- sc->alc_cdata.alc_tx_ring_map, BUS_DMASYNC_PREWRITE);
- /* Kick. Assume we're using normal Tx priority queue. */
- if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0)
- CSR_WRITE_2(sc, ALC_MBOX_TD_PRI0_PROD_IDX,
- (uint16_t)sc->alc_cdata.alc_tx_prod);
- else
- CSR_WRITE_4(sc, ALC_MBOX_TD_PROD_IDX,
- (sc->alc_cdata.alc_tx_prod <<
- MBOX_TD_PROD_LO_IDX_SHIFT) &
- MBOX_TD_PROD_LO_IDX_MASK);
- /* Set a timeout in case the chip goes out to lunch. */
- sc->alc_watchdog_timer = ALC_TX_TIMEOUT;
- }
+ if (enq > 0)
+ alc_start_tx(sc);
+}
+
+static void
+alc_start_tx(struct alc_softc *sc)
+{
+
+ /* Sync descriptors. */
+ bus_dmamap_sync(sc->alc_cdata.alc_tx_ring_tag,
+ sc->alc_cdata.alc_tx_ring_map, BUS_DMASYNC_PREWRITE);
+ /* Kick. Assume we're using normal Tx priority queue. */
+ if ((sc->alc_flags & ALC_FLAG_AR816X_FAMILY) != 0)
+ CSR_WRITE_2(sc, ALC_MBOX_TD_PRI0_PROD_IDX,
+ (uint16_t)sc->alc_cdata.alc_tx_prod);
+ else
+ CSR_WRITE_4(sc, ALC_MBOX_TD_PROD_IDX,
+ (sc->alc_cdata.alc_tx_prod <<
+ MBOX_TD_PROD_LO_IDX_SHIFT) &
+ MBOX_TD_PROD_LO_IDX_MASK);
+ /* Set a timeout in case the chip goes out to lunch. */
+ sc->alc_watchdog_timer = ALC_TX_TIMEOUT;
}
static void
@@ -4640,3 +4657,54 @@ sysctl_hw_alc_int_mod(SYSCTL_HANDLER_ARGS)
return (sysctl_int_range(oidp, arg1, arg2, req,
ALC_IM_TIMER_MIN, ALC_IM_TIMER_MAX));
}
+
+#ifdef NETDUMP
+static void
+alc_netdump_init(struct ifnet *ifp, int *nrxr, int *ncl, int *clsize)
+{
+ struct alc_softc *sc;
+
+ sc = if_getsoftc(ifp);
+ KASSERT(sc->alc_buf_size <= MCLBYTES, ("incorrect cluster size"));
+
+ *nrxr = ALC_RX_RING_CNT;
+ *ncl = NETDUMP_MAX_IN_FLIGHT;
+ *clsize = MCLBYTES;
+}
+
+static void
+alc_netdump_event(struct ifnet *ifp __unused, enum netdump_ev event __unused)
+{
+}
+
+static int
+alc_netdump_transmit(struct ifnet *ifp, struct mbuf *m)
+{
+ struct alc_softc *sc;
+ int error;
+
+ sc = if_getsoftc(ifp);
+ if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
+ IFF_DRV_RUNNING)
+ return (EBUSY);
+
+ error = alc_encap(sc, &m);
+ if (error == 0)
+ alc_start_tx(sc);
+ return (error);
+}
+
+static int
+alc_netdump_poll(struct ifnet *ifp, int count)
+{
+ struct alc_softc *sc;
+
+ sc = if_getsoftc(ifp);
+ if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
+ IFF_DRV_RUNNING)
+ return (EBUSY);
+
+ alc_txeof(sc);
+ return (alc_rxintr(sc, count));
+}
+#endif /* NETDUMP */
diff --git a/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcreg.h \
b/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcreg.h index \
29d877da9f..cade3f5526 100644
--- a/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcreg.h
+++ b/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2009, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/alc/if_alcreg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _IF_ALCREG_H
diff --git a/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcvar.h \
b/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcvar.h index \
a1c3382f01..c1cd08949d 100644
--- a/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcvar.h
+++ b/src/add-ons/kernel/drivers/network/atheros813x/dev/alc/if_alcvar.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2009, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/alc/if_alcvar.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _IF_ALCVAR_H
diff --git a/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy.c \
b/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy.c index \
45addcbc75..ea101c4ba4 100644
--- a/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy.c
+++ b/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy.c,v 1.2 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy.c 326255 2017-11-27 14:52:40Z pfg \
$");
/*
* driver for generic unknown PHYs
diff --git a/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy_subr.c \
b/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy_subr.c index \
5f2f6341ba..e3d88c96c9 100644
--- a/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy_subr.c
+++ b/src/add-ons/kernel/drivers/network/atheros813x/dev/mii/ukphy_subr.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy_subr.c,v 1.2 1998/11/05 04:08:02 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy_subr.c 326255 2017-11-27 14:52:40Z \
pfg $");
/*
* Subroutines shared by the ukphy driver and other PHY drivers.
############################################################################
Commit: 3bfc859a38529d5e24a615cf5afa07d029a35b03
URL: https://git.haiku-os.org/haiku/commit/?id=3bfc859a3852
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:53:47 2018 UTC
attansic: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_age.c \
b/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_age.c index \
6e338bfd08..953c167c96 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_age.c
+++ b/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_age.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -28,7 +30,7 @@
/* Driver for Attansic Technology Corp. L1 Gigabit Ethernet. */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/age/if_age.c 338948 2018-09-26 17:12:14Z imp \
$");
#include <sys/param.h>
#include <sys/systm.h>
@@ -181,6 +183,8 @@ static driver_t age_driver = {
static devclass_t age_devclass;
DRIVER_MODULE(age, pci, age_driver, age_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, age, age_devs,
+ nitems(age_devs));
DRIVER_MODULE(miibus, age, miibus_driver, miibus_devclass, 0, 0);
static struct resource_spec age_res_spec_mem[] = {
@@ -1401,11 +1405,7 @@ age_setwol(struct age_softc *sc)
}
}
AGE_UNLOCK(sc);
-#ifdef __HAIKU__
- DELAY(1);
-#else
pause("agelnk", hz);
-#endif
AGE_LOCK(sc);
}
if (i == MII_ANEGTICKS_GIGE)
@@ -2165,11 +2165,6 @@ age_int_task(void *arg, int pending)
sc->age_cdata.age_cmb_block_map,
BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
-#if 0
- printf("INTR: 0x%08x\n", status);
- status &= ~INTR_DIS_DMA;
- CSR_WRITE_4(sc, AGE_INTR_STATUS, status | INTR_DIS_INT);
-#endif
ifp = sc->age_ifp;
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) {
if ((status & INTR_CMB_RX) != 0)
diff --git a/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agereg.h \
b/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agereg.h index \
284e5a4ee6..f866f8185c 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agereg.h
+++ b/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agereg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/age/if_agereg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _IF_AGEREG_H
diff --git a/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agevar.h \
b/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agevar.h index \
14792726ca..61e018c89d 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agevar.h
+++ b/src/add-ons/kernel/drivers/network/attansic_l1/dev/age/if_agevar.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/age/if_agevar.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _IF_AGEVAR_H
diff --git a/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphy.c \
b/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphy.c index \
819b156214..8e50aef4f3 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphy.c
+++ b/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphy.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon <yongari@FreeBSD.org>
* All rights reserved.
*
@@ -26,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/atphy.c 326255 2017-11-27 14:52:40Z pfg \
$");
/*
* Driver for the Attansic/Atheros F1 10/100/1000 PHY.
diff --git a/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphyreg.h \
b/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphyreg.h index \
6181f2d107..3e35bdbca0 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphyreg.h
+++ b/src/add-ons/kernel/drivers/network/attansic_l1/dev/mii/atphyreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008, Pyun YongHyeon
* All rights reserved.
*
@@ -24,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/mii/atphyreg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _DEV_MII_ATPHYREG_H_
diff --git a/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_ae.c \
b/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_ae.c index \
098b681d1f..778fa8d456 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_ae.c
+++ b/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_ae.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008 Stanislav Sedov <stas@FreeBSD.org>.
* All rights reserved.
*
@@ -28,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/ae/if_ae.c 339735 2018-10-25 17:00:39Z \
brooks $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -175,6 +177,8 @@ static driver_t ae_driver = {
static devclass_t ae_devclass;
DRIVER_MODULE(ae, pci, ae_driver, ae_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, ae, ae_devs,
+ nitems(ae_devs));
DRIVER_MODULE(miibus, ae, miibus_driver, miibus_devclass, 0, 0);
MODULE_DEPEND(ae, pci, 1, 1, 1);
MODULE_DEPEND(ae, ether, 1, 1, 1);
@@ -310,7 +314,7 @@ ae_attach(device_t dev)
goto fail;
}
}
-
+
ae_init_tunables(sc);
ae_phy_reset(sc); /* Reset PHY. */
@@ -395,7 +399,7 @@ ae_attach(device_t dev)
fail:
if (error != 0)
ae_detach(dev);
-
+
return (error);
}
@@ -499,7 +503,7 @@ ae_reset(ae_softc_t *sc)
AE_WRITE_4(sc, AE_MASTER_REG, AE_MASTER_SOFT_RESET);
bus_barrier(sc->mem[0], AE_MASTER_REG, 4,
BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE);
-
+
/*
* Wait for reset to complete.
*/
@@ -1018,7 +1022,7 @@ ae_get_vpd_eaddr(ae_softc_t *sc, uint32_t *eaddr)
if (found < 2)
return (ENOENT);
-
+
eaddr[1] &= 0xffff; /* Only last 2 bytes are used. */
if (AE_CHECK_EADDR_VALID(eaddr) != 0) {
if (bootverbose)
@@ -1065,11 +1069,7 @@ ae_retrieve_address(ae_softc_t *sc)
if (bootverbose)
device_printf(sc->dev,
"Generating random ethernet address.\n");
-#ifdef __HAIKU__
- eaddr[0] = random();
-#else
eaddr[0] = arc4random();
-#endif
/*
* Set OUI to ASUSTek COMPUTER INC.
@@ -1288,7 +1288,7 @@ static void
ae_powersave_disable(ae_softc_t *sc)
{
uint32_t val;
-
+
AE_LOCK_ASSERT(sc);
AE_PHY_WRITE(sc, AE_PHY_DBG_ADDR, 0);
@@ -1304,7 +1304,7 @@ static void
ae_powersave_enable(ae_softc_t *sc)
{
uint32_t val;
-
+
AE_LOCK_ASSERT(sc);
/*
@@ -1362,7 +1362,7 @@ ae_pm_init(ae_softc_t *sc)
IFM_FDX) != 0)
val |= AE_MAC_FULL_DUPLEX;
AE_WRITE_4(sc, AE_MAC_REG, val);
-
+
} else { /* No link. */
AE_WRITE_4(sc, AE_WOL_REG, AE_WOL_LNKCHG | \
AE_WOL_LNKCHG_PME);
@@ -1430,7 +1430,7 @@ static unsigned int
ae_tx_avail_size(ae_softc_t *sc)
{
unsigned int avail;
-
+
if (sc->txd_cur >= sc->txd_ack)
avail = AE_TXD_BUFSIZE_DEFAULT - (sc->txd_cur - sc->txd_ack);
else
@@ -1451,7 +1451,7 @@ ae_encap(ae_softc_t *sc, struct mbuf **m_head)
m0 = *m_head;
len = m0->m_pkthdr.len;
-
+
if ((sc->flags & AE_FLAG_TXAVAIL) == 0 ||
len + sizeof(ae_txd_t) + 3 > ae_tx_avail_size(sc)) {
#ifdef AE_DEBUG
@@ -1599,7 +1599,7 @@ ae_link_task(void *arg, int pending)
AE_UNLOCK(sc); /* XXX: could happen? */
return;
}
-
+
sc->flags &= ~AE_FLAG_LINK;
if ((mii->mii_media_status & (IFM_AVALID | IFM_ACTIVE)) ==
(IFM_AVALID | IFM_ACTIVE)) {
@@ -1700,7 +1700,7 @@ ae_stop_txmac(ae_softc_t *sc)
/*
* Wait for IDLE state.
*/
- for (i = 0; i < AE_IDLE_TIMEOUT; i--) {
+ for (i = 0; i < AE_IDLE_TIMEOUT; i++) {
val = AE_READ_4(sc, AE_IDLE_REG);
if ((val & (AE_IDLE_TXMAC | AE_IDLE_DMAREAD)) == 0)
break;
diff --git a/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aereg.h \
b/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aereg.h index \
4e0ae3bbe4..eaad989729 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aereg.h
+++ b/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aereg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008 Stanislav Sedov <stas@FreeBSD.org>.
* All rights reserved.
*
@@ -22,7 +24,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/ae/if_aereg.h 326255 2017-11-27 14:52:40Z pfg $
*/
/*
diff --git a/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aevar.h \
b/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aevar.h index \
a250fd2efa..41f89ae018 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aevar.h
+++ b/src/add-ons/kernel/drivers/network/attansic_l2/dev/ae/if_aevar.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2008 Stanislav Sedov <stas@FreeBSD.org>.
* All rights reserved.
*
@@ -22,7 +24,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/ae/if_aevar.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef IF_AEVAR_H
diff --git a/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy.c \
b/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy.c index \
45addcbc75..ea101c4ba4 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy.c
+++ b/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy.c,v 1.2 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy.c 326255 2017-11-27 14:52:40Z pfg \
$");
/*
* driver for generic unknown PHYs
diff --git a/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy_subr.c \
b/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy_subr.c index \
5f2f6341ba..e3d88c96c9 100644
--- a/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy_subr.c
+++ b/src/add-ons/kernel/drivers/network/attansic_l2/dev/mii/ukphy_subr.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy_subr.c,v 1.2 1998/11/05 04:08:02 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy_subr.c 326255 2017-11-27 14:52:40Z \
pfg $");
/*
* Subroutines shared by the ukphy driver and other PHY drivers.
############################################################################
Commit: 65124582dcb4394c2f26dc635e22a88abd01f9bc
URL: https://git.haiku-os.org/haiku/commit/?id=65124582dcb4
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:54:15 2018 UTC
broadcom440x: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
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 \
fc6445b00c..ccfb78d14c 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
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2003 Stuart Walsh<stu@ipng.org.uk>
* and Duncan Barclay<dmlb@dmlb.org>
*
@@ -26,7 +28,7 @@
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/bfe/if_bfe.c 338948 2018-09-26 17:12:14Z imp \
$");
#include <sys/param.h>
#include <sys/systm.h>
@@ -155,6 +157,8 @@ static driver_t bfe_driver = {
static devclass_t bfe_devclass;
DRIVER_MODULE(bfe, pci, bfe_driver, bfe_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, bfe, bfe_devs,
+ nitems(bfe_devs) - 1);
DRIVER_MODULE(miibus, bfe, miibus_driver, miibus_devclass, 0, 0);
/*
@@ -793,7 +797,7 @@ bfe_list_newbuf(struct bfe_softc *sc, int c)
int nsegs;
m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR);
- if (!m)
+ if (m == NULL)
return (ENOBUFS);
m->m_len = m->m_pkthdr.len = MCLBYTES;
@@ -819,7 +823,7 @@ bfe_list_newbuf(struct bfe_softc *sc, int c)
rx_header->len = 0;
rx_header->flags = 0;
bus_dmamap_sync(sc->bfe_rxmbuf_tag, r->bfe_map, BUS_DMASYNC_PREREAD);
-
+
ctrl = segs[0].ds_len & BFE_DESC_LEN;
KASSERT(ctrl > ETHER_MAX_LEN + 32, ("%s: buffer size too small(%d)!",
__func__, ctrl));
@@ -1402,7 +1406,7 @@ bfe_rxeof(struct bfe_softc *sc)
* Rx status should be read from mbuf such that we can't
* delay bus_dmamap_sync(9). This hardware limiation
* results in inefficent mbuf usage as bfe(4) couldn't
- * reuse mapped buffer from errored frame.
+ * reuse mapped buffer from errored frame.
*/
if (bfe_list_newbuf(sc, cons) != 0) {
if_inc_counter(ifp, IFCOUNTER_IQDROPS, 1);
diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfereg.h \
b/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfereg.h index \
b50627edbf..0d8d9960e1 100644
--- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfereg.h
+++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/bfe/if_bfereg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2003 Stuart Walsh
*
* Redistribution and use in source and binary forms, with or without
@@ -22,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-/* $FreeBSD$ */
+/* $FreeBSD: releng/12.0/sys/dev/bfe/if_bfereg.h 326255 2017-11-27 14:52:40Z pfg $ \
*/
#ifndef _BFE_H
#define _BFE_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 \
0482be9190..7ee49cd54b 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
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999, 2000, 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -56,7 +58,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/bmtphy.c 326255 2017-11-27 14:52:40Z pfg \
$");
/*
* Driver for the Broadcom BCM5201/BCM5202 "Mini-Theta" PHYs. This also
@@ -138,11 +140,12 @@ bmtphy_probe(device_t dev)
rval = mii_phy_dev_probe(dev, bmtphys_lp, BUS_PROBE_LOW_PRIORITY);
#ifndef __HAIKU__
if (rval <= 0)
-#else
- if (rval <= 0 && rval != ENXIO)
+ return (rval);
+#else /* __HAIKU__ */
+ /* our BUS_PROBE_* constants are > 0 since errors are < 0 */
+ if (rval > 0)
return (rval);
#endif
-
return (mii_phy_dev_probe(dev, bmtphys_dp, BUS_PROBE_DEFAULT));
}
diff --git a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphyreg.h \
b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphyreg.h index \
6aa141deb4..2ef489c41e 100644
--- a/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphyreg.h
+++ b/src/add-ons/kernel/drivers/network/broadcom440x/dev/mii/bmtphyreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 2001 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -28,7 +30,7 @@
*
* from NetBSD: bmtphyreg.h,v 1.1 2001/06/02 21:42:10 thorpej Exp
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/mii/bmtphyreg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _DEV_MII_BMTPHYREG_H_
############################################################################
Commit: 25531c5613e7828d1e221c184b3c1862ef68a262
URL: https://git.haiku-os.org/haiku/commit/?id=25531c5613e7
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:54:24 2018 UTC
broadcom570x: Upgrade to FreeBSD 12; fix logic inversion in Haiku code.
See inline comment in brgphy.c.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bce/if_bcereg.h \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bce/if_bcereg.h index \
2f166eadea..1c137ea4ff 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bce/if_bcereg.h
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bce/if_bcereg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
* Copyright (c) 2006-2014 QLogic Corporation
*
* Redistribution and use in source and binary forms, with or without
@@ -22,7 +24,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/bce/if_bcereg.h 326022 2017-11-20 19:36:21Z pfg $
*/
#ifndef _BCEREG_H_DEFINED
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bge.c \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bge.c index \
4cbb85ef86..70fd581e1d 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bge.c
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bge.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 2001 Wind River Systems
* Copyright (c) 1997, 1998, 1999, 2001
* Bill Paul <wpaul@windriver.com>. All rights reserved.
@@ -32,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/bge/if_bge.c 338948 2018-09-26 17:12:14Z imp \
$");
/*
* Broadcom BCM57xx(x)/BCM590x NetXtreme and NetLink family Ethernet driver
@@ -98,6 +100,7 @@ __FBSDID("$FreeBSD$");
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
+#include <netinet/netdump/netdump.h>
#include <machine/bus.h>
#include <machine/resource.h>
@@ -424,8 +427,9 @@ static int bge_encap(struct bge_softc *, struct mbuf **, uint32_t \
*); static void bge_intr(void *);
static int bge_msi_intr(void *);
static void bge_intr_task(void *, int);
-static void bge_start_locked(if_t);
static void bge_start(if_t);
+static void bge_start_locked(if_t);
+static void bge_start_tx(struct bge_softc *, uint32_t);
static int bge_ioctl(if_t, u_long, caddr_t);
static void bge_init_locked(struct bge_softc *);
static void bge_init(void *);
@@ -517,6 +521,8 @@ static void bge_add_sysctl_stats(struct bge_softc *, struct \
sysctl_ctx_list *, struct sysctl_oid_list *);
static int bge_sysctl_stats(SYSCTL_HANDLER_ARGS);
+NETDUMP_DEFINE(bge);
+
static device_method_t bge_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, bge_probe),
@@ -543,6 +549,8 @@ static driver_t bge_driver = {
static devclass_t bge_devclass;
DRIVER_MODULE(bge, pci, bge_driver, bge_devclass, 0, 0);
+MODULE_PNP_INFO("U16:vendor;U16:device", pci, bge, bge_devs,
+ nitems(bge_devs) - 1);
DRIVER_MODULE(miibus, bge, miibus_driver, miibus_devclass, 0, 0);
static int bge_allow_asf = 1;
@@ -3216,6 +3224,14 @@ bge_can_use_msi(struct bge_softc *sc)
sc->bge_chiprev != BGE_CHIPREV_5750_BX)
can_use_msi = 1;
break;
+ case BGE_ASICREV_BCM5784:
+ /*
+ * Prevent infinite "watchdog timeout" errors
+ * in some MacBook Pro and make it work out-of-the-box.
+ */
+ if (sc->bge_chiprev == BGE_CHIPREV_5784_AX)
+ break;
+ /* FALLTHROUGH */
default:
if (BGE_IS_575X_PLUS(sc))
can_use_msi = 1;
@@ -3953,8 +3969,12 @@ again:
if (error) {
ether_ifdetach(ifp);
device_printf(sc->bge_dev, "couldn't set up irq\n");
+ goto fail;
}
+ /* Attach driver netdump methods. */
+ NETDUMP_SET(ifp, bge);
+
fail:
if (error)
bge_detach(dev);
@@ -5401,22 +5421,26 @@ bge_start_locked(if_t ifp)
if_bpfmtap(ifp, m_head);
}
- if (count > 0) {
- bus_dmamap_sync(sc->bge_cdata.bge_tx_ring_tag,
- sc->bge_cdata.bge_tx_ring_map, BUS_DMASYNC_PREWRITE);
- /* Transmit. */
+ if (count > 0)
+ bge_start_tx(sc, prodidx);
+}
+
+static void
+bge_start_tx(struct bge_softc *sc, uint32_t prodidx)
+{
+
+ bus_dmamap_sync(sc->bge_cdata.bge_tx_ring_tag,
+ sc->bge_cdata.bge_tx_ring_map, BUS_DMASYNC_PREWRITE);
+ /* Transmit. */
+ bge_writembx(sc, BGE_MBX_TX_HOST_PROD0_LO, prodidx);
+ /* 5700 b2 errata */
+ if (sc->bge_chiprev == BGE_CHIPREV_5700_BX)
bge_writembx(sc, BGE_MBX_TX_HOST_PROD0_LO, prodidx);
- /* 5700 b2 errata */
- if (sc->bge_chiprev == BGE_CHIPREV_5700_BX)
- bge_writembx(sc, BGE_MBX_TX_HOST_PROD0_LO, prodidx);
- sc->bge_tx_prodidx = prodidx;
+ sc->bge_tx_prodidx = prodidx;
- /*
- * Set a timeout in case the chip goes out to lunch.
- */
- sc->bge_timer = BGE_TX_TIMEOUT;
- }
+ /* Set a timeout in case the chip goes out to lunch. */
+ sc->bge_timer = BGE_TX_TIMEOUT;
}
/*
@@ -6714,15 +6738,15 @@ bge_sysctl_mem_read(SYSCTL_HANDLER_ARGS)
static int
bge_get_eaddr_fw(struct bge_softc *sc, uint8_t ether_addr[])
{
-
+#ifdef __sparc64__
if (sc->bge_flags & BGE_FLAG_EADDR)
return (1);
-#ifdef __sparc64__
OF_getetheraddr(sc->bge_dev, ether_addr);
return (0);
-#endif
+#else
return (1);
+#endif
}
static int
@@ -6808,3 +6832,74 @@ bge_get_counter(if_t ifp, ift_counter cnt)
return (if_get_counter_default(ifp, cnt));
}
}
+
+#ifdef NETDUMP
+static void
+bge_netdump_init(if_t ifp, int *nrxr, int *ncl, int *clsize)
+{
+ struct bge_softc *sc;
+
+ sc = if_getsoftc(ifp);
+ BGE_LOCK(sc);
+ *nrxr = sc->bge_return_ring_cnt;
+ *ncl = NETDUMP_MAX_IN_FLIGHT;
+ if ((sc->bge_flags & BGE_FLAG_JUMBO_STD) != 0 &&
+ (if_getmtu(sc->bge_ifp) + ETHER_HDR_LEN + ETHER_CRC_LEN +
+ ETHER_VLAN_ENCAP_LEN > (MCLBYTES - ETHER_ALIGN)))
+ *clsize = MJUM9BYTES;
+ else
+ *clsize = MCLBYTES;
+ BGE_UNLOCK(sc);
+}
+
+static void
+bge_netdump_event(if_t ifp __unused, enum netdump_ev event __unused)
+{
+}
+
+static int
+bge_netdump_transmit(if_t ifp, struct mbuf *m)
+{
+ struct bge_softc *sc;
+ uint32_t prodidx;
+ int error;
+
+ sc = if_getsoftc(ifp);
+ if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
+ IFF_DRV_RUNNING)
+ return (1);
+
+ prodidx = sc->bge_tx_prodidx;
+ error = bge_encap(sc, &m, &prodidx);
+ if (error == 0)
+ bge_start_tx(sc, prodidx);
+ return (error);
+}
+
+static int
+bge_netdump_poll(if_t ifp, int count)
+{
+ struct bge_softc *sc;
+ uint32_t rx_prod, tx_cons;
+
+ sc = if_getsoftc(ifp);
+ if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) !=
+ IFF_DRV_RUNNING)
+ return (1);
+
+ bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
+ sc->bge_cdata.bge_status_map,
+ BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
+
+ rx_prod = sc->bge_ldata.bge_status_block->bge_idx[0].bge_rx_prod_idx;
+ tx_cons = sc->bge_ldata.bge_status_block->bge_idx[0].bge_tx_cons_idx;
+
+ bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
+ sc->bge_cdata.bge_status_map,
+ BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE);
+
+ (void)bge_rxeof(sc, rx_prod, 0);
+ bge_txeof(sc, tx_cons);
+ return (0);
+}
+#endif /* NETDUMP */
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bgereg.h \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bgereg.h index \
ecc2a7b3f8..29da7016cb 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bgereg.h
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/bge/if_bgereg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 2001 Wind River Systems
* Copyright (c) 1997, 1998, 1999, 2001
* Bill Paul <wpaul@windriver.com>. All rights reserved.
@@ -30,7 +32,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/bge/if_bgereg.h 325966 2017-11-18 14:26:50Z pfg $
*/
/*
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphy.c \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphy.c index \
eea3588f70..807a361568 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphy.c
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphy.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/brgphy.c 325966 2017-11-18 14:26:50Z pfg \
$");
/*
* Driver for the Broadcom BCM54xx/57xx 1000baseTX PHY.
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphyreg.h \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphyreg.h index \
b3535d59fb..aeed8e1661 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphyreg.h
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/brgphyreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 2000
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -29,7 +31,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD$
+ * $FreeBSD: releng/12.0/sys/dev/mii/brgphyreg.h 325966 2017-11-18 14:26:50Z pfg $
*/
#ifndef _DEV_MII_BRGPHYREG_H_
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy.c \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy.c index \
45addcbc75..ea101c4ba4 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy.c
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy.c,v 1.2 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy.c 326255 2017-11-27 14:52:40Z pfg \
$");
/*
* driver for generic unknown PHYs
diff --git a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy_subr.c \
b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy_subr.c index \
5f2f6341ba..e3d88c96c9 100644
--- a/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy_subr.c
+++ b/src/add-ons/kernel/drivers/network/broadcom570x/dev/mii/ukphy_subr.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy_subr.c,v 1.2 1998/11/05 04:08:02 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
+__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy_subr.c 326255 2017-11-27 14:52:40Z \
pfg $");
/*
* Subroutines shared by the ukphy driver and other PHY drivers.
############################################################################
Commit: 2aaa3af64dfac0154a59e4812745c7ebf37b6180
URL: https://git.haiku-os.org/haiku/commit/?id=2aaa3af64dfa
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:55:23 2018 UTC
dec21xxx: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/dcphy.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/dcphy.c index \
156a95b452..86cc96d844 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/dcphy.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/dcphy.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/dc/dcphy.c 266974 2014-06-02 17:54:39Z \
marcel $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/dc/dcphy.c 325966 2017-11-18 \
14:26:50Z pfg $");
/*
* Pseudo-driver for internal NWAY support on DEC 21143 and workalike
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dc.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dc.c index \
e2e3b1793f..9eb5e73932 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dc.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dc.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/dc/if_dc.c 277565 2015-01-23 15:14:30Z kevlo \
$"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/dc/if_dc.c 338948 2018-09-26 17:12:14Z \
imp $");
/*
* DEC "tulip" clone ethernet driver. Supports the DEC/Intel 21143
@@ -357,6 +359,8 @@ static devclass_t dc_devclass;
DRIVER_MODULE_ORDERED(dc, pci, dc_driver, dc_devclass, NULL, NULL,
SI_ORDER_ANY);
+MODULE_PNP_INFO("W32:vendor/device;U8:revision;D:#", pci, dc, dc_devs,
+ nitems(dc_devs) - 1);
DRIVER_MODULE(miibus, dc, miibus_driver, miibus_devclass, NULL, NULL);
#define DC_SETBIT(sc, reg, x) \
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dcreg.h \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dcreg.h index \
5d38fcec4c..793b59bee4 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dcreg.h
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/if_dcreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -29,7 +31,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: releng/11.1/sys/dev/dc/if_dcreg.h 227675 2011-11-18 19:38:19Z yongari $
+ * $FreeBSD: releng/12.0/sys/dev/dc/if_dcreg.h 325966 2017-11-18 14:26:50Z pfg $
*/
/*
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/pnphy.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/pnphy.c index \
48b7a5bf07..b584bc84ab 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/pnphy.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/dc/pnphy.c
@@ -1,4 +1,6 @@
/*
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/dc/pnphy.c 266974 2014-06-02 17:54:39Z \
marcel $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/dc/pnphy.c 325966 2017-11-18 \
14:26:50Z pfg $");
/*
* Pseudo-driver for media selection on the Lite-On PNIC 82c168
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/dc21040reg.h \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/dc21040reg.h index \
99c3cd5c3a..57baf309fd 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/dc21040reg.h
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/dc21040reg.h
@@ -1,8 +1,10 @@
/* $NetBSD: dc21040reg.h,v 1.15 1998/05/22 18:50:59 matt Exp $ */
-/* $FreeBSD: releng/11.1/sys/dev/de/dc21040reg.h 298955 2016-05-03 03:41:25Z pfg $ \
*/ +/* $FreeBSD: releng/12.0/sys/dev/de/dc21040reg.h 326255 2017-11-27 14:52:40Z pfg \
$ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1994, 1995, 1996 Matt Thomas <matt@3am-software.com>
* All rights reserved.
*
@@ -494,20 +496,6 @@ typedef struct {
#define PHYCTL_AUTONEG_RESTART 0x0200
#define PHYCTL_FULL_DUPLEX 0x0100
-/*
- * Definitions for the DE425.
- */
-#define DE425_CFID 0x08 /* Configuration Id */
-#define DE425_CFCS 0x0C /* Configuration Command-Status */
-#define DE425_CFRV 0x18 /* Configuration Revision */
-#define DE425_CFLT 0x1C /* Configuration Latency Timer */
-#define DE425_CBIO 0x28 /* Configuration Base IO Address */
-#define DE425_CFDA 0x2C /* Configuration Driver Area */
-#define DE425_ENETROM_OFFSET 0xC90 /* Offset in I/O space for ENETROM */
-#define DE425_CFG0 0xC88 /* IRQ register */
-#define DE425_EISAID 0x10a34250 /* EISA device id */
-#define DE425_EISA_IOSIZE 0x100
-
#define DEC_VENDORID 0x1011
#define CHIPID_21040 0x0002
#define CHIPID_21140 0x0009
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_de.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_de.c index \
583be02691..ea2007098c 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_de.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_de.c
@@ -1,5 +1,7 @@
/* $NetBSD: if_de.c,v 1.86 1999/06/01 19:17:59 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1994-1997 Matt Thomas (matt@3am-software.com)
* All rights reserved.
*
@@ -36,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/de/if_de.c 315221 2017-03-14 02:06:03Z pfg \
$"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/de/if_de.c 339735 2018-10-25 17:00:39Z \
brooks $");
#define TULIP_HDR_DATA
@@ -3916,7 +3918,7 @@ tulip_txput(tulip_softc_t * const sc, struct mbuf *m)
* a bit reminiscent of going on the Ark two by two
* since each descriptor for the TULIP can describe
* two buffers. So we advance through packet filling
- * each of the two entries at a time to to fill each
+ * each of the two entries at a time to fill each
* descriptor. Clear the first and last segment bits
* in each descriptor (actually just clear everything
* but the end-of-ring or chain bits) to make sure
@@ -4262,18 +4264,6 @@ tulip_ifioctl(struct ifnet * ifp, u_long cmd, caddr_t data)
break;
}
-#ifdef SIOCGADDRROM
- case SIOCGADDRROM: {
- error = copyout(sc->tulip_rombuf, ifr->ifr_data, sizeof(sc->tulip_rombuf));
- break;
- }
-#endif
-#ifdef SIOCGCHIPID
- case SIOCGCHIPID: {
- ifr->ifr_metric = (int) sc->tulip_chipid;
- break;
- }
-#endif
default: {
error = ether_ioctl(ifp, cmd, data);
break;
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_devar.h \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_devar.h index \
398649a6e7..c2b8730c49 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_devar.h
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/de/if_devar.h
@@ -1,8 +1,10 @@
/* $NetBSD: if_devar.h,v 1.32 1999/04/01 14:55:25 tsubai Exp $ */
-/* $FreeBSD: releng/11.1/sys/dev/de/if_devar.h 298955 2016-05-03 03:41:25Z pfg $ */
+/* $FreeBSD: releng/12.0/sys/dev/de/if_devar.h 331737 2018-03-29 15:58:49Z brooks $ \
*/
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1994-1997 Matt Thomas (matt@3am-software.com)
* All rights reserved.
*
@@ -874,11 +876,6 @@ static const struct {
#define TULIP_TXMAP_POSTSYNC(ri, di) \
_TULIP_MAP_SYNC(ri, di, BUS_DMASYNC_POSTWRITE)
-#ifdef notyet
-#define SIOCGADDRROM _IOW('i', 240, struct ifreq) /* get 128 bytes of ROM */
-#define SIOCGCHIPID _IOWR('i', 241, struct ifreq) /* get chipid */
-#endif
-
#if defined(TULIP_HDR_DATA)
static tulip_softc_t *tulips[TULIP_MAX_DEVICES];
#endif
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphy.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphy.c index \
d084843bd5..7ecb21c0db 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphy.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphy.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -53,7 +55,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/acphy.c 281821 2015-04-21 09:39:48Z \
glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/acphy.c 326255 2017-11-27 \
14:52:40Z pfg $");
/*
* Driver for Altima AC101 10/100 PHY
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphyreg.h \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphyreg.h index \
2f7bc7f8a7..e98a26f8ee 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphyreg.h
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/acphyreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
* Copyright (c) 2001 Semen Ustimenko (semenu@FreeBSD.org)
* All rights reserved.
*
@@ -23,7 +25,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: releng/11.1/sys/dev/mii/acphyreg.h 165986 2007-01-12 22:58:04Z marius $
+ * $FreeBSD: releng/12.0/sys/dev/mii/acphyreg.h 326255 2017-11-27 14:52:40Z pfg $
*/
#ifndef _DEV_MII_ACPHYREG_H_
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphy.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphy.c index \
169947d193..ff894a5126 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphy.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphy.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/amphy.c 257184 2013-10-26 18:40:17Z \
glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/amphy.c 325966 2017-11-18 \
14:26:50Z pfg $");
/*
* driver for AMD AM79c873 PHYs
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphyreg.h \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphyreg.h index \
96d6df700a..ba4779308b 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphyreg.h
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/amphyreg.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-4-Clause
+ *
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
*
@@ -29,7 +31,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: releng/11.1/sys/dev/mii/amphyreg.h 139749 2005-01-06 01:43:34Z imp $
+ * $FreeBSD: releng/12.0/sys/dev/mii/amphyreg.h 325966 2017-11-18 14:26:50Z pfg $
*/
#ifndef _DEV_MII_AMTPHYREG_H_
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy.c index \
a4004afdb5..ea101c4ba4 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy.c,v 1.2 1999/04/23 04:24:32 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -55,7 +57,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/ukphy.c 257184 2013-10-26 18:40:17Z \
glebius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy.c 326255 2017-11-27 \
14:52:40Z pfg $");
/*
* driver for generic unknown PHYs
diff --git a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy_subr.c \
b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy_subr.c index \
f78b4e5e3b..e3d88c96c9 100644
--- a/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy_subr.c
+++ b/src/add-ons/kernel/drivers/network/dec21xxx/dev/mii/ukphy_subr.c
@@ -1,6 +1,8 @@
/* $NetBSD: ukphy_subr.c,v 1.2 1998/11/05 04:08:02 thorpej Exp $ */
/*-
+ * SPDX-License-Identifier: BSD-2-Clause-NetBSD
+ *
* Copyright (c) 1998 The NetBSD Foundation, Inc.
* All rights reserved.
*
@@ -31,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: releng/11.1/sys/dev/mii/ukphy_subr.c 215297 2010-11-14 13:26:10Z \
marius $"); +__FBSDID("$FreeBSD: releng/12.0/sys/dev/mii/ukphy_subr.c 326255 \
2017-11-27 14:52:40Z pfg $");
/*
* Subroutines shared by the ukphy driver and other PHY drivers.
############################################################################
Commit: 522d1439207711dc1cd0d09f00a60a4e288b8a31
URL: https://git.haiku-os.org/haiku/commit/?id=522d14392077
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:55:35 2018 UTC
emulex_oce: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
diff --git a/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.c \
b/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.c index \
e1294c28c4..e5a4ac9497 100644
--- a/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.c
+++ b/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.c
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
* Copyright (C) 2013 Emulex
* All rights reserved.
*
@@ -36,7 +38,7 @@
* Costa Mesa, CA 92626
*/
-/* $FreeBSD$ */
+/* $FreeBSD: releng/12.0/sys/dev/oce/oce_hw.c 333813 2018-05-18 20:13:34Z mmacy $ */
#include "oce_if.h"
@@ -96,7 +98,7 @@ oce_hw_init(POCE_SOFTC sc)
rc = oce_POST(sc);
if (rc)
return rc;
-
+
/* create the bootstrap mailbox */
rc = oce_dma_alloc(sc, sizeof(struct oce_bmbx), &sc->bsmbx, 0);
if (rc) {
@@ -107,7 +109,7 @@ oce_hw_init(POCE_SOFTC sc)
rc = oce_reset_fun(sc);
if (rc)
goto error;
-
+
rc = oce_mbox_init(sc);
if (rc)
@@ -129,14 +131,14 @@ oce_hw_init(POCE_SOFTC sc)
&sc->macaddr);
if (rc)
goto error;
-
+
if ((IS_BE(sc) && (sc->flags & OCE_FLAGS_BE3)) || IS_SH(sc)) {
rc = oce_mbox_check_native_mode(sc);
if (rc)
goto error;
} else
sc->be3_native = 0;
-
+
return rc;
error:
@@ -209,7 +211,7 @@ void oce_get_pci_capabilities(POCE_SOFTC sc)
#endif
if (pci_find_extcap(sc->dev, PCIY_PCIX, &val) == 0) {
- if (val != 0)
+ if (val != 0)
sc->flags |= OCE_FLAGS_PCIX;
}
@@ -260,10 +262,10 @@ oce_hw_pci_alloc(POCE_SOFTC sc)
pci_cfg_barnum = OCE_DEV_BE2_CFG_BAR;
else
pci_cfg_barnum = OCE_DEV_CFG_BAR;
-
+
rr = PCIR_BAR(pci_cfg_barnum);
- if (IS_BE(sc) || IS_SH(sc))
+ if (IS_BE(sc) || IS_SH(sc))
sc->devcfg_res = bus_alloc_resource_any(sc->dev,
SYS_RES_MEMORY, &rr,
RF_ACTIVE|RF_SHAREABLE);
@@ -286,7 +288,7 @@ oce_hw_pci_alloc(POCE_SOFTC sc)
if (intf.bits.sli_valid != OCE_INTF_VALID_SIG)
goto error;
-
+
if (intf.bits.sli_rev != OCE_INTF_SLI_REV4) {
device_printf(sc->dev, "Adapter doesnt support SLI4\n");
goto error;
@@ -312,7 +314,7 @@ oce_hw_pci_alloc(POCE_SOFTC sc)
sc->csr_btag = rman_get_bustag(sc->csr_res);
sc->csr_bhandle = rman_get_bushandle(sc->csr_res);
sc->csr_vhandle = rman_get_virtual(sc->csr_res);
-
+
/* set up DB doorbell region */
rr = PCIR_BAR(OCE_PCI_DB_BAR);
sc->db_res = bus_alloc_resource_any(sc->dev,
@@ -326,7 +328,7 @@ oce_hw_pci_alloc(POCE_SOFTC sc)
return 0;
-error:
+error:
oce_hw_pci_free(sc);
return ENXIO;
}
@@ -393,6 +395,11 @@ oce_create_nw_interface(POCE_SOFTC sc)
if (IS_SH(sc) || IS_XE201(sc))
capab_flags |= MBX_RX_IFACE_FLAGS_MULTICAST;
+ if (sc->enable_hwlro) {
+ capab_flags |= MBX_RX_IFACE_FLAGS_LRO;
+ capab_en_flags |= MBX_RX_IFACE_FLAGS_LRO;
+ }
+
/* enable capabilities controlled via driver startup parameters */
if (is_rss_enabled(sc))
capab_en_flags |= MBX_RX_IFACE_FLAGS_RSS;
@@ -475,9 +482,9 @@ oce_hw_start(POCE_SOFTC sc)
int rc = 0;
rc = oce_get_link_status(sc, &link);
- if (rc)
+ if (rc)
return 1;
-
+
if (link.logical_link_status == NTWK_LOGICAL_LINK_UP) {
sc->link_status = NTWK_LOGICAL_LINK_UP;
if_link_state_change(sc->ifp, LINK_STATE_UP);
@@ -490,9 +497,9 @@ oce_hw_start(POCE_SOFTC sc)
sc->qos_link_speed = (uint32_t )link.qos_link_speed * 10;
rc = oce_start_mq(sc->mq);
-
+
/* we need to get MCC aync events. So enable intrs and arm
- first EQ, Other EQs will be armed after interface is UP
+ first EQ, Other EQs will be armed after interface is UP
*/
oce_hw_intr_enable(sc);
oce_arm_eq(sc, sc->eq[0]->eq_id, 0, TRUE, FALSE);
@@ -530,7 +537,7 @@ void
oce_hw_intr_disable(POCE_SOFTC sc)
{
uint32_t reg;
-
+
reg = OCE_READ_REG32(sc, devcfg, PCICFG_INTR_CTRL);
reg &= ~HOSTINTR_MASK;
OCE_WRITE_REG32(sc, devcfg, PCICFG_INTR_CTRL, reg);
diff --git a/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.h \
b/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.h index \
1ad3f7889e..d9261457db 100644
--- a/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.h
+++ b/src/add-ons/kernel/drivers/network/emulex_oce/dev/oce/oce_hw.h
@@ -1,4 +1,6 @@
/*-
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
* Copyright (C) 2013 Emulex
* All rights reserved.
*
@@ -36,7 +38,7 @@
* Costa Mesa, CA 92626
*/
-/* $FreeBSD$ */
+/* $FreeBSD: releng/12.0/sys/dev/oce/oce_hw.h 326022 2017-11-20 19:36:21Z pfg $ */
#include <sys/types.h>
@@ -111,6 +113,9 @@
#define PD_MPU_MBOX_DB 0x0160
#define PD_MQ_DB 0x0140
+#define DB_OFFSET 0xc0
+#define DB_LRO_RQ_ID_MASK 0x7FF
+
/* EQE completion types */
#define EQ_MINOR_CODE_COMPLETION 0x00
#define EQ_MINOR_CODE_OTHER 0x01
@@ -180,6 +185,7 @@
#define ASYNC_EVENT_GRP5 0x5
#define ASYNC_EVENT_CODE_DEBUG 0x6
#define ASYNC_EVENT_PVID_STATE 0x3
+#define ASYNC_EVENT_OS2BMC 0x5
#define ASYNC_EVENT_DEBUG_QNQ 0x1
#define ASYNC_EVENT_CODE_SLIPORT 0x11
#define VLAN_VID_MASK 0x0FFF
@@ -722,6 +728,34 @@ struct oce_async_cqe_link_state {
} u0;
};
+/* OS2BMC async event */
+struct oce_async_evt_grp5_os2bmc {
+ union {
+ struct {
+ uint32_t lrn_enable:1;
+ uint32_t lrn_disable:1;
+ uint32_t mgmt_enable:1;
+ uint32_t mgmt_disable:1;
+ uint32_t rsvd0:12;
+ uint32_t vlan_tag:16;
+ uint32_t arp_filter:1;
+ uint32_t dhcp_client_filt:1;
+ uint32_t dhcp_server_filt:1;
+ uint32_t net_bios_filt:1;
+ uint32_t rsvd1:3;
+ uint32_t bcast_filt:1;
+ uint32_t ipv6_nbr_filt:1;
+ uint32_t ipv6_ra_filt:1;
+ uint32_t ipv6_ras_filt:1;
+ uint32_t rsvd2[4];
+ uint32_t mcast_filt:1;
+ uint32_t rsvd3:16;
+ uint32_t evt_tag;
+ uint32_t dword3;
+ } s;
+ uint32_t dword[4];
+ } u;
+};
/* PVID aync event */
struct oce_async_event_grp5_pvid_state {
@@ -1396,7 +1430,7 @@ typedef union oce_cq_ctx_u {
uint32_t dw5rsvd3:1;
uint32_t eventable:1;
/* dw6 */
- uint32_t eq_id:8;
+ uint32_t eq_id:16;
uint32_t dw6rsvd1:15;
uint32_t armed:1;
/* dw7 */
@@ -2403,8 +2437,8 @@ struct oce_nic_hdr_wqe {
uint32_t tcpcs:1;
uint32_t udpcs:1;
uint32_t ipcs:1;
- uint32_t rsvd3:1;
- uint32_t rsvd2:1;
+ uint32_t mgmt:1;
+ uint32_t lso6:1;
uint32_t forward:1;
uint32_t crc:1;
uint32_t event:1;
@@ -2426,8 +2460,8 @@ struct oce_nic_hdr_wqe {
uint32_t event:1;
uint32_t crc:1;
uint32_t forward:1;
- uint32_t rsvd2:1;
- uint32_t rsvd3:1;
+ uint32_t lso6:1;
+ uint32_t mgmt:1;
uint32_t ipcs:1;
uint32_t udpcs:1;
uint32_t tcpcs:1;
@@ -3010,6 +3044,53 @@ struct oce_rxf_stats_v0 {
uint32_t rsvd1[6];
};
+struct oce_port_rxf_stats_v2 {
+ uint32_t rsvd0[10];
+ uint32_t roce_bytes_received_lsd;
+ uint32_t roce_bytes_received_msd;
+ uint32_t rsvd1[5];
+ uint32_t roce_frames_received;
+ uint32_t rx_crc_errors;
+ uint32_t rx_alignment_symbol_errors;
+ uint32_t rx_pause_frames;
+ uint32_t rx_priority_pause_frames;
+ uint32_t rx_control_frames;
+ uint32_t rx_in_range_errors;
+ uint32_t rx_out_range_errors;
+ uint32_t rx_frame_too_long;
+ uint32_t rx_address_match_errors;
+ uint32_t rx_dropped_too_small;
+ uint32_t rx_dropped_too_short;
+ uint32_t rx_dropped_header_too_small;
+ uint32_t rx_dropped_tcp_length;
+ uint32_t rx_dropped_runt;
+ uint32_t rsvd2[10];
+ uint32_t rx_ip_checksum_errs;
+ uint32_t rx_tcp_checksum_errs;
+ uint32_t rx_udp_checksum_errs;
+ uint32_t rsvd3[7];
+ uint32_t rx_switched_unicast_packets;
+ uint32_t rx_switched_multicast_packets;
+ uint32_t rx_switched_broadcast_packets;
+ uint32_t rsvd4[3];
+ uint32_t tx_pauseframes;
+ uint32_t tx_priority_pauseframes;
+ uint32_t tx_controlframes;
+ uint32_t rsvd5[10];
+ uint32_t rxpp_fifo_overflow_drop;
+ uint32_t rx_input_fifo_overflow_drop;
+ uint32_t pmem_fifo_overflow_drop;
+ uint32_t jabber_events;
+ uint32_t rsvd6[3];
+ uint32_t rx_drops_payload_size;
+ uint32_t rx_drops_clipped_header;
+ uint32_t rx_drops_crc;
+ uint32_t roce_drops_payload_len;
+ uint32_t roce_drops_crc;
+ uint32_t rsvd7[19];
+};
+
+
struct oce_port_rxf_stats_v1 {
uint32_t rsvd0[12];
uint32_t rx_crc_errors;
@@ -3046,6 +3127,20 @@ struct oce_port_rxf_stats_v1 {
uint32_t rsvd5[3];
};
+struct oce_rxf_stats_v2 {
+ struct oce_port_rxf_stats_v2 port[4];
+ uint32_t rsvd0[2];
+ uint32_t rx_drops_no_pbuf;
+ uint32_t rx_drops_no_txpb;
+ uint32_t rx_drops_no_erx_descr;
+ uint32_t rx_drops_no_tpre_descr;
+ uint32_t rsvd1[6];
+ uint32_t rx_drops_too_many_frags;
+ uint32_t rx_drops_invalid_ring;
+ uint32_t forwarded_packets;
+ uint32_t rx_drops_mtu;
+ uint32_t rsvd2[35];
+};
struct oce_rxf_stats_v1 {
struct oce_port_rxf_stats_v1 port[4];
@@ -3062,6 +3157,11 @@ struct oce_rxf_stats_v1 {
uint32_t rsvd2[14];
};
+struct oce_erx_stats_v2 {
+ uint32_t rx_drops_no_fragments[136];
+ uint32_t rsvd[3];
+};
+
struct oce_erx_stats_v1 {
uint32_t rx_drops_no_fragments[68];
uint32_t rsvd[4];
@@ -3078,6 +3178,15 @@ struct oce_pmem_stats {
uint32_t rsvd[5];
};
+struct oce_hw_stats_v2 {
+ struct oce_rxf_stats_v2 rxf;
+ uint32_t rsvd0[OCE_TXP_SW_SZ];
+ struct oce_erx_stats_v2 erx;
+ struct oce_pmem_stats pmem;
+ uint32_t rsvd1[18];
+};
+
+
struct oce_hw_stats_v1 {
struct oce_rxf_stats_v1 rxf;
uint32_t rsvd0[OCE_TXP_SW_SZ];
@@ -3093,32 +3202,22 @@ struct oce_hw_stats_v0 {
struct oce_pmem_stats pmem;
};
-struct mbx_get_nic_stats_v0 {
- struct mbx_hdr hdr;
- union {
- struct {
- uint32_t rsvd0;
- } req;
-
- union {
- struct oce_hw_stats_v0 stats;
- } rsp;
- } params;
-};
-
-struct mbx_get_nic_stats {
- struct mbx_hdr hdr;
- union {
- struct {
- uint32_t rsvd0;
- } req;
-
- struct {
- struct oce_hw_stats_v1 stats;
- } rsp;
- } params;
-};
-
+#define MBX_GET_NIC_STATS(version) \
+ struct mbx_get_nic_stats_v##version { \
+ struct mbx_hdr hdr; \
+ union { \
+ struct { \
+ uint32_t rsvd0; \
+ } req; \
+ union { \
+ struct oce_hw_stats_v##version stats; \
+ } rsp; \
+ } params; \
+}
+
+MBX_GET_NIC_STATS(0);
+MBX_GET_NIC_STATS(1);
+MBX_GET_NIC_STATS(2);
/* [18(0x12)] NIC_GET_PPORT_STATS */
struct pport_stats {
@@ -3728,3 +3827,373 @@ enum OCE_QUEUE_RX_STATS {
QUEUE_RX_BUFFER_ERRORS = 8,
QUEUE_RX_N_WORDS = 10
};
+
+/* HW LRO structures */
+struct mbx_nic_query_lro_capabilities {
+ struct mbx_hdr hdr;
+ union {
+ struct {
+ uint32_t rsvd[6];
+ } req;
+ struct {
+#ifdef _BIG_ENDIAN
+ uint32_t lro_flags;
+ uint16_t lro_rq_cnt;
+ uint16_t plro_max_offload;
+ uint32_t rsvd[4];
+#else
+ uint32_t lro_flags;
+ uint16_t plro_max_offload;
+ uint16_t lro_rq_cnt;
+ uint32_t rsvd[4];
+#endif
+ } rsp;
+ } params;
+};
+
+struct mbx_nic_set_iface_lro_config {
+ struct mbx_hdr hdr;
+ union {
+ struct {
+#ifdef _BIG_ENDIAN
+ uint32_t lro_flags;
+ uint32_t iface_id;
+ uint32_t max_clsc_byte_cnt;
+ uint32_t max_clsc_seg_cnt;
+ uint32_t max_clsc_usec_delay;
+ uint32_t min_clsc_frame_byte_cnt;
+ uint32_t rsvd[2];
+#else
+ uint32_t lro_flags;
+ uint32_t iface_id;
+ uint32_t max_clsc_byte_cnt;
+ uint32_t max_clsc_seg_cnt;
+ uint32_t max_clsc_usec_delay;
+ uint32_t min_clsc_frame_byte_cnt;
+ uint32_t rsvd[2];
+#endif
+ } req;
+ struct {
+#ifdef _BIG_ENDIAN
+ uint32_t lro_flags;
+ uint32_t rsvd[7];
+#else
+ uint32_t lro_flags;
+ uint32_t rsvd[7];
+#endif
+ } rsp;
+ } params;
+};
+
+
+struct mbx_create_nic_rq_v2 {
+ struct mbx_hdr hdr;
+ union {
+ struct {
+#ifdef _BIG_ENDIAN
+ uint8_t num_pages;
+ uint8_t frag_size;
+ uint16_t cq_id;
+
+ uint32_t if_id;
+
+ uint16_t page_size;
+ uint16_t max_frame_size;
+
+ uint16_t rsvd;
+ uint16_t pd_id;
+
+ uint16_t rsvd1;
+ uint16_t rq_flags;
+
+ uint16_t hds_fixed_offset;
+ uint8_t hds_start;
+ uint8_t hds_frag;
+
+ uint16_t hds_backfill_size;
+ uint16_t hds_frag_size;
+
+ uint32_t rbq_id;
+
+ uint32_t rsvd2[8];
+
+ struct phys_addr pages[2];
+#else
+ uint16_t cq_id;
+ uint8_t frag_size;
+ uint8_t num_pages;
+
+ uint32_t if_id;
+
+ uint16_t max_frame_size;
+ uint16_t page_size;
+
+ uint16_t pd_id;
+ uint16_t rsvd;
+
+ uint16_t rq_flags;
+ uint16_t rsvd1;
+
+ uint8_t hds_frag;
+ uint8_t hds_start;
+ uint16_t hds_fixed_offset;
+
+ uint16_t hds_frag_size;
+ uint16_t hds_backfill_size;
+
+ uint32_t rbq_id;
+
+ uint32_t rsvd2[8];
+
+ struct phys_addr pages[2];
+#endif
+ } req;
+ struct {
+#ifdef _BIG_ENDIAN
+ uint8_t rsvd0;
+ uint8_t rss_cpuid;
+ uint16_t rq_id;
+
+ uint8_t db_format;
+ uint8_t db_reg_set;
+ uint16_t rsvd1;
+
+ uint32_t db_offset;
+
+ uint32_t rsvd2;
+
+ uint16_t rsvd3;
+ uint16_t rq_flags;
+
+#else
+ uint16_t rq_id;
+ uint8_t rss_cpuid;
+ uint8_t rsvd0;
+
+ uint16_t rsvd1;
+ uint8_t db_reg_set;
+ uint8_t db_format;
+
+ uint32_t db_offset;
+
+ uint32_t rsvd2;
+
+ uint16_t rq_flags;
+ uint16_t rsvd3;
+#endif
+ } rsp;
+
+ } params;
+};
+
+struct mbx_delete_nic_rq_v1 {
+ struct mbx_hdr hdr;
+ union {
+ struct {
+#ifdef _BIG_ENDIAN
+ uint16_t bypass_flush;
+ uint16_t rq_id;
+ uint16_t rsvd;
+ uint16_t rq_flags;
+#else
+ uint16_t rq_id;
+ uint16_t bypass_flush;
+ uint16_t rq_flags;
+ uint16_t rsvd;
+#endif
+ } req;
+ struct {
+ uint32_t rsvd[2];
+ } rsp;
+ } params;
+};
+
+struct nic_hwlro_singleton_cqe {
+#ifdef _BIG_ENDIAN
+ /* dw 0 */
+ uint32_t ip_opt:1;
+ uint32_t vtp:1;
+ uint32_t pkt_size:14;
+ uint32_t vlan_tag:16;
+
+ /* dw 1 */
+ uint32_t num_frags:3;
+ uint32_t rsvd1:3;
+ uint32_t frag_index:10;
+ uint32_t rsvd:8;
+ uint32_t ipv6_frame:1;
+ uint32_t l4_cksum_pass:1;
+ uint32_t ip_cksum_pass:1;
+ uint32_t udpframe:1;
+ uint32_t tcpframe:1;
+ uint32_t ipframe:1;
+ uint32_t rss_hp:1;
+ uint32_t error:1;
+
+ /* dw 2 */
+ uint32_t valid:1;
+ uint32_t cqe_type:2;
+ uint32_t debug:7;
+ uint32_t rsvd4:6;
+ uint32_t data_offset:8;
+ uint32_t rsvd3:3;
+ uint32_t rss_bank:1;
+ uint32_t qnq:1;
+ uint32_t rsvd2:3;
+
+ /* dw 3 */
+ uint32_t rss_hash_value;
+#else
+ /* dw 0 */
+ uint32_t vlan_tag:16;
+ uint32_t pkt_size:14;
+ uint32_t vtp:1;
+ uint32_t ip_opt:1;
+
+ /* dw 1 */
+ uint32_t error:1;
+ uint32_t rss_hp:1;
+ uint32_t ipframe:1;
+ uint32_t tcpframe:1;
+ uint32_t udpframe:1;
+ uint32_t ip_cksum_pass:1;
+ uint32_t l4_cksum_pass:1;
+ uint32_t ipv6_frame:1;
+ uint32_t rsvd:8;
+ uint32_t frag_index:10;
+ uint32_t rsvd1:3;
+ uint32_t num_frags:3;
+
+ /* dw 2 */
+ uint32_t rsvd2:3;
+ uint32_t qnq:1;
+ uint32_t rss_bank:1;
+ uint32_t rsvd3:3;
+ uint32_t data_offset:8;
+ uint32_t rsvd4:6;
+ uint32_t debug:7;
+ uint32_t cqe_type:2;
+ uint32_t valid:1;
+
+ /* dw 3 */
+ uint32_t rss_hash_value;
+#endif
+};
+
+struct nic_hwlro_cqe_part1 {
+#ifdef _BIG_ENDIAN
+ /* dw 0 */
+ uint32_t tcp_timestamp_val;
+
+ /* dw 1 */
+ uint32_t tcp_timestamp_ecr;
+
+ /* dw 2 */
+ uint32_t valid:1;
+ uint32_t cqe_type:2;
+ uint32_t rsvd3:7;
+ uint32_t rss_policy:4;
+ uint32_t rsvd2:2;
+ uint32_t data_offset:8;
+ uint32_t rsvd1:1;
+ uint32_t lro_desc:1;
+ uint32_t lro_timer_pop:1;
+ uint32_t rss_bank:1;
+ uint32_t qnq:1;
+ uint32_t rsvd:2;
+ uint32_t rss_flush:1;
+
+ /* dw 3 */
+ uint32_t rss_hash_value;
+#else
+ /* dw 0 */
+ uint32_t tcp_timestamp_val;
[ *** diff truncated: 3840 lines dropped *** ]
############################################################################
Revision: hrev52695
Commit: 0c3e5b9745568e27ac7384427d69bd3d8cad6f1c
URL: https://git.haiku-os.org/haiku/commit/?id=0c3e5b974556
Author: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu Dec 27 21:55:48 2018 UTC
ipro100: Upgrade to FreeBSD 12.
----------------------------------------------------------------------------
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic