#
46c3c836 |
| 12-Apr-2008 |
David Christensen <davidch@FreeBSD.org> |
- Fixed a problem with the send chain consumer index which would cause TX traffic to sit in the send chain until a received packet kick started the interrupt handler. This would cause extremely
- Fixed a problem with the send chain consumer index which would cause TX traffic to sit in the send chain until a received packet kick started the interrupt handler. This would cause extremely slow performance when used with NFS over UDP. - Removed untested polling code. - Updated copyright year in the file header. - Removed inadvertent ^M's created by DOS text editor.
MFC after: 2 weeks
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0 |
|
#
8ec2795f |
| 22-Feb-2008 |
David Christensen <davidch@FreeBSD.org> |
MFC after: 4 weeks
- Added loose RX MTU functionality to allow frames larger than 1500 bytes to be accepted even though the interface MTU is set to 1500. - Implemented new TCP header splitting/jum
MFC after: 4 weeks
- Added loose RX MTU functionality to allow frames larger than 1500 bytes to be accepted even though the interface MTU is set to 1500. - Implemented new TCP header splitting/jumbo frame support which uses two chains for receive traffic rather than the original single recevie chain. - Added additional debug support code.
show more ...
|
Revision tags: release/6.3.0_cvs, release/6.3.0 |
|
#
990a2aa5 |
| 31-Jul-2007 |
David Christensen <davidch@FreeBSD.org> |
- Fixed a problem that would cause kernel panics and "bce0: discard frame .." errors (especially when jumbo frames are enabled or in low memory systems) because the RX chain was corrupted when an
- Fixed a problem that would cause kernel panics and "bce0: discard frame .." errors (especially when jumbo frames are enabled or in low memory systems) because the RX chain was corrupted when an mbuf was mapped to an unexpected number of buffers. - Fixed a problem that would cause kernel panics when an excessively fragmented TX mbuf couldn't be defragmented and was released by bce_tx_encap().
Approved by: re(hrs) MFC after: 7 days
show more ...
|
#
ca4c7b3b |
| 16-Jun-2007 |
David Christensen <davidch@FreeBSD.org> |
- Migrated IPMI fix from RELENG_6. - Added additional debug code.
|
#
133ac1f5 |
| 07-Jun-2007 |
David Christensen <davidch@FreeBSD.org> |
New Features: - Added 2.5G support for BCM5708S.
MFC after: 4 weeks
|
#
56759046 |
| 17-May-2007 |
David Christensen <davidch@FreeBSD.org> |
- Added TSO support - Updated firmware to latest release (v3.4.8) to fix TSO + jumbo frame lockup - Added MSI (hw.bce.msi_enable) and TSO (hw.bce.tso_enable) sysctls - Fixed kernel panic when MSI is
- Added TSO support - Updated firmware to latest release (v3.4.8) to fix TSO + jumbo frame lockup - Added MSI (hw.bce.msi_enable) and TSO (hw.bce.tso_enable) sysctls - Fixed kernel panic when MSI is used and module is unloaded - Added several new debug routines - Removed slack space for RX/TX chains since it only covers sloppy coding - Fixed a potential problem when programming jumbo MTU size in hardware - Various other comment changes
MFC after: 4 weeks
show more ...
|
#
d2b9bc42 |
| 05-May-2007 |
David Christensen <davidch@FreeBSD.org> |
MFC after: 2 weeks
Updated copyright date to 2007.
Tested with BCM5706 A3.
Added ID for BCM5708 B2.
Removed unused driver version string.
Modified BCE_PRINTF macro to automatically fill-in the s
MFC after: 2 weeks
Updated copyright date to 2007.
Tested with BCM5706 A3.
Added ID for BCM5708 B2.
Removed unused driver version string.
Modified BCE_PRINTF macro to automatically fill-in the sc pointer.
Fixed a kernel panic when the driver was loaded as a module from the command-line because the MII bus pointer was null (i.e. the MII bus hadn't been enumerated yet).
Added fix proposed by Vladimir Ivanov <wawa@yandex-team.ru> to prevent driver state corruption when releasing the lock during the ISR in bce_rx_intr() to send packets up the stack.
Added new TX chain and register read sysctl interfaces for debugging.
Cleaned up formatting for various other debug routines.
Added a new statistic maintained by firmware which tracks the number of received packets dropped because no receive buffers are available.
show more ...
|
Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
5411f544 |
| 11-Jan-2007 |
Xin LI <delphij@FreeBSD.org> |
- Instead of if_watchdog/if_timer interface use our own timer that piggybacks on bce_tick() callout. - Instead of unconditionally resetting the controller, try to skip the reset in case we got
- Instead of if_watchdog/if_timer interface use our own timer that piggybacks on bce_tick() callout. - Instead of unconditionally resetting the controller, try to skip the reset in case we got a pause frame, like em(4) did. - Lock bce_tick() using callout_init_mtx().
Discussed with/Reviewed by: glebius, scottl, davidch
show more ...
|
#
46222d08 |
| 16-Nov-2006 |
Scott Long <scottl@FreeBSD.org> |
Due to an incorrect macro, it appears that this driver has always been accidentally truncating off the VLAN tag field in the TX descriptor. Fix this by splitting up the vlan_tag and flags fields int
Due to an incorrect macro, it appears that this driver has always been accidentally truncating off the VLAN tag field in the TX descriptor. Fix this by splitting up the vlan_tag and flags fields into separate fields, and handling them appropriately.
Sponsored by: Ironport MFC After: 3 days
show more ...
|
#
4eaefb81 |
| 24-Oct-2006 |
Scott Long <scottl@FreeBSD.org> |
Refine the checksum hack a little. It appears that the chip can handle UDP and TCP checksum offloading fine, it only has a problem with IP checksums on IP fragments.. Barring a fix or workaround av
Refine the checksum hack a little. It appears that the chip can handle UDP and TCP checksum offloading fine, it only has a problem with IP checksums on IP fragments.. Barring a fix or workaround available from the hardware, the real solution would be to have finer grained control in the stack over what can and cannot be assisted in hardware.
show more ...
|
#
49caa8a9 |
| 21-Oct-2006 |
Scott Long <scottl@FreeBSD.org> |
There seems to be a problem with txcsum and UDP. Turn it off until it is understood better. This fixes timeout problems with NFS.
|
#
c5a01a41 |
| 16-Oct-2006 |
Scott Long <scottl@FreeBSD.org> |
Overhaul the transmit and dma paths: - Use bus_dmamap_load_mbuf_sg() to eliminate the need for the callback and all of the extra bookkeeping associated with it. - Eliminate the bce_dmamap_arg structu
Overhaul the transmit and dma paths: - Use bus_dmamap_load_mbuf_sg() to eliminate the need for the callback and all of the extra bookkeeping associated with it. - Eliminate the bce_dmamap_arg structure and streamline the memory allocation routines to not need it. This does change some of the debugging messages. - 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.
This significantly helps the driver withstand large UDP workloads, though it's still not perfect. I suspect the remaining work lies with handling the OACTIVE flag, and also in possibly streamlining the interrupt handler some. It is, however, nearly on par with the other popular gigabit drivers in terms of stability now.
show more ...
|
#
ec6887f8 |
| 14-Oct-2006 |
Scott Long <scottl@FreeBSD.org> |
Don't copy the bd_chain head pointers into temporary objects, they are available globally.
|
Revision tags: release/5.5.0_cvs, release/5.5.0 |
|
#
c40da00c |
| 16-May-2006 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Since DELAY() was moved, most <machine/clock.h> #includes have been unnecessary.
|
Revision tags: release/6.1.0_cvs, release/6.1.0 |
|
#
179162e8 |
| 04-May-2006 |
Matt Jacob <mjacob@FreeBSD.org> |
Gratuitous tag alignment. It bugged me.
|
#
262af1c8 |
| 26-Apr-2006 |
Paul Saab <ps@FreeBSD.org> |
Only use the low address for stats collection.
|
#
75231ae3 |
| 25-Apr-2006 |
John Baldwin <jhb@FreeBSD.org> |
Fix half of the current i386 tinderbox failure. max_bus_addr should be a bus_addr_t rather than a bus_size_t.
|
#
6caf734f |
| 10-Apr-2006 |
Paul Saab <ps@FreeBSD.org> |
Add a driver for the Broadcom NetXtreme II (BCM5706/BCM5708) PCI/PCIe Gigabit Ethernet adapeter.
Submitted by: David Christensen
|