#
1.30 |
|
09-Feb-2024 |
andvar |
fix spelling mistakes, mainly in comments and log messages.
|
#
1.29 |
|
05-Feb-2024 |
andvar |
triple "r" typos, mainly s/interrrupt/interrupt/ in comments and one definition.
|
Revision tags: netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
#
1.28 |
|
12-Dec-2021 |
andvar |
fix various typos, mainly in comments.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.27 |
|
13-Feb-2021 |
jakllsch |
Curb aprint_*() abuse in bnx(4)
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
#
1.26 |
|
24-May-2019 |
msaitoh |
branches: 1.26.10; Whilespace fix. No functional change.
|
Revision tags: isaki-audio2-base
|
#
1.25 |
|
05-Apr-2019 |
msaitoh |
Add BNX_PCICFG_DEVICE_CONTROL.
|
#
1.24 |
|
05-Apr-2019 |
msaitoh |
- Allow time for the management firmware to enter the running state. - Enable/Disable management frames (NC-SI) to flow to the MCP if MFW exists. - Print the boot code version, management firmware version and some flags. - Gbps -> GT/s for PCIe speed. - Use aprint_*() in bnx_print_adapter_info(). - Use braces for some macors' argument. - Remove unused macros. - KNF.
|
#
1.23 |
|
04-Apr-2019 |
msaitoh |
No functional change. This change reduces diff against DragonFly: - Fix BNX_PCI_GRC_WINDOW_ADDR_VALUE's name. Note that this macro is not used. - Whitespace change. - Sort some lines.
|
#
1.22 |
|
29-Mar-2019 |
msaitoh |
- Use m_defrag() when bus_dmamap_load_mbuf() returned with EFBIG. - Style change to reduce diff against {Free,Open}BSD. - Make it compilable with BNX_DEBUG. - Use __nothing for null macro.
|
#
1.21 |
|
28-Mar-2019 |
msaitoh |
No functional change: - Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used from anywhere. - Wse const. - Whitespace change.
|
#
1.20 |
|
05-Mar-2019 |
msaitoh |
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.19 |
|
03-Jun-2018 |
maxv |
branches: 1.19.2; Constify the microcode variables used by BNX. This moves 38 pages of kernel memory from .data to .rodata.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.18 |
|
01-Jul-2014 |
msaitoh |
branches: 1.18.26; Print some information (ASIC revision, PCI status, etc). From FreeBSD.
|
#
1.17 |
|
01-Jul-2014 |
msaitoh |
No functional change. - s/u_int/uint/ - Modify comment a bit (sync with OpenBSD)
|
#
1.16 |
|
24-Jun-2014 |
msaitoh |
No functional change: - Tabify. - Remove trailing white spaces. - Fix typo in comment.
|
#
1.15 |
|
17-Jun-2014 |
msaitoh |
- Fix detection of BGEPHYF_FIBER_{MII|TBI} - Add BCM5708S support in brgphy(4). The auto negotiation may have some bugs. - Add 2500SX support (not tested). - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.14 |
|
02-May-2011 |
jym |
branches: 1.14.10; 1.14.14; 1.14.28; Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already handled): - export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to "unsigned int" rather than "int", and reuse the same softc members for chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean). - apply bug fix for revisions A and B, so that autonegotiation can complete (from OpenBSD).
Bug reported by Rivo Nurges via private mail, patch tested and confirmed working by him (with thanks!)
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
1.13 |
|
11-Dec-2010 |
martin |
branches: 1.13.2; Sanitize names a bit, still could use more namespace cleanup
|
#
1.12 |
|
11-Dec-2010 |
martin |
Namespace police: don't use very broad names like CTX_MASK (which accidently collide with sparc* specific MD macros), mechanically prefix with BNX_.
|
#
1.11 |
|
09-Dec-2010 |
jym |
Similar to bge(4), split if_bnxreg.h in two parts: - if_bnxreg.h: general register values, flags... for bnx(4), that can be included in other drivers - if_bnxvar.h: PCI or device specific code (device state data, debug macros etc.), which should remain private to bnx(4)
No comments, no objections on current-users@.
See discussion: http://mail-index.netbsd.org/current-users/2010/12/01/msg014926.html
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.10 |
|
19-Jan-2010 |
pooka |
branches: 1.10.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: matt-premerge-20091211
|
#
1.9 |
|
18-Nov-2009 |
bouyer |
Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: Add support for the Broadcom BCM5709 and BCM5716 chips. This upgrade the B06 firmware, and add the B09 firmware required by the BCM5709. Remplace TX dmamap array with a dynamically-grown list.
Tested with: bnx0 at pci4 dev 0 function 0: Broadcom NetXtreme II BCM5708 1000Base-T and bnx0 at pci0 dev 0 function 0: Broadcom NetXtreme II BCM5709 1000Base-SX
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
1.8 |
|
14-Apr-2009 |
dyoung |
Delete two unused data members, the powerhook and the shutdownhook handles.
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.7 |
|
24-Jun-2008 |
gmcgarry |
branches: 1.7.4; 1.7.6; 1.7.10; 1.7.14; Replace gcc variadic macros with c99 variadic macros.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.6 |
|
06-Feb-2008 |
joerg |
branches: 1.6.6; 1.6.10; 1.6.12; 1.6.14; Don't use misaligned PCI config access. Reported by Christoph Egger.
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.5 |
|
31-Dec-2007 |
dyoung |
Don't buffer packets while the link is down, but drop them on the floor like most other ethernet drivers do.
bnx(4) has "vanilla" MII media-handling, so use ether_mediachange and ether_mediastatus.
|
#
1.4 |
|
30-Dec-2007 |
dyoung |
For consistency with other softc members, s/ethercom/bnx_ec/.
|
Revision tags: vmlocking2-base3
|
#
1.3 |
|
26-Dec-2007 |
dyoung |
Add device suspend/resume/detach. (Tested with drvctl -S bnx0, drvctl -Q bnx0, drvctl -d bnx0.)
Separate device_t storage from softc storage and use CFATTACH_DECL_NEW().
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.2 |
|
09-Apr-2007 |
bouyer |
branches: 1.2.10; 1.2.16; 1.2.18; 1.2.22; 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
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base yamt-splraiseipl-base5 yamt-splraiseipl-base4
|
#
1.1 |
|
17-Dec-2006 |
bouyer |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.16; 1.1.18; Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device. Ported from OpenBSD by cube@, with some bus_dma fixes by me. Tested on i386 and amd64.
|
#
1.29 |
|
05-Feb-2024 |
andvar |
triple "r" typos, mainly s/interrrupt/interrupt/ in comments and one definition.
|
Revision tags: netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
#
1.28 |
|
12-Dec-2021 |
andvar |
fix various typos, mainly in comments.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.27 |
|
13-Feb-2021 |
jakllsch |
Curb aprint_*() abuse in bnx(4)
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
#
1.26 |
|
24-May-2019 |
msaitoh |
branches: 1.26.10; Whilespace fix. No functional change.
|
Revision tags: isaki-audio2-base
|
#
1.25 |
|
05-Apr-2019 |
msaitoh |
Add BNX_PCICFG_DEVICE_CONTROL.
|
#
1.24 |
|
05-Apr-2019 |
msaitoh |
- Allow time for the management firmware to enter the running state. - Enable/Disable management frames (NC-SI) to flow to the MCP if MFW exists. - Print the boot code version, management firmware version and some flags. - Gbps -> GT/s for PCIe speed. - Use aprint_*() in bnx_print_adapter_info(). - Use braces for some macors' argument. - Remove unused macros. - KNF.
|
#
1.23 |
|
04-Apr-2019 |
msaitoh |
No functional change. This change reduces diff against DragonFly: - Fix BNX_PCI_GRC_WINDOW_ADDR_VALUE's name. Note that this macro is not used. - Whitespace change. - Sort some lines.
|
#
1.22 |
|
29-Mar-2019 |
msaitoh |
- Use m_defrag() when bus_dmamap_load_mbuf() returned with EFBIG. - Style change to reduce diff against {Free,Open}BSD. - Make it compilable with BNX_DEBUG. - Use __nothing for null macro.
|
#
1.21 |
|
28-Mar-2019 |
msaitoh |
No functional change: - Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used from anywhere. - Wse const. - Whitespace change.
|
#
1.20 |
|
05-Mar-2019 |
msaitoh |
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.19 |
|
03-Jun-2018 |
maxv |
branches: 1.19.2; Constify the microcode variables used by BNX. This moves 38 pages of kernel memory from .data to .rodata.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.18 |
|
01-Jul-2014 |
msaitoh |
branches: 1.18.26; Print some information (ASIC revision, PCI status, etc). From FreeBSD.
|
#
1.17 |
|
01-Jul-2014 |
msaitoh |
No functional change. - s/u_int/uint/ - Modify comment a bit (sync with OpenBSD)
|
#
1.16 |
|
24-Jun-2014 |
msaitoh |
No functional change: - Tabify. - Remove trailing white spaces. - Fix typo in comment.
|
#
1.15 |
|
17-Jun-2014 |
msaitoh |
- Fix detection of BGEPHYF_FIBER_{MII|TBI} - Add BCM5708S support in brgphy(4). The auto negotiation may have some bugs. - Add 2500SX support (not tested). - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.14 |
|
02-May-2011 |
jym |
branches: 1.14.10; 1.14.14; 1.14.28; Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already handled): - export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to "unsigned int" rather than "int", and reuse the same softc members for chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean). - apply bug fix for revisions A and B, so that autonegotiation can complete (from OpenBSD).
Bug reported by Rivo Nurges via private mail, patch tested and confirmed working by him (with thanks!)
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
1.13 |
|
11-Dec-2010 |
martin |
branches: 1.13.2; Sanitize names a bit, still could use more namespace cleanup
|
#
1.12 |
|
11-Dec-2010 |
martin |
Namespace police: don't use very broad names like CTX_MASK (which accidently collide with sparc* specific MD macros), mechanically prefix with BNX_.
|
#
1.11 |
|
09-Dec-2010 |
jym |
Similar to bge(4), split if_bnxreg.h in two parts: - if_bnxreg.h: general register values, flags... for bnx(4), that can be included in other drivers - if_bnxvar.h: PCI or device specific code (device state data, debug macros etc.), which should remain private to bnx(4)
No comments, no objections on current-users@.
See discussion: http://mail-index.netbsd.org/current-users/2010/12/01/msg014926.html
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.10 |
|
19-Jan-2010 |
pooka |
branches: 1.10.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: matt-premerge-20091211
|
#
1.9 |
|
18-Nov-2009 |
bouyer |
Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: Add support for the Broadcom BCM5709 and BCM5716 chips. This upgrade the B06 firmware, and add the B09 firmware required by the BCM5709. Remplace TX dmamap array with a dynamically-grown list.
Tested with: bnx0 at pci4 dev 0 function 0: Broadcom NetXtreme II BCM5708 1000Base-T and bnx0 at pci0 dev 0 function 0: Broadcom NetXtreme II BCM5709 1000Base-SX
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
1.8 |
|
14-Apr-2009 |
dyoung |
Delete two unused data members, the powerhook and the shutdownhook handles.
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.7 |
|
24-Jun-2008 |
gmcgarry |
branches: 1.7.4; 1.7.6; 1.7.10; 1.7.14; Replace gcc variadic macros with c99 variadic macros.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.6 |
|
06-Feb-2008 |
joerg |
branches: 1.6.6; 1.6.10; 1.6.12; 1.6.14; Don't use misaligned PCI config access. Reported by Christoph Egger.
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.5 |
|
31-Dec-2007 |
dyoung |
Don't buffer packets while the link is down, but drop them on the floor like most other ethernet drivers do.
bnx(4) has "vanilla" MII media-handling, so use ether_mediachange and ether_mediastatus.
|
#
1.4 |
|
30-Dec-2007 |
dyoung |
For consistency with other softc members, s/ethercom/bnx_ec/.
|
Revision tags: vmlocking2-base3
|
#
1.3 |
|
26-Dec-2007 |
dyoung |
Add device suspend/resume/detach. (Tested with drvctl -S bnx0, drvctl -Q bnx0, drvctl -d bnx0.)
Separate device_t storage from softc storage and use CFATTACH_DECL_NEW().
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.2 |
|
09-Apr-2007 |
bouyer |
branches: 1.2.10; 1.2.16; 1.2.18; 1.2.22; 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
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base yamt-splraiseipl-base5 yamt-splraiseipl-base4
|
#
1.1 |
|
17-Dec-2006 |
bouyer |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.16; 1.1.18; Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device. Ported from OpenBSD by cube@, with some bus_dma fixes by me. Tested on i386 and amd64.
|
#
1.28 |
|
12-Dec-2021 |
andvar |
fix various typos, mainly in comments.
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.27 |
|
13-Feb-2021 |
jakllsch |
Curb aprint_*() abuse in bnx(4)
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
#
1.26 |
|
24-May-2019 |
msaitoh |
branches: 1.26.10; Whilespace fix. No functional change.
|
Revision tags: isaki-audio2-base
|
#
1.25 |
|
05-Apr-2019 |
msaitoh |
Add BNX_PCICFG_DEVICE_CONTROL.
|
#
1.24 |
|
05-Apr-2019 |
msaitoh |
- Allow time for the management firmware to enter the running state. - Enable/Disable management frames (NC-SI) to flow to the MCP if MFW exists. - Print the boot code version, management firmware version and some flags. - Gbps -> GT/s for PCIe speed. - Use aprint_*() in bnx_print_adapter_info(). - Use braces for some macors' argument. - Remove unused macros. - KNF.
|
#
1.23 |
|
04-Apr-2019 |
msaitoh |
No functional change. This change reduces diff against DragonFly: - Fix BNX_PCI_GRC_WINDOW_ADDR_VALUE's name. Note that this macro is not used. - Whitespace change. - Sort some lines.
|
#
1.22 |
|
29-Mar-2019 |
msaitoh |
- Use m_defrag() when bus_dmamap_load_mbuf() returned with EFBIG. - Style change to reduce diff against {Free,Open}BSD. - Make it compilable with BNX_DEBUG. - Use __nothing for null macro.
|
#
1.21 |
|
28-Mar-2019 |
msaitoh |
No functional change: - Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used from anywhere. - Wse const. - Whitespace change.
|
#
1.20 |
|
05-Mar-2019 |
msaitoh |
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.19 |
|
03-Jun-2018 |
maxv |
branches: 1.19.2; Constify the microcode variables used by BNX. This moves 38 pages of kernel memory from .data to .rodata.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.18 |
|
01-Jul-2014 |
msaitoh |
branches: 1.18.26; Print some information (ASIC revision, PCI status, etc). From FreeBSD.
|
#
1.17 |
|
01-Jul-2014 |
msaitoh |
No functional change. - s/u_int/uint/ - Modify comment a bit (sync with OpenBSD)
|
#
1.16 |
|
24-Jun-2014 |
msaitoh |
No functional change: - Tabify. - Remove trailing white spaces. - Fix typo in comment.
|
#
1.15 |
|
17-Jun-2014 |
msaitoh |
- Fix detection of BGEPHYF_FIBER_{MII|TBI} - Add BCM5708S support in brgphy(4). The auto negotiation may have some bugs. - Add 2500SX support (not tested). - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.14 |
|
02-May-2011 |
jym |
branches: 1.14.10; 1.14.14; 1.14.28; Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already handled): - export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to "unsigned int" rather than "int", and reuse the same softc members for chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean). - apply bug fix for revisions A and B, so that autonegotiation can complete (from OpenBSD).
Bug reported by Rivo Nurges via private mail, patch tested and confirmed working by him (with thanks!)
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
1.13 |
|
11-Dec-2010 |
martin |
branches: 1.13.2; Sanitize names a bit, still could use more namespace cleanup
|
#
1.12 |
|
11-Dec-2010 |
martin |
Namespace police: don't use very broad names like CTX_MASK (which accidently collide with sparc* specific MD macros), mechanically prefix with BNX_.
|
#
1.11 |
|
09-Dec-2010 |
jym |
Similar to bge(4), split if_bnxreg.h in two parts: - if_bnxreg.h: general register values, flags... for bnx(4), that can be included in other drivers - if_bnxvar.h: PCI or device specific code (device state data, debug macros etc.), which should remain private to bnx(4)
No comments, no objections on current-users@.
See discussion: http://mail-index.netbsd.org/current-users/2010/12/01/msg014926.html
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.10 |
|
19-Jan-2010 |
pooka |
branches: 1.10.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: matt-premerge-20091211
|
#
1.9 |
|
18-Nov-2009 |
bouyer |
Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: Add support for the Broadcom BCM5709 and BCM5716 chips. This upgrade the B06 firmware, and add the B09 firmware required by the BCM5709. Remplace TX dmamap array with a dynamically-grown list.
Tested with: bnx0 at pci4 dev 0 function 0: Broadcom NetXtreme II BCM5708 1000Base-T and bnx0 at pci0 dev 0 function 0: Broadcom NetXtreme II BCM5709 1000Base-SX
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
1.8 |
|
14-Apr-2009 |
dyoung |
Delete two unused data members, the powerhook and the shutdownhook handles.
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.7 |
|
24-Jun-2008 |
gmcgarry |
branches: 1.7.4; 1.7.6; 1.7.10; 1.7.14; Replace gcc variadic macros with c99 variadic macros.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.6 |
|
06-Feb-2008 |
joerg |
branches: 1.6.6; 1.6.10; 1.6.12; 1.6.14; Don't use misaligned PCI config access. Reported by Christoph Egger.
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.5 |
|
31-Dec-2007 |
dyoung |
Don't buffer packets while the link is down, but drop them on the floor like most other ethernet drivers do.
bnx(4) has "vanilla" MII media-handling, so use ether_mediachange and ether_mediastatus.
|
#
1.4 |
|
30-Dec-2007 |
dyoung |
For consistency with other softc members, s/ethercom/bnx_ec/.
|
Revision tags: vmlocking2-base3
|
#
1.3 |
|
26-Dec-2007 |
dyoung |
Add device suspend/resume/detach. (Tested with drvctl -S bnx0, drvctl -Q bnx0, drvctl -d bnx0.)
Separate device_t storage from softc storage and use CFATTACH_DECL_NEW().
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.2 |
|
09-Apr-2007 |
bouyer |
branches: 1.2.10; 1.2.16; 1.2.18; 1.2.22; 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
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base yamt-splraiseipl-base5 yamt-splraiseipl-base4
|
#
1.1 |
|
17-Dec-2006 |
bouyer |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.16; 1.1.18; Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device. Ported from OpenBSD by cube@, with some bus_dma fixes by me. Tested on i386 and amd64.
|
#
1.27 |
|
13-Feb-2021 |
jakllsch |
Curb aprint_*() abuse in bnx(4)
|
Revision tags: thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
#
1.26 |
|
24-May-2019 |
msaitoh |
Whilespace fix. No functional change.
|
Revision tags: isaki-audio2-base
|
#
1.25 |
|
05-Apr-2019 |
msaitoh |
Add BNX_PCICFG_DEVICE_CONTROL.
|
#
1.24 |
|
05-Apr-2019 |
msaitoh |
- Allow time for the management firmware to enter the running state. - Enable/Disable management frames (NC-SI) to flow to the MCP if MFW exists. - Print the boot code version, management firmware version and some flags. - Gbps -> GT/s for PCIe speed. - Use aprint_*() in bnx_print_adapter_info(). - Use braces for some macors' argument. - Remove unused macros. - KNF.
|
#
1.23 |
|
04-Apr-2019 |
msaitoh |
No functional change. This change reduces diff against DragonFly: - Fix BNX_PCI_GRC_WINDOW_ADDR_VALUE's name. Note that this macro is not used. - Whitespace change. - Sort some lines.
|
#
1.22 |
|
29-Mar-2019 |
msaitoh |
- Use m_defrag() when bus_dmamap_load_mbuf() returned with EFBIG. - Style change to reduce diff against {Free,Open}BSD. - Make it compilable with BNX_DEBUG. - Use __nothing for null macro.
|
#
1.21 |
|
28-Mar-2019 |
msaitoh |
No functional change: - Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used from anywhere. - Wse const. - Whitespace change.
|
#
1.20 |
|
05-Mar-2019 |
msaitoh |
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.19 |
|
03-Jun-2018 |
maxv |
branches: 1.19.2; Constify the microcode variables used by BNX. This moves 38 pages of kernel memory from .data to .rodata.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.18 |
|
01-Jul-2014 |
msaitoh |
branches: 1.18.26; Print some information (ASIC revision, PCI status, etc). From FreeBSD.
|
#
1.17 |
|
01-Jul-2014 |
msaitoh |
No functional change. - s/u_int/uint/ - Modify comment a bit (sync with OpenBSD)
|
#
1.16 |
|
24-Jun-2014 |
msaitoh |
No functional change: - Tabify. - Remove trailing white spaces. - Fix typo in comment.
|
#
1.15 |
|
17-Jun-2014 |
msaitoh |
- Fix detection of BGEPHYF_FIBER_{MII|TBI} - Add BCM5708S support in brgphy(4). The auto negotiation may have some bugs. - Add 2500SX support (not tested). - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.14 |
|
02-May-2011 |
jym |
branches: 1.14.10; 1.14.14; 1.14.28; Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already handled): - export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to "unsigned int" rather than "int", and reuse the same softc members for chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean). - apply bug fix for revisions A and B, so that autonegotiation can complete (from OpenBSD).
Bug reported by Rivo Nurges via private mail, patch tested and confirmed working by him (with thanks!)
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
1.13 |
|
11-Dec-2010 |
martin |
branches: 1.13.2; Sanitize names a bit, still could use more namespace cleanup
|
#
1.12 |
|
11-Dec-2010 |
martin |
Namespace police: don't use very broad names like CTX_MASK (which accidently collide with sparc* specific MD macros), mechanically prefix with BNX_.
|
#
1.11 |
|
09-Dec-2010 |
jym |
Similar to bge(4), split if_bnxreg.h in two parts: - if_bnxreg.h: general register values, flags... for bnx(4), that can be included in other drivers - if_bnxvar.h: PCI or device specific code (device state data, debug macros etc.), which should remain private to bnx(4)
No comments, no objections on current-users@.
See discussion: http://mail-index.netbsd.org/current-users/2010/12/01/msg014926.html
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.10 |
|
19-Jan-2010 |
pooka |
branches: 1.10.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: matt-premerge-20091211
|
#
1.9 |
|
18-Nov-2009 |
bouyer |
Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: Add support for the Broadcom BCM5709 and BCM5716 chips. This upgrade the B06 firmware, and add the B09 firmware required by the BCM5709. Remplace TX dmamap array with a dynamically-grown list.
Tested with: bnx0 at pci4 dev 0 function 0: Broadcom NetXtreme II BCM5708 1000Base-T and bnx0 at pci0 dev 0 function 0: Broadcom NetXtreme II BCM5709 1000Base-SX
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
1.8 |
|
14-Apr-2009 |
dyoung |
Delete two unused data members, the powerhook and the shutdownhook handles.
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.7 |
|
24-Jun-2008 |
gmcgarry |
branches: 1.7.4; 1.7.6; 1.7.10; 1.7.14; Replace gcc variadic macros with c99 variadic macros.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.6 |
|
06-Feb-2008 |
joerg |
branches: 1.6.6; 1.6.10; 1.6.12; 1.6.14; Don't use misaligned PCI config access. Reported by Christoph Egger.
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.5 |
|
31-Dec-2007 |
dyoung |
Don't buffer packets while the link is down, but drop them on the floor like most other ethernet drivers do.
bnx(4) has "vanilla" MII media-handling, so use ether_mediachange and ether_mediastatus.
|
#
1.4 |
|
30-Dec-2007 |
dyoung |
For consistency with other softc members, s/ethercom/bnx_ec/.
|
Revision tags: vmlocking2-base3
|
#
1.3 |
|
26-Dec-2007 |
dyoung |
Add device suspend/resume/detach. (Tested with drvctl -S bnx0, drvctl -Q bnx0, drvctl -d bnx0.)
Separate device_t storage from softc storage and use CFATTACH_DECL_NEW().
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.2 |
|
09-Apr-2007 |
bouyer |
branches: 1.2.10; 1.2.16; 1.2.18; 1.2.22; 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
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base yamt-splraiseipl-base5 yamt-splraiseipl-base4
|
#
1.1 |
|
17-Dec-2006 |
bouyer |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.16; 1.1.18; Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device. Ported from OpenBSD by cube@, with some bus_dma fixes by me. Tested on i386 and amd64.
|
#
1.26 |
|
24-May-2019 |
msaitoh |
Whilespace fix. No functional change.
|
Revision tags: isaki-audio2-base
|
#
1.25 |
|
05-Apr-2019 |
msaitoh |
Add BNX_PCICFG_DEVICE_CONTROL.
|
#
1.24 |
|
05-Apr-2019 |
msaitoh |
- Allow time for the management firmware to enter the running state. - Enable/Disable management frames (NC-SI) to flow to the MCP if MFW exists. - Print the boot code version, management firmware version and some flags. - Gbps -> GT/s for PCIe speed. - Use aprint_*() in bnx_print_adapter_info(). - Use braces for some macors' argument. - Remove unused macros. - KNF.
|
#
1.23 |
|
04-Apr-2019 |
msaitoh |
No functional change. This change reduces diff against DragonFly: - Fix BNX_PCI_GRC_WINDOW_ADDR_VALUE's name. Note that this macro is not used. - Whitespace change. - Sort some lines.
|
#
1.22 |
|
29-Mar-2019 |
msaitoh |
- Use m_defrag() when bus_dmamap_load_mbuf() returned with EFBIG. - Style change to reduce diff against {Free,Open}BSD. - Make it compilable with BNX_DEBUG. - Use __nothing for null macro.
|
#
1.21 |
|
28-Mar-2019 |
msaitoh |
No functional change: - Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used from anywhere. - Wse const. - Whitespace change.
|
#
1.20 |
|
05-Mar-2019 |
msaitoh |
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.19 |
|
03-Jun-2018 |
maxv |
Constify the microcode variables used by BNX. This moves 38 pages of kernel memory from .data to .rodata.
|
Revision tags: netbsd-8-1-RC1 netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.18 |
|
01-Jul-2014 |
msaitoh |
branches: 1.18.26; Print some information (ASIC revision, PCI status, etc). From FreeBSD.
|
#
1.17 |
|
01-Jul-2014 |
msaitoh |
No functional change. - s/u_int/uint/ - Modify comment a bit (sync with OpenBSD)
|
#
1.16 |
|
24-Jun-2014 |
msaitoh |
No functional change: - Tabify. - Remove trailing white spaces. - Fix typo in comment.
|
#
1.15 |
|
17-Jun-2014 |
msaitoh |
- Fix detection of BGEPHYF_FIBER_{MII|TBI} - Add BCM5708S support in brgphy(4). The auto negotiation may have some bugs. - Add 2500SX support (not tested). - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.14 |
|
02-May-2011 |
jym |
branches: 1.14.10; 1.14.14; 1.14.28; Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already handled): - export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to "unsigned int" rather than "int", and reuse the same softc members for chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean). - apply bug fix for revisions A and B, so that autonegotiation can complete (from OpenBSD).
Bug reported by Rivo Nurges via private mail, patch tested and confirmed working by him (with thanks!)
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
1.13 |
|
11-Dec-2010 |
martin |
branches: 1.13.2; Sanitize names a bit, still could use more namespace cleanup
|
#
1.12 |
|
11-Dec-2010 |
martin |
Namespace police: don't use very broad names like CTX_MASK (which accidently collide with sparc* specific MD macros), mechanically prefix with BNX_.
|
#
1.11 |
|
09-Dec-2010 |
jym |
Similar to bge(4), split if_bnxreg.h in two parts: - if_bnxreg.h: general register values, flags... for bnx(4), that can be included in other drivers - if_bnxvar.h: PCI or device specific code (device state data, debug macros etc.), which should remain private to bnx(4)
No comments, no objections on current-users@.
See discussion: http://mail-index.netbsd.org/current-users/2010/12/01/msg014926.html
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.10 |
|
19-Jan-2010 |
pooka |
branches: 1.10.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: matt-premerge-20091211
|
#
1.9 |
|
18-Nov-2009 |
bouyer |
Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: Add support for the Broadcom BCM5709 and BCM5716 chips. This upgrade the B06 firmware, and add the B09 firmware required by the BCM5709. Remplace TX dmamap array with a dynamically-grown list.
Tested with: bnx0 at pci4 dev 0 function 0: Broadcom NetXtreme II BCM5708 1000Base-T and bnx0 at pci0 dev 0 function 0: Broadcom NetXtreme II BCM5709 1000Base-SX
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
1.8 |
|
14-Apr-2009 |
dyoung |
Delete two unused data members, the powerhook and the shutdownhook handles.
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.7 |
|
24-Jun-2008 |
gmcgarry |
branches: 1.7.4; 1.7.6; 1.7.10; 1.7.14; Replace gcc variadic macros with c99 variadic macros.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.6 |
|
06-Feb-2008 |
joerg |
branches: 1.6.6; 1.6.10; 1.6.12; 1.6.14; Don't use misaligned PCI config access. Reported by Christoph Egger.
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.5 |
|
31-Dec-2007 |
dyoung |
Don't buffer packets while the link is down, but drop them on the floor like most other ethernet drivers do.
bnx(4) has "vanilla" MII media-handling, so use ether_mediachange and ether_mediastatus.
|
#
1.4 |
|
30-Dec-2007 |
dyoung |
For consistency with other softc members, s/ethercom/bnx_ec/.
|
Revision tags: vmlocking2-base3
|
#
1.3 |
|
26-Dec-2007 |
dyoung |
Add device suspend/resume/detach. (Tested with drvctl -S bnx0, drvctl -Q bnx0, drvctl -d bnx0.)
Separate device_t storage from softc storage and use CFATTACH_DECL_NEW().
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.2 |
|
09-Apr-2007 |
bouyer |
branches: 1.2.10; 1.2.16; 1.2.18; 1.2.22; 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
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base yamt-splraiseipl-base5 yamt-splraiseipl-base4
|
#
1.1 |
|
17-Dec-2006 |
bouyer |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.16; 1.1.18; Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device. Ported from OpenBSD by cube@, with some bus_dma fixes by me. Tested on i386 and amd64.
|
Revision tags: isaki-audio2-base
|
#
1.25 |
|
05-Apr-2019 |
msaitoh |
Add BNX_PCICFG_DEVICE_CONTROL.
|
#
1.24 |
|
05-Apr-2019 |
msaitoh |
- Allow time for the management firmware to enter the running state. - Enable/Disable management frames (NC-SI) to flow to the MCP if MFW exists. - Print the boot code version, management firmware version and some flags. - Gbps -> GT/s for PCIe speed. - Use aprint_*() in bnx_print_adapter_info(). - Use braces for some macors' argument. - Remove unused macros. - KNF.
|
#
1.23 |
|
04-Apr-2019 |
msaitoh |
No functional change. This change reduces diff against DragonFly: - Fix BNX_PCI_GRC_WINDOW_ADDR_VALUE's name. Note that this macro is not used. - Whitespace change. - Sort some lines.
|
#
1.22 |
|
29-Mar-2019 |
msaitoh |
- Use m_defrag() when bus_dmamap_load_mbuf() returned with EFBIG. - Style change to reduce diff against {Free,Open}BSD. - Make it compilable with BNX_DEBUG. - Use __nothing for null macro.
|
#
1.21 |
|
28-Mar-2019 |
msaitoh |
No functional change: - Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used from anywhere. - Wse const. - Whitespace change.
|
#
1.20 |
|
05-Mar-2019 |
msaitoh |
Centralize ETHER_ALIGN into net/if_ether.h. Note that this commit also changes if_upgt.c's ETHER_ALIGN from 0 to 2.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
|
#
1.19 |
|
03-Jun-2018 |
maxv |
Constify the microcode variables used by BNX. This moves 38 pages of kernel memory from .data to .rodata.
|
Revision tags: netbsd-7-2-RELEASE netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-earlyentropy-base tls-maxphys-base
|
#
1.18 |
|
01-Jul-2014 |
msaitoh |
branches: 1.18.26; Print some information (ASIC revision, PCI status, etc). From FreeBSD.
|
#
1.17 |
|
01-Jul-2014 |
msaitoh |
No functional change. - s/u_int/uint/ - Modify comment a bit (sync with OpenBSD)
|
#
1.16 |
|
24-Jun-2014 |
msaitoh |
No functional change: - Tabify. - Remove trailing white spaces. - Fix typo in comment.
|
#
1.15 |
|
17-Jun-2014 |
msaitoh |
- Fix detection of BGEPHYF_FIBER_{MII|TBI} - Add BCM5708S support in brgphy(4). The auto negotiation may have some bugs. - Add 2500SX support (not tested). - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.14 |
|
02-May-2011 |
jym |
branches: 1.14.10; 1.14.14; 1.14.28; Fix BCM5709 PHY detection for ethernet PHYs (the SerDes case being already handled): - export bge(4) and bnx(4) CHIP ID and PHY flags to brgphy(4). Move to "unsigned int" rather than "int", and reuse the same softc members for chipid and phyflags (behavior controlled by the sc_isbge/isbnx boolean). - apply bug fix for revisions A and B, so that autonegotiation can complete (from OpenBSD).
Bug reported by Rivo Nurges via private mail, patch tested and confirmed working by him (with thanks!)
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231
|
#
1.13 |
|
11-Dec-2010 |
martin |
branches: 1.13.2; Sanitize names a bit, still could use more namespace cleanup
|
#
1.12 |
|
11-Dec-2010 |
martin |
Namespace police: don't use very broad names like CTX_MASK (which accidently collide with sparc* specific MD macros), mechanically prefix with BNX_.
|
#
1.11 |
|
09-Dec-2010 |
jym |
Similar to bge(4), split if_bnxreg.h in two parts: - if_bnxreg.h: general register values, flags... for bnx(4), that can be included in other drivers - if_bnxvar.h: PCI or device specific code (device state data, debug macros etc.), which should remain private to bnx(4)
No comments, no objections on current-users@.
See discussion: http://mail-index.netbsd.org/current-users/2010/12/01/msg014926.html
|
Revision tags: uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.10 |
|
19-Jan-2010 |
pooka |
branches: 1.10.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: matt-premerge-20091211
|
#
1.9 |
|
18-Nov-2009 |
bouyer |
Sync with OpenBSD: if_bnx.c,v 1.85. Major changes: Add support for the Broadcom BCM5709 and BCM5716 chips. This upgrade the B06 firmware, and add the B09 firmware required by the BCM5709. Remplace TX dmamap array with a dynamically-grown list.
Tested with: bnx0 at pci4 dev 0 function 0: Broadcom NetXtreme II BCM5708 1000Base-T and bnx0 at pci0 dev 0 function 0: Broadcom NetXtreme II BCM5709 1000Base-SX
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 jym-xensuspend-base nick-hppapmap-base
|
#
1.8 |
|
14-Apr-2009 |
dyoung |
Delete two unused data members, the powerhook and the shutdownhook handles.
|
Revision tags: netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base simonb-wapbl-nbase simonb-wapbl-base mjf-devfs2-base
|
#
1.7 |
|
24-Jun-2008 |
gmcgarry |
branches: 1.7.4; 1.7.6; 1.7.10; 1.7.14; Replace gcc variadic macros with c99 variadic macros.
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
|
#
1.6 |
|
06-Feb-2008 |
joerg |
branches: 1.6.6; 1.6.10; 1.6.12; 1.6.14; Don't use misaligned PCI config access. Reported by Christoph Egger.
|
Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.5 |
|
31-Dec-2007 |
dyoung |
Don't buffer packets while the link is down, but drop them on the floor like most other ethernet drivers do.
bnx(4) has "vanilla" MII media-handling, so use ether_mediachange and ether_mediastatus.
|
#
1.4 |
|
30-Dec-2007 |
dyoung |
For consistency with other softc members, s/ethercom/bnx_ec/.
|
Revision tags: vmlocking2-base3
|
#
1.3 |
|
26-Dec-2007 |
dyoung |
Add device suspend/resume/detach. (Tested with drvctl -S bnx0, drvctl -Q bnx0, drvctl -d bnx0.)
Separate device_t storage from softc storage and use CFATTACH_DECL_NEW().
|
Revision tags: nick-csl-alignment-base5 matt-armv6-prevmlocking yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-mips64-base jmcneill-pm-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.2 |
|
09-Apr-2007 |
bouyer |
branches: 1.2.10; 1.2.16; 1.2.18; 1.2.22; 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
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base yamt-splraiseipl-base5 yamt-splraiseipl-base4
|
#
1.1 |
|
17-Dec-2006 |
bouyer |
branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.10; 1.1.12; 1.1.16; 1.1.18; Add bnx(4), a driver for Broadcom NetXtreme II 10/100/1000 Ethernet device. Ported from OpenBSD by cube@, with some bus_dma fixes by me. Tested on i386 and amd64.
|