Go to file
bouyer a17f6ef0b7 Protect bnx_tick() with splnet.
Bring in fixes and improvements from OpenBSD:
revision 1.25
- Simplify the arguments to bnx_tx_encap.
- Don't copy the bd_chain head pointers into temporary objects, they are
available globally.

From scottl@FreeBSD

revision 1.26
Overhaul the transmit path:
- Eliminate the bnx_dmamap_arg structure.
- Refactor the loop that fills the buffer descriptor so that it can be done
with a single set of logic in a single loop instead of two sets of logic.
- Eliminate the need to cache and pass descriptor indexes between the start
loop and the encap function.
- Change the start loop to always check the ifnet sendq for more work.

From scottl@FreeBSD

revision 1.27
make the exit label naming scheme match the current function names, removes
a FreeBSD-ism from the original driver.

revision 1.28 -> 1.30
- Ensure that at least 16 TX descriptors are kept unused in the ring.
- Use more complete error handling for TX load problems.

From scottl@FreeBSD

revision 1.31
replace a few more instances of hand rolled code with the LIST_FOREACH macro.

revision 1.33
In bnx_start, check the used_tx_bd count rather than the descriptors
mbuf pointer to see if the transmit ring is full.  The mbuf pointer
is set only in the last descriptor of a multi-descriptor packet.
By relying on the mbuf pointers of the earlier descriptors, the
driver would sometimes overwrite a descriptor belonging to a
packet that wasn't completed yet.  Also, tx_chain_prod wasn't
updated inside the loop, causing the wrong descriptor to be checked
after the first iteration.  The upshot of all this was the loss of
some transmitted packets at medium to high packet rates.

In bnx_tx_encap, remove a couple of old statements that shuffled
around the tx_mbuf_map pointers.  These now correspond 1-to-1 with
the transmit descriptors, and they are not supposed to be changed.

Correct a couple of inaccurate comments.

From jdp@FreeBSD

revision 1.43
Allow the bnx(4) driver to make use of all of the available hardware
multicast hash slots. The bnx(4) hardware supports 8 slots instead of
4 like the bge(4) hardware.

From Mike Karels via FreeBSD

Tested by Brad, biorn@ and Johan M:son Lindman
2007-04-09 14:23:03 +00:00
bin PR/36092: B K: algorithmic inefficiency in bin/test/test.c:t_lex 2007-03-28 01:47:25 +00:00
common Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
crypto checks proto_id in ipsecdoi_chkcmpids() 2007-04-04 13:09:36 +00:00
dist Coverity CID/4421: Add extra check for NULL before deref. 2007-04-04 21:40:48 +00:00
distrib Add "wd", "sd" and "raid:no_mbr" disks in DISK_NAMES (and xbd:no_mbr, 2007-04-08 16:47:38 +00:00
doc Note deletion of sh5/evbsh5 port. 2007-04-08 10:04:39 +00:00
etc Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
games Xref shuffle(1) from random(6), and vice versa 2007-03-20 16:12:40 +00:00
gnu when pic, symbol [ + offset ] + reg is indexed so it's mode dependent. 2007-04-09 03:44:14 +00:00
include Resolve conflicts. 2007-03-30 19:57:16 +00:00
lib Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
libexec Remove a test for defined(__SH5__). 2007-04-08 10:02:35 +00:00
regress Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
rescue Add: lfs_cleanerd 2007-03-23 05:48:34 +00:00
sbin whooops, bump date also 2007-04-05 21:31:44 +00:00
share Try to be more concise, and add a bit more text. 2007-04-09 13:37:57 +00:00
sys Protect bnx_tick() with splnet. 2007-04-09 14:23:03 +00:00
tools Remove non-shared hooks for VAX. 2007-03-31 05:55:43 +00:00
usr.bin Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
usr.sbin Undo a workaround for an old SH5 toolchain bug. 2007-04-08 09:43:51 +00:00
x11 Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
build.sh Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
BUILDING Document the fact that "make installworld" and "build.sh 2007-03-26 17:35:06 +00:00
Makefile Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
Makefile.inc don't set KERNSRCDIR here; pull in <bsd.kernobj.mk> if you need it 2002-04-10 14:53:43 +00:00
UPDATING Note libc Makefile problems and give advice to make cleandir in libc 2007-03-25 16:23:04 +00:00