The NetBSD Project

CVS log for src/sys/dev/pci/if_bnxreg.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / pci

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.30 / (download) - annotate - [select for diffs], Fri Feb 9 22:08:35 2024 UTC (2 months ago) by andvar
Branch: MAIN
CVS Tags: HEAD
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

fix spelling mistakes, mainly in comments and log messages.

Revision 1.29 / (download) - annotate - [select for diffs], Mon Feb 5 22:08:05 2024 UTC (2 months, 1 week ago) by andvar
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

triple "r" typos, mainly s/interrrupt/interrupt/ in comments and one definition.

Revision 1.28 / (download) - annotate - [select for diffs], Sun Dec 12 13:05:14 2021 UTC (2 years, 4 months ago) by andvar
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

fix various typos, mainly in comments.

Revision 1.26.10.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:46 2021 UTC (3 years ago) by thorpej
Branch: thorpej-futex
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored) next main 1.27 (colored)

Sync with HEAD.

Revision 1.27 / (download) - annotate - [select for diffs], Sat Feb 13 16:33:30 2021 UTC (3 years, 2 months ago) by jakllsch
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored)

Curb aprint_*() abuse in bnx(4)

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:16 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.19: +2922 -2898 lines
Diff to previous 1.19 (colored) next main 1.20 (colored)

Sync with HEAD

Revision 1.26 / (download) - annotate - [select for diffs], Fri May 24 06:26:39 2019 UTC (4 years, 10 months ago) by msaitoh
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Branch point for: thorpej-futex
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

 Whilespace fix. No functional change.

Revision 1.25 / (download) - annotate - [select for diffs], Fri Apr 5 07:29:24 2019 UTC (5 years ago) by msaitoh
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.24: +4 -1 lines
Diff to previous 1.24 (colored)

 Add BNX_PCICFG_DEVICE_CONTROL.

Revision 1.24 / (download) - annotate - [select for diffs], Fri Apr 5 07:15:26 2019 UTC (5 years ago) by msaitoh
Branch: MAIN
Changes since 1.23: +57 -36 lines
Diff to previous 1.23 (colored)

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

Revision 1.23 / (download) - annotate - [select for diffs], Thu Apr 4 12:38:27 2019 UTC (5 years ago) by msaitoh
Branch: MAIN
Changes since 1.22: +2860 -2865 lines
Diff to previous 1.22 (colored)

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.

Revision 1.22 / (download) - annotate - [select for diffs], Fri Mar 29 08:54:35 2019 UTC (5 years ago) by msaitoh
Branch: MAIN
Changes since 1.21: +21 -13 lines
Diff to previous 1.21 (colored)

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

Revision 1.21 / (download) - annotate - [select for diffs], Thu Mar 28 08:56:55 2019 UTC (5 years ago) by msaitoh
Branch: MAIN
Changes since 1.20: +4 -5 lines
Diff to previous 1.20 (colored)

No functional change:
- Fix DB_AND_RANDOMFALSE(). It has no real bug because the macro is not used
  from anywhere.
- Wse const.
- Whitespace change.

Revision 1.20 / (download) - annotate - [select for diffs], Tue Mar 5 08:25:02 2019 UTC (5 years, 1 month ago) by msaitoh
Branch: MAIN
Changes since 1.19: +1 -3 lines
Diff to previous 1.19 (colored)

 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 1.18.26.1 / (download) - annotate - [select for diffs], Mon Jun 25 07:25:51 2018 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Sync with HEAD

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jun 3 10:01:22 2018 UTC (5 years, 10 months ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, jdolecek-ncqfixes-base, jdolecek-ncqfixes
Branch point for: phil-wifi
Changes since 1.18: +6 -6 lines
Diff to previous 1.18 (colored)

Constify the microcode variables used by BNX. This moves 38 pages of kernel
memory from .data to .rodata.

Revision 1.7.6.2 / (download) - annotate - [select for diffs], Mon Nov 9 12:33:02 2015 UTC (8 years, 5 months ago) by sborrill
Branch: netbsd-5
Changes since 1.7.6.1: +83 -492 lines
Diff to previous 1.7.6.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

Pull up the following revisions(s) (requested by msaitoh in ticket #1983):
	sys/dev/pci/pcidevs:		revisions 1.1079, 1.1134, 1.1148-1.1149, 1.1151
	sys/dev/pci/pcidevs.h:		regen
	sys/dev/pci/pcidevs_data.h:	regen
	sys/dev/pci/if_bge.c:		revisions 1.183-1.185, 1.187, 1.189-1.193, 1.195-1.199, 1.202-1.226, 1.228-1.237, 1.240-1.264, 1.267-1.276, 1.278-1.280, 1.283-1.287 via patch
	sys/dev/pci/if_bgereg.h:	revisions 1.57-1.74, 1.76-1.90 via patch
	sys/dev/pci/if_bgevar.h:	revisions 1.6, 1.10-1.13, 1.15-1.17 via patch
	sys/dev/pci/if_bnx.c:		revisions 1.32, 1.34-1.43, 1.48-1.49, 1.52
	sys/dev/pci/if_bnxreg.h:	revisions 1.8, 1.11-1.14
	sys/dev/pci/if_bnxvar.h:	revisions 1.1-1.3
	sys/dev/mii/brgphy.c:		revisions 1.53-1.63, 1.65-69, 1.72-1.74 via patch
	sys/dev/mii/brgphyreg.h:	revisions 1.5-1.8
	sys/dev/mii/miivar.h:		revisions 1.61
	sys/dev/pci/pcireg.h:		patch

Sync bge(4) up to if_bge.c rev. 1.287. Sync brgphy(4) up to 1.74.
Fix some bugs on bnx(4).

Common:
- Add device IDs for Broadcom BCM57710, BCM57711(E), BCM57712(E) and
  BCM57766 (pcidevs only).
- Fix BCM5709 PHY detection.
- Fix detection of BGEPHYF_FIBER_{MII|TBI}
- Add BCM5708S support in brgphy(4).
- Don't use the WIRESPEED function for fiber devices.
bge(4):
- Add some Fujitsu's device support from Michael Moll.
- Add BCM57762 support (PR#46961 from Ryo Onodera).
- Add Altima AC1003, APPLE BCM5701, Broadcom BCM5785F. BCM5785G,
  BCM5787F, BCM5719, BCM5720, BCM57766, BCM57782 and BCM57786.
- Fix DMA setting for read/write on conventional PCI bus devices.
  This bug was added in rev. 1.166.
- Fix printing "discarding oversize frame (len=-4)" message and
  crash by NULL pointer dereferencing.
- The BCM5785 is a PCIe chip but does not report PCIe capabilities.
  Check for this chip explicitely and enable PCIe. Fixes
  'firmware handshake timeout'.
- Allow disabling interrupt mitigation.
- Workaround for BCM5906 silicon bug. When auto-negotiation results
  in half-duplex operation, excess collision on the ethernet link may
  cause internal chip delays that may result in subsequent valid
  frames being dropped due to insufficient receive buffer resources.
  (FreeBSD: r214219, r214251, r214292).
- Allow write DMA to request larger DMA burst size to get better
  performance on BCM5785. (FreeBSD r213333: OpenBSD 1.294)
- Enable TX MAC state machine lockup fix for both BCM5755 or higher
  and BCM5906. Publicly available data sheet just says it may happen
  due to corrupted TxMbuf. (FreeBSD r214216)
- Follow Broadcom datasheet:
  Delay 100 microseconds after enabling transmit MAC.
  Delay 10 microseconds after enabling receive MAC. (FreeBSD
  r241220)
- Insert the completion barrier between register write and the
  consecutive delay(). It will fix some device timeout problems we have
  seen before.
- Add DELAY(40) after turning on write DMA state machine.
- Add some workarounds for 5717 A0 and 5776[56] to be stable.
- Check BGE_RXBDFLAG_IPV6 flag for 5717_PLUS case. Note that
  {tcp,udp}6csum flag is currently not added in the capability.
- Add delay after clearing BGE_MACMODE_TBI_SEND_CFGS for the link
  checking.
- Do not touch the jumbo replenish threshold register on chips that do
  not have jumbo support.
- Wait for the bootcode to complete initialization for 5717 and newer
  devices.
- 5718 and 57785 document say we should wait 100us in init.
- Fix a bug that chips which have BCM5906 ASIC touch GPIO wrongly.
- Fix the setting of Tx Random Backoff Register.
- Check the hardware config words and print them.
- Set BGE_MISC_CTL's byte/word swap options before using
  bge_readmem_ind(). Fixes PR#47716.
- For BGE_IS_575X_PLUS() devices, don't set
  BGE_RXLPSTATCONTROL_DACK_FIX bits because these bits are reserved.
- Document says 5717 and newer chips have no
  BGE_PCISTATE_INTR_NOT_ACTIVE bit, so don't use the bit on those
  chips. Same as OpenBSD.
- Fix a bug that the PHY address bits in MI_MODE register is wrongly
  cleard. Set the PHY address correctly.
- Use BGE_SETBIT() instead of CSR_WRITE_4() for the BGE_MISC_LOCAL_CTL
  register to not to modify some GPIO bits.
- Set DMA watermark depend on the PCI max payload size.
- Set BGE_JUMBO_CAPABLE correctly.
- Fix a link detect bug on non-autopoll systems.
- Change the TX ring size for 5717 series and 57764 series.
- Set maximum read byte count to 2048 for PCI-X BCM5703/5704 devices.
- For PCI-X BCM5704, set maximum outstanding split transactions to 0.
- Add 40bit DMA bug workaround(BGEF_40BIT_BUG) from FreeBSD.
  This workaround is for 5714/5715 controllers and is not actually a
  MAC controller bug but an issue with the embedded PCIe to PCI-X
  bridge in the device. This change uses bus_dmatag_subregion(),
  so this workaround won't work on some archs which doesn't support
  bus_dmatag_subregion().
- Add 2500SX support (not tested).
- Don't use the PHY Auto Poll Mode on many chips. This fixes a bug
  that MII Fiber NIC drop packet about 50%. Tested on HP Moonshot.
- Add workaround for PR#48451. Some BCM5717-5720 based systems getNMI
  on boot. This problem doesn't occur when we don't use prefetchable
  memory in the APE area. Tested with HP MicroServer Gen8.
- In the BCM5703, the DMA read watermark should be set to less than
  or equal to the maximum memory read byte count of the PCI-X command
  register.
- Fix a bug that BGE_PHY_TEST_CTRL_REG isn't set correctly on some
  PCIe devices.
- Use another firmware command in bge_asf_driver_up(). Same as Linux.
  This change fixes a bug that watchdog timeout occurs every 25-30
  minutes on HP ML110 G6 reported enami@ in PR#49657.
- Fix mbuf leak on failure.
- Remove PCI_PRODUCT_BROADCOM_BCM5724 and
  PCI_PRODUCT_BROADCOM_BCM5750M. These devices have not released to
  public.
- Add some workaround code for BGE_ASICREV_BCM5784 from Linux.
- Change some printf() to aprint_*().
- Fix typo in comments.
- Cleanup.
brgphy(4):
- Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
- Add BCM5481, BCM5709S, BCM5756, BCM5717C, BCM5720C, BCM5785,
  BCM57765(PR#46961), BCM57780
- In brgphyattach(), set sc_isbge, sc_isbnx and sc_phyflags before
  PHY_RESET() because brgphy_reset() refers those flags.
- Call brgpy specific autonego function in MII_TICK. Before this
  commit, only MII_MEDIACHG calls brgphy_mii_phy_auto() and MII_TICK
  calls MI mii_phy_auto(). That was not intended.
- Remove extra delay in brgphy_mii_phy_auto. Same as {Free,Open}BSD.
bnx(4):
- Add missing ifmedia_delete_instance() in bnx_detach().
- Fix a bug that BNX_NO_WOL_FLAG isn't correctly set on some chips.
  Reported by From Henning Petersen in PR#44151.
- Fix SERDES initialization.
- Get out of the interrupt handler early if !IFF_RUNNING.

Revision 1.14.10.1 / (download) - annotate - [select for diffs], Sun Dec 7 16:39:55 2014 UTC (9 years, 4 months ago) by martin
Branch: netbsd-6
Changes since 1.14: +223 -227 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Pull up the following, requested by msaitoh in #1207:

sys/dev/mii/brgphy.c				1.69, 1.71-1.76 via patch
sys/dev/mii/brgphyreg.h				1.6-1.7, 1.9
sys/dev/pci/if_bge.c				1.259,1.267-1.276 via patch
sys/dev/pci/if_bgereg.h				1.87-1.88
sys/dev/pci/if_bnx.c				1.48, 1.49, 1.52-1.57 via patch
sys/dev/pci/if_bnxreg.h				1.15-1.18
sys/dev/pci/if_bnxvar.h				1.4-1.6

	Changes for bge(4), bnx(4) and brgphy(4):
	- Add device IDs for Broadcom BCM57710, BCM57711(E), BCM57712(E) and
	  BCM5719 into pcidevs.
	- Change BCM5720's device ID from 0x1658 to 0x165f. 0x1658 is only for
	  the pre-product and not released to public.
	- Fix detection of BGEPHYF_FIBER_{MII|TBI}
	- Fix typo in comment.
	- KNF
	- brgphy(4):
	  - Add BCM5708S support.
	  - Add 2500SX support.
	  - Fix bit definition of BRGPHY_MRBE_MSG_PG5_NP_T2 from FreeBSD.
	  - Remove extra delay in brgphy_mii_phy_auto. Same as {Free,Open}BSD.
	  - Fix media detect on some Fiber chips.
	  - Add BCM5706.
	- bge(4):
	  - Print yet another hardware config word in SRAM(BGE_SRAM_DATA_CFG_5)
	    for BCM5717 and newer devices.
	  - Fix a trivial bug in #ifdef NOTYET.
	  - Add BGEPHYF_NO_WIRESPEED flag for fiber devices.
	  - Print APE firmware correctly.
	  - Don't use the PHY Auto Poll Mode on many chips. This fixes a bug
	    that MII Fiber NIC drop packets about 50%. Same as {Free,Open}BSD.
	    Tested on HP Moonshot.
	  - Add workaround for PR#48451. Some BCM5717-5720 based systems get
	    NMI on boot. This problem doesn't occur when we don't use
	    prefetchable memory in the APE area. I don't know the reason...
	    Tested with HP MicroServer Gen8.
	  - Fix a bug that bge can't be initialized correctly on some sparc64
	    systems (PR#49018).
	  - Change initializaton order as the same as the document, Linux tg3
	    and FreeBSD (part of r241436).
	  - In the BCM5703, the DMA read watermark should be set to less than
	    or equal to the maximum memory read byte count of the PCI-X command
	    register. Same as FreeBSD r204978 and Linux tg3 driver.
	- bnx(4):
	  - Enclose #ifdef BNX_DEBUG correctly.
	  - Add 2500SX support.
	  - Print some information (ASCI revision, PCI status, etc).
	    From FreeBSD.

Revision 1.14.14.1 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:42 2014 UTC (9 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.14: +223 -227 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.14.28.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:54 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.14: +223 -227 lines
Diff to previous 1.14 (colored) next main 1.15 (colored)

Rebase.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jul 1 17:11:35 2014 UTC (9 years, 9 months ago) by msaitoh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, tls-maxphys-base, tls-earlyentropy-base, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: pgoyette-compat
Changes since 1.17: +4 -9 lines
Diff to previous 1.17 (colored)

Print some information (ASIC revision, PCI status, etc). From FreeBSD.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jul 1 15:23:35 2014 UTC (9 years, 9 months ago) by msaitoh
Branch: MAIN
Changes since 1.16: +206 -206 lines
Diff to previous 1.16 (colored)

No functional change.
- s/u_int/uint/
- Modify comment a bit (sync with OpenBSD)

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jun 24 23:25:33 2014 UTC (9 years, 9 months ago) by msaitoh
Branch: MAIN
Changes since 1.15: +13 -13 lines
Diff to previous 1.15 (colored)

No functional change:
- Tabify.
- Remove trailing white spaces.
- Fix typo in comment.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jun 17 21:37:20 2014 UTC (9 years, 10 months ago) by msaitoh
Branch: MAIN
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored)

- 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 1.13.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:08:12 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.13: +5 -3 lines
Diff to previous 1.13 (colored) next main 1.14 (colored)

Sync with HEAD.

Revision 1.10.4.2 / (download) - annotate - [select for diffs], Tue May 31 03:04:39 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.10.4.1: +4 -2 lines
Diff to previous 1.10.4.1 (colored) to branchpoint 1.10 (colored) next main 1.11 (colored)

sync with head

Revision 1.14 / (download) - annotate - [select for diffs], Mon May 2 09:03:10 2011 UTC (12 years, 11 months ago) by jym
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, khorben-n900, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, agc-symver-base, agc-symver
Branch point for: tls-maxphys, tls-earlyentropy, netbsd-6
Changes since 1.13: +5 -3 lines
Diff to previous 1.13 (colored)

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 1.10.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:53:39 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.10: +77 -479 lines
Diff to previous 1.10 (colored)

sync with head

Revision 1.13 / (download) - annotate - [select for diffs], Sat Dec 11 14:28:38 2010 UTC (13 years, 4 months ago) by martin
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.12: +10 -10 lines
Diff to previous 1.12 (colored)

Sanitize names a bit, still could use more namespace cleanup

Revision 1.12 / (download) - annotate - [select for diffs], Sat Dec 11 12:14:06 2010 UTC (13 years, 4 months ago) by martin
Branch: MAIN
Changes since 1.11: +21 -21 lines
Diff to previous 1.11 (colored)

Namespace police: don't use very broad names like CTX_MASK (which accidently
collide with sparc* specific MD macros), mechanically prefix with BNX_.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Dec 9 22:34:37 2010 UTC (13 years, 4 months ago) by jym
Branch: MAIN
Changes since 1.10: +55 -457 lines
Diff to previous 1.10 (colored)

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 1.7.14.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:27:41 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.7: +453 -141 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

sync to netbsd-5

Revision 1.6.10.2 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:45 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6.10.1: +446 -142 lines
Diff to previous 1.6.10.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

sync with head

Revision 1.7.6.1 / (download) - annotate - [select for diffs], Wed Jan 27 22:03:18 2010 UTC (14 years, 2 months ago) by sborrill
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.7: +453 -141 lines
Diff to previous 1.7 (colored)

Pull up the following revisions(s) (requested by bouyer in ticket #1268):
	sys/dev/mii/miidevs:	revision 1.90
	sys/dev/pci/pcidevs:	revision 1.1001
	sys/dev/mii/brgphy.c:	revision 1.51
	sys/dev/microcode/bnx/bnxfw.h:	revision 1.3
	sys/dev/pci/if_bnx.c:	revision 1.29
	sys/dev/pci/if_bnxreg.h:	revision 1.9
	sys/dev/pci/if_bnx.c:	revision 1.30

Add support for the Broadcom BCM5709 and BCM5716 chips. Upgrade
the B06 firmware and add the B09 firmware required by the BCM5709.
Replace TX dmamap array with a dynamically-grown list.
Support associated BCM5709CAX and BCM5709C PHYs.

Revision 1.10 / (download) - annotate - [select for diffs], Tue Jan 19 22:07:00 2010 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, uebayasi-xip
Branch point for: rmind-uvmplock
Changes since 1.9: +1 -4 lines
Diff to previous 1.9 (colored)

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 1.9 / (download) - annotate - [select for diffs], Wed Nov 18 23:11:16 2009 UTC (14 years, 5 months ago) by bouyer
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.8: +446 -139 lines
Diff to previous 1.8 (colored)

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 1.7.10.1 / (download) - annotate - [select for diffs], Wed May 13 17:20:25 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.6.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:12:56 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.6: +7 -9 lines
Diff to previous 1.6 (colored)

sync with head.

Revision 1.7.4.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:35:56 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored) next main 1.8 (colored)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Apr 14 20:17:15 2009 UTC (15 years ago) by dyoung
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.7: +1 -3 lines
Diff to previous 1.7 (colored)

Delete two unused data members, the powerhook and the shutdownhook
handles.

Revision 1.6.12.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:35:06 2008 UTC (15 years, 7 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.6: +7 -7 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.6.6.1 / (download) - annotate - [select for diffs], Sun Jun 29 09:33:09 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.6: +7 -7 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Revision 1.6.14.1 / (download) - annotate - [select for diffs], Fri Jun 27 15:11:22 2008 UTC (15 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.6: +7 -7 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with head.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Jun 24 10:17:45 2008 UTC (15 years, 9 months ago) by gmcgarry
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, simonb-wapbl-nbase, simonb-wapbl-base, nick-hppapmap-base2, netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, mjf-devfs2-base, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, matt-nb5-mips64, jym-xensuspend
Changes since 1.6: +7 -7 lines
Diff to previous 1.6 (colored)

Replace gcc variadic macros with c99 variadic macros.

Revision 1.2.10.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:46 2008 UTC (16 years ago) by matt
Branch: matt-armv6
Changes since 1.2.10.1: +2 -2 lines
Diff to previous 1.2.10.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with HEAD

Revision 1.2.16.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:57 2008 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.2: +6 -8 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

Revision 1.1.8.5 / (download) - annotate - [select for diffs], Mon Feb 11 14:59:38 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.8.4: +2 -2 lines
Diff to previous 1.1.8.4 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head.

Revision 1.6 / (download) - annotate - [select for diffs], Wed Feb 6 16:50:38 2008 UTC (16 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, wrstuden-revivesa-base-1, wrstuden-revivesa-base, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-nfs-mp, wrstuden-revivesa, simonb-wapbl, mjf-devfs2
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Don't use misaligned PCI config access. Reported by Christoph Egger.

Revision 1.1.8.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:43:53 2008 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.8.3: +5 -7 lines
Diff to previous 1.1.8.3 (colored) to branchpoint 1.1 (colored)

sync with head

Revision 1.2.10.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:53:44 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.2: +5 -7 lines
Diff to previous 1.2 (colored)

sync with HEAD

Revision 1.2.22.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:54:41 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.2: +5 -7 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with HEAD

Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 31 22:52:14 2007 UTC (16 years, 3 months ago) by dyoung
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.4: +1 -2 lines
Diff to previous 1.4 (colored)

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.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Dec 30 00:56:45 2007 UTC (16 years, 3 months ago) by dyoung
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

For consistency with other softc members, s/ethercom/bnx_ec/.

Revision 1.2.18.1 / (download) - annotate - [select for diffs], Wed Dec 26 19:46:50 2007 UTC (16 years, 3 months ago) by ad
Branch: vmlocking2
Changes since 1.2: +4 -5 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with head.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Dec 26 04:06:29 2007 UTC (16 years, 3 months ago) by dyoung
Branch: MAIN
CVS Tags: vmlocking2-base3
Changes since 1.2: +4 -5 lines
Diff to previous 1.2 (colored)

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 1.1.8.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:36:54 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.8.2: +4 -20 lines
Diff to previous 1.1.8.2 (colored) to branchpoint 1.1 (colored)

sync with head.

Revision 1.1.18.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:07:34 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.1: +4 -20 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with head.

Revision 1.1.6.3 / (download) - annotate - [select for diffs], Wed Apr 25 09:09:36 2007 UTC (16 years, 11 months ago) by ghen
Branch: netbsd-3
Changes since 1.1.6.2: +4 -20 lines
Diff to previous 1.1.6.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1762):
	sys/dev/pci/if_bnx.c: revision 1.4
	sys/dev/pci/if_bnx.c: revision 1.5
	sys/dev/pci/if_bnx.c: revision 1.6
	sys/dev/pci/if_bnxreg.h: revision 1.2
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
RX buffers are malloced memory of 9216 bytes. This can require from 1 to
4 DMA memory segments, depending on how the buffer is in memory.
When receiving a packet, we allocate a new one to remplace the one we've
used. It can need more segments than the one it remplace, leading to
corrution of the RX descriptors, and a panic in bus_dmamap_sync() (DIAGNOSTIC
kernels) or possibly memory corruption.
Fix:
- bnx_get_buf() allocates as many buffer as possible, checking the number
  of free RX descriptors. Because one receive buffer is not guaranteed to
  be remplaced on receive, call bnx_get_buf() from bnx_tick() too.
  This also improve error handling from bnx_get_buf().
- use MCLGET() instead of MEXTMALLOC() if we're running with the standard
  ethernet MTU. This gives us more receive buffers and waste less memory.
Fix build on 32bit ports; should fix GENERIC_DIAGNOSTIC build problem reported
by Hisashi T Fujinaka on current-users.

Revision 1.1.4.3 / (download) - annotate - [select for diffs], Fri Apr 20 21:56:00 2007 UTC (17 years ago) by pavel
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.1.4.2: +4 -20 lines
Diff to previous 1.1.4.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Pull up following revision(s) (requested by bouyer in ticket #566):
	sys/dev/pci/if_bnx.c: revision 1.4
	sys/dev/pci/if_bnx.c: revision 1.5
	sys/dev/pci/if_bnx.c: revision 1.6
	sys/dev/pci/if_bnxreg.h: revision 1.2
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

RX buffers are malloced memory of 9216 bytes. This can require from 1 to
4 DMA memory segments, depending on how the buffer is in memory.
When receiving a packet, we allocate a new one to remplace the one we've
used. It can need more segments than the one it remplace, leading to
corrution of the RX descriptors, and a panic in bus_dmamap_sync() (DIAGNOSTIC
kernels) or possibly memory corruption.
Fix:
- bnx_get_buf() allocates as many buffer as possible, checking the number
  of free RX descriptors. Because one receive buffer is not guaranteed to
  be remplaced on receive, call bnx_get_buf() from bnx_tick() too.
  This also improve error handling from bnx_get_buf().
- use MCLGET() instead of MEXTMALLOC() if we're running with the standard
  ethernet MTU. This gives us more receive buffers and waste less memory.

Fix build on 32bit ports; should fix GENERIC_DIAGNOSTIC build problem reported
by Hisashi T Fujinaka on current-users.

Revision 1.1.12.1 / (download) - annotate - [select for diffs], Sun Apr 15 16:03:25 2007 UTC (17 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.1: +3 -19 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

sync with head.

Revision 1.1.16.1 / (download) - annotate - [select for diffs], Tue Apr 10 13:24:25 2007 UTC (17 years ago) by ad
Branch: vmlocking
Changes since 1.1: +4 -20 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

Sync with head.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Apr 9 14:23:16 2007 UTC (17 years ago) by bouyer
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, yamt-idlelwp-base8, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, vmlocking-base, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs, matt-armv6, bouyer-xeni386
Changes since 1.1: +4 -20 lines
Diff to previous 1.1 (colored)

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 1.1.10.2 / (download) - annotate - [select for diffs], Fri Jan 12 00:57:41 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.10.1: +4848 -0 lines
Diff to previous 1.1.10.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Sync with head.

Revision 1.1.8.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:48:44 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.8.1: +4848 -0 lines
Diff to previous 1.1.8.1 (colored) to branchpoint 1.1 (colored)

sync with head.

Revision 1.1.6.2 / (download) - annotate - [select for diffs], Sat Dec 23 14:43:47 2006 UTC (17 years, 3 months ago) by ghen
Branch: netbsd-3
Changes since 1.1.6.1: +4848 -0 lines
Diff to previous 1.1.6.1 (colored) to branchpoint 1.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1608):
	sys/arch/i386/conf/INSTALL: revision 1.299 via patch
	sys/arch/i386/conf/XEN2_DOM0: revision 1.20 via patch
	sys/arch/i386/conf/GENERIC: revision 1.803 via patch
	sys/dev/pci/files.pci: revision 1.275 via patch
	sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.218 via patch
	sys/arch/amd64/conf/GENERIC: revision 1.123 via patch
	sys/dev/pci/if_bnx.c: revision 1.1 via patch
	share/man/man4/bnx.4: revision 1.1-1.2 via patch
	distrib/sets/lists/man/mi: revision 1.959 via patch
	sys/arch/amd64/conf/INSTALL: revision 1.62 via patch
	sys/dev/microcode/bnx/bnxfw.h: revision 1.1-1.2 via patch
	sys/dev/pci/if_bnxreg.h: revision 1.1 via patch
	share/man/man4/Makefile: revision 1.417 via patch
	sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.112 via patch
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.
Add a NetBSD RCS tag.
Nx -> Ox; remove trailing whitespace.

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Thu Dec 21 13:44:01 2006 UTC (17 years, 3 months ago) by tron
Branch: netbsd-4
Changes since 1.1.4.1: +4848 -0 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored)

Pull up following revision(s) (requested by bouyer in ticket #287):
	sys/arch/i386/conf/INSTALL: revision 1.299
	sys/arch/i386/conf/XEN2_DOM0: revision 1.20
	sys/arch/i386/conf/GENERIC: revision 1.803
	sys/dev/pci/files.pci: revision 1.275
	sys/arch/i386/conf/GENERIC_LAPTOP: revision 1.218
	sys/arch/amd64/conf/GENERIC: revision 1.123
	sys/dev/pci/if_bnx.c: revision 1.1
	share/man/man4/bnx.4: revision 1.1
	distrib/sets/lists/man/mi: revision 1.959
	sys/arch/amd64/conf/INSTALL: revision 1.62
	sys/dev/microcode/bnx/bnxfw.h: revision 1.1
	sys/arch/i386/conf/ALL: revision 1.76
	sys/dev/pci/if_bnxreg.h: revision 1.1
	share/man/man4/Makefile: revision 1.417
	sys/arch/i386/conf/INSTALL_LAPTOP: revision 1.112
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 1.1.2.2 / (download) - annotate - [select for diffs], Mon Dec 18 11:42:13 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.1.2.1: +4848 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head.

Revision 1.1.10.1, Sun Dec 17 23:02:06 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.1: +0 -4848 lines
FILE REMOVED

file if_bnxreg.h was added on branch newlock2 on 2007-01-12 00:57:41 +0000

Revision 1.1.8.1, Sun Dec 17 23:02:06 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1: +0 -4848 lines
FILE REMOVED

file if_bnxreg.h was added on branch yamt-lazymbuf on 2006-12-30 20:48:44 +0000

Revision 1.1.6.1, Sun Dec 17 23:02:06 2006 UTC (17 years, 4 months ago) by ghen
Branch: netbsd-3
Changes since 1.1: +0 -4848 lines
FILE REMOVED

file if_bnxreg.h was added on branch netbsd-3 on 2006-12-23 14:43:47 +0000

Revision 1.1.4.1, Sun Dec 17 23:02:06 2006 UTC (17 years, 4 months ago) by tron
Branch: netbsd-4
Changes since 1.1: +0 -4848 lines
FILE REMOVED

file if_bnxreg.h was added on branch netbsd-4 on 2006-12-21 13:44:01 +0000

Revision 1.1.2.1, Sun Dec 17 23:02:06 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.1: +0 -4848 lines
FILE REMOVED

file if_bnxreg.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:13 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Sun Dec 17 23:02:06 2006 UTC (17 years, 4 months ago) by bouyer
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, reinoud-bufcleanup, post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-splraiseipl, yamt-lazymbuf, yamt-idlelwp, vmlocking, newlock2, netbsd-4, netbsd-3, mjf-ufs-trans

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.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>