History log of /dragonfly/sys/dev/netif/bnx/if_bnx.c (Results 1 – 25 of 112)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 030b0c8c 09-Dec-2023 Michael Neumann <mneumann@ntecs.de>

busdma - Remove filter functionality

- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and
fix all callers. All callers use NULL today for both filterfunc and
filterarg with one

busdma - Remove filter functionality

- Remove filtfunc and filtarg arguments from bus_dma_tag_create() and
fix all callers. All callers use NULL today for both filterfunc and
filterarg with one exception: if_jme.

- Remove filter functionality internally and parent tag tracking.
Without filter functions, we do not need to keep track of tag
ancestry. All inheritance of the parent tag's parameters occurs when
creating the new child tag.

- rename run_filter() to addr_needs_bounce().

- FreeBSD keeps the filtfunc and filtarg arguments but requires them to
be NULL.

- Drop filterfunc usage from if_jme.

In case of "JMC260 chip full mask revision 2", which has a hardware bug
when it comes to DMA transfers crossing the 4 GB bounday, the parent
buffer tag already limits DMA memory to 32bit address space. As such it
should be safe to drop the filterfunc. The filterfunc was checking if
the lower 32bits of the physical address used for DMA are all 0. In case
of a 32bit address space, the only address where all lower 32-bits are
all zero is 0 itself and I am here assuming that the physical address 0
is not used for DMA transfers!

Mainly obtained from: FreeBSD (commits 7cb028de, 900907f4, 1228b93b, 3933ff56)

show more ...


Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0
# 7acfcee2 22-Mar-2021 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Change clock speed to fix several types of hangs

- During reset, increase the clock speed temporarily to fix hang
on 5717/5719/5720.
- On 5762, always increase the clock speed even for normal

bnx: Change clock speed to fix several types of hangs

- During reset, increase the clock speed temporarily to fix hang
on 5717/5719/5720.
- On 5762, always increase the clock speed even for normal operation
to avoid hang on TX.

Obtained-from: tg3
f82995b65c44f353358179f4e2745cf967e00b31
3a498606bb04af603a46ebde8296040b2de350d1

show more ...


# c1ed6db1 19-Mar-2021 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Support 57764, 57767 and 57787

Obtained-from: tg3
68273712a19e9107a498a371532b3b3eb6dbb14c


# 5850b34b 19-Mar-2021 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Prevent UDP fragments be routed to APE on 5762.

Obtained-from: tg3
378b72c873b4828cde5b4bc85c7029d98f8f1df4


# 2eaa7169 18-Mar-2021 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Fix potential hardware uninitialized TX DMA length registers.

It can only happen on 5719 and 5720.

Obtained-from: tg3
091f0ea30074bc43f9250961b3247af713024bc6
9bc297ea0622bb2a6b3abfa2fa84f0a3b

bnx: Fix potential hardware uninitialized TX DMA length registers.

It can only happen on 5719 and 5720.

Obtained-from: tg3
091f0ea30074bc43f9250961b3247af713024bc6
9bc297ea0622bb2a6b3abfa2fa84f0a3b86ef8c8

show more ...


# edf33009 09-Mar-2021 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Fix comment.


Revision tags: v5.8.3, v5.8.2
# e2292763 01-Sep-2020 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Revamp ifsq_watchdog*() a bit

* Add a flags argument to ifsq_watchdog_init() and implement two
flags:

IF_WDOG_ALLTICKS Watchdog callback occurs each second
prior to terminal count,

kernel - Revamp ifsq_watchdog*() a bit

* Add a flags argument to ifsq_watchdog_init() and implement two
flags:

IF_WDOG_ALLTICKS Watchdog callback occurs each second
prior to terminal count, and on terminal
count.

IF_WDOG_LASTTICK Watchdog callback occurs one second prior
to terminal count, and on terminal count.

0 Watchdog callback only occurs on terminal
count.

Note that the ifnet lock is fully serialized when a watchdog
callback is made, so generally speaking to avoid hicups you
only want to use IF_WDOG_LASTTICK.

* This feature allows the watchdog code to flush any tx buffers
(call *_txeof()) that have completed transmission. Many NICs
and virtual NICs don't bother to generate interrupts to clean-up
such buffers when the rings are only lightly loaded.

* Fix spurious vtnet watchdog events on lightly loaded vtnet
interfaces, loosly using the same code that FreeBSD uses
(just txeof from the second-prior watchdog callback and then
check on terminal count).

show more ...


Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2
# 62938642 25-Jul-2019 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Replace kmalloc_cachealign() with kmalloc(... M_CACHEALIGN)

* Add M_CACHEALIGN, which ensures that the result is aligned to
a cache line.

* Remove kmalloc_cachealign(), replacing all use

kernel - Replace kmalloc_cachealign() with kmalloc(... M_CACHEALIGN)

* Add M_CACHEALIGN, which ensures that the result is aligned to
a cache line.

* Remove kmalloc_cachealign(), replacing all uses with kmalloc
using M_CACHEALIGN.

show more ...


Revision tags: v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1
# 8406cf70 15-Jun-2017 Sascha Wildner <saw@online.de>

kernel: Add 'static' to some function definitions.

The declarations already have it, so no functional difference.


# afc5d5f3 26-May-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

ifnet: Split ringmap declaration into their own header.

Avoid bus.h -> device_if.h+bus_if.h pollution.

Suggested-by: swildner


# 2929cd44 14-May-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Free ringmap in device_detach device method


# 6af7a1dc 14-May-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Use modulo to map TX rings.


# 02596bed 12-May-2017 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Use ringmap to do MSI-X cpu assignment and fill redirect table.


Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc
# 7558541b 17-Dec-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

mbuf: Factor function to set mbuf hash.


Revision tags: v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3
# c450d4d8 09-Mar-2016 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Don't use thread template

Mainly to avoid lwkt_exit and bnx_softc free race.


Revision tags: v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1
# 14929979 25-Jul-2015 Sepherosa Ziehau <sephe@dragonflybsd.org>

netif: Configure mbuf clusters/jclusters limits

Default mbuf clusters limit work for most of the network device
drivers. The drivers modified by this commit:
- Use mbuf jclusters.
- Size of the rec

netif: Configure mbuf clusters/jclusters limits

Default mbuf clusters limit work for most of the network device
drivers. The drivers modified by this commit:
- Use mbuf jclusters.
- Size of the reception queues could be configured.
- Support multiple reception queues.

et(4) and mxge(4) are special; they use non-cluster mbuf for small
packets reception, so we adjust non-cluster mbuf limit manually in
these two drivers.

show more ...


Revision tags: v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4
# b5523eac 19-Feb-2015 Sascha Wildner <saw@online.de>

kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.

The main reason is that our having to use the MB_WAIT and MB_DONTWAIT
flags was a recurring issue when porting drivers from FreeBSD

kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.

The main reason is that our having to use the MB_WAIT and MB_DONTWAIT
flags was a recurring issue when porting drivers from FreeBSD because
it tended to get forgotten and the code would compile anyway with the
wrong constants. And since MB_WAIT and MB_DONTWAIT ended up as ocflags
for an objcache_get() or objcache_reclaimlist call (which use M_WAITOK
and M_NOWAIT), it was just one big converting back and forth with some
sanitization in between.

This commit allows M_* again for the mbuf functions and keeps the
sanitizing as it was before: when M_WAITOK is among the passed flags,
objcache functions will be called with M_WAITOK and when it is absent,
they will be called with M_NOWAIT. All other flags are scrubbed by the
MB_OCFLAG() macro which does the same as the former MBTOM().

Approved-by: dillon

show more ...


Revision tags: v4.0.3
# 1996f1e5 18-Jan-2015 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx/bge: Add miibus module dependency


Revision tags: v4.0.2
# 26595b18 28-Nov-2014 Sascha Wildner <saw@online.de>

kernel: Use the new auto-created sysctl ctx/tree in various drivers.

Everywhere where we formerly rolled a hw.fooX.* per-device ctx/tree
ourselves.

This commit switches it to dev.foo.X.*


Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2
# be4134c6 29-Jun-2014 Franco Fichtner <franco@lastsummer.de>

kernel: switch newer drivers back to if_input()

Restore the if_input() invoke. This is needed to reenable
tapping into if_input through drivers like netmap(4).

Reviewed by: sephe


Revision tags: v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2
# ff37a356 09-Mar-2014 Sepherosa Ziehau <sephe@dragonflybsd.org>

ethernet: If caller thread cpu is fixed, pass cpuid to ether_input_pkt()

So we could use optimized lwkt_sendmsg_oncpu() instead of lwkt_sendmsg(),
if the target netisr is on the same cpu as caller t

ethernet: If caller thread cpu is fixed, pass cpuid to ether_input_pkt()

So we could use optimized lwkt_sendmsg_oncpu() instead of lwkt_sendmsg(),
if the target netisr is on the same cpu as caller thread cpu. Mainly to
avoid unnecessary wakeup() IPIs to other cpus.

THE RESULT:

On i7-3770 w/ HT enabled (8 logical cpus); NIC is 82599ES w/ 8 RX rings
and 8 TX rings. Run:
repeat 10 tcp_stream -H ... -i 256 -l 10 -r
(256 netperf TCP_MAERTS instances for 10 seconds, 10 rounds)

Total amount of cross IPIs before this commit is 6946097. Total amount
of cross IPIs as of this commit is 5445324. ~22% unnecessary wakeup()
IPIs are avoided!

show more ...


Revision tags: v3.6.1
# 9f5082d5 10-Dec-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Bring in APE support from FreeBSD bge(4)

Obtained-from: FreeBSD 241438 248226


# 4aa71e73 08-Dec-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bnx: Merge several recent bge changes

57b622244562b2b67b60bc5eeecd498f5946d359
f2ccc3cdd409facd7b596fcc3f6157e3a7029df2
e6fdacca28b0af2f878e74dd2acc6f40288a4cb3
b87c703422a52f1b874b6f00516b7a096f826

bnx: Merge several recent bge changes

57b622244562b2b67b60bc5eeecd498f5946d359
f2ccc3cdd409facd7b596fcc3f6157e3a7029df2
e6fdacca28b0af2f878e74dd2acc6f40288a4cb3
b87c703422a52f1b874b6f00516b7a096f826b6a
9062031ed71445ef2de9bf9b4e0d96fd6cdf9c34
cc224beafa386c6a9777d1a3296217d768ea7405
0bf9631eae999627c5ae189775a5fe4b1ee75280
d05296cfacc7c2847af2f475bfb374ddf5f985ac

show more ...


# 0551ac06 04-Dec-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

bge/bnx: Remove duplicated register names; keep names consistent w/ FreeBSD


# dcb4b80d 27-Nov-2013 Sascha Wildner <saw@online.de>

kernel: Generate miidevs.h, pccarddevs.h and pcidevs.h on the fly.

It removes the need to regenerate those header file after first editing
the associated list of IDs (miidevs, pccarddevs or pcidevs)

kernel: Generate miidevs.h, pccarddevs.h and pcidevs.h on the fly.

It removes the need to regenerate those header file after first editing
the associated list of IDs (miidevs, pccarddevs or pcidevs). After this
commit, editing the list alone is enough to add IDs.

We already did it like that for usb4bsd's usbdevs.h before. This commit
adjusts things for the remaining ID lists.

show more ...


12345