#
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 ...
|