summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/if_bge.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Do not count input errors twice. We always read input errors fromnaddy2009-12-091-3/+1
| | | | | | | the MAC in bge_tick(). Previously this would result in bge(4) claiming a greater number of input errors than what has actually occurred. From FreeBSD via Brad
* Re-initialise the interface upon resume.kettenis2009-11-301-2/+17
| | | | ok deraadt@, pirofti@, claudio@
* Correct a copy-and-pasto (check for the same device type twice insthen2009-10-111-3/+3
| | | | an if statement) in the last commit. From Brad.
* Add support for the Broadcom BCM5717 ASIC and the BCM5717 / BCM5718 chipsets.sthen2009-10-111-7/+32
| | | | Based on info gleaned from the Linux tg3 driver. From Brad, ok naddy@
* The BCM5703 ASIC ID is actually shared with the BCM5702 ASIC sosthen2009-10-071-6/+7
| | | | indicate so in the text strings. From Brad.
* Remove BCM57720 as it's not going to be released. From a Broadcomsthen2009-10-021-2/+1
| | | | commit to the Linux driver via Brad.
* - Sync the BCM5785G PCI id for bge(4) and add BCM5785F / BCM57788.sthen2009-09-301-2/+4
| | | | PCI ids from the Linux tg3 driver via Brad.
* - consistify cfdriver for the ethernet drivers (0 -> NULL)jasper2009-08-131-2/+2
| | | | ok dlg@
* MCLGETI() will now allocate a mbuf header if it is not provided, thusderaadt2009-08-091-17/+5
| | | | | | reducing the amount of splnet/splx dancing required.. especially in the worst case (of m_cldrop) ok dlg kettenis damien
* bring comments in line with reality; from Bradnaddy2009-08-081-2/+2
|
* Backout r1.274, william@ has tracked down watchdog timeouts withsthen2009-08-061-5/+1
| | | | | | | | his BCM5703 A2 to this commit. Original commit message was: "Set the DMA read watermark to 4 on the BCM5703 chipset in PCI-X mode. This is needed to prevent some TX timeouts. From Brad. Tested by myself on BCM5703 B0 on PCI-X 64/66".
* Add a family flag for the original 5700 series chipsets. Idea from FreeBSD.naddy2009-07-211-13/+19
| | | | But also use the flag where it makes sense. From Brad; ok sthen@
* Allow bge(4) to recognize the revisions of the 57780 ASICs. From Brad.naddy2009-06-191-1/+3
|
* Limit the BCM5701 B5 chipset to 32-bit mode as a workaround for asthen2009-06-111-1/+11
| | | | | | | bug which causes data corruption in combination with certain bridges. Tested on BCM5701 B5 (0x105). From FreeBSD via Brad. http://www.freebsd.org/cgi/query-pr.cgi?pr=128833
* Set the DMA read watermark to 4 on the BCM5703 chipset in PCI-X mode.sthen2009-06-111-1/+5
| | | | | This is needed to prevent some TX timeouts. From Brad. Tested by myself on BCM5703 B0 on PCI-X 64/66
* remove unused variable prevlen and a second initialization of ifp.sthen2009-06-061-6/+2
| | | | adjusted from a diff from chl@; ok naddy, Brad agrees.
* %zu is not meant for size_t in the kernel. Change to %lu.ray2009-06-051-2/+2
| | | | OK miod
* enable IPv6 receive TCP/UDP checksum offload for the 5755 and later chips;naddy2009-06-041-2/+8
| | | | from Brad
* replace the cumbersome macros that check for chip revisions with quirk flagsnaddy2009-06-041-52/+33
| | | | set at attach; from Brad
* rename some macros for more consistent naming; from Bradnaddy2009-06-031-20/+20
|
* set IFF_ALLMULTI properly also when in promiscuous mode and somenaddy2009-06-031-4/+6
| | | | cosmetic tweaking; from Brad
* register bit definitions instead of magic numbers;naddy2009-06-031-2/+2
| | | | gleaned from the Linux tg3 driver; from Brad
* minor tidying; from Brad; ok sthen@naddy2009-06-021-3/+2
|
* "Add a macro to define the newer generation of bge(4) chipsets. Simplifiessthen2009-06-021-13/+12
| | | | | | | | | | things a bit a and helps with adding support for more newer chipsets with the same common features. From the Linux tg3 driver." From Brad; binaries are not identical; the if statement is changed slightly, but no functional change. Looks fine to naddy@.
* Support hardware checksumming, from FreeBSD.naddy2009-05-241-35/+87
| | | | | | | Enable for IP/UDP/TCP receipt and IP transmit. Keep disabled for UDP/TCP transmit because it breaks with pf(4) rdr. ok sthen@
* add support for BCM576x, 577xx, and some new 572x/578x devices.sthen2009-05-211-13/+71
| | | | | from Brad; testing by phessler, naddy, myself and others on a range of older and newer devices. ok dlg@.
* Start using extended buffer descriptors on the jumbo ring and use MCLGETI tokettenis2009-04-231-258/+160
| | | | | | allocate mbufs for it. Another jumbo allocator bites the dust! ok dlg@
* make drivers tell the mclgeti allocator what their maximum ring size isdlg2009-01-271-2/+5
| | | | | | | to prevent the hwm growing beyond that. this allows the livelock mitigation to do something where the hwm used to grow beyond twice the rx rings size. ok kettenis@ claudio@
* sizeof(bge_devices) / sizeof(bge_devices[0]) -> nitems(bge_devices)dlg2008-12-231-3/+2
|
* if we cant put enough packets on the rx ring then schedule a timeout todlg2008-12-231-1/+22
| | | | | | try again later. tested by many
* switch bge over to using MCLGETI when allocating mbufs for the rx ring.dlg2008-12-031-74/+102
| | | | | | tested by many including henning@ sthen@ naddy@ krw@ robert@ jmc@ jsg@ weerd@ and ingo schwarze on a variety of machines include i386, amd64, alpha, and sparc64.
* Eliminate the redundant bits of code for MTU and multicast handlingbrad2008-11-281-19/+10
| | | | | | | | | | | | | | from the individual drivers now that ether_ioctl() handles this. Shrinks the i386 kernels by.. RAMDISK - 2176 bytes RAMDISKB - 1504 bytes RAMDISKC - 736 bytes Tested by naddy@/okan@/sthen@/brad@/todd@/jmc@ and lots of users. Build tested on almost all archs by todd@/brad@ ok naddy@
* perform bus_dmamap_syncs on the rx mbufs. this is obviously maintained bydlg2008-11-221-1/+6
| | | | | | | | monkeys. found by toby's bounce buffers. ok krw deraadt uwe fwk matthieu, drahn, mbalmer, robert, yuo, ratchov, claudio, rainer, art.
* Introduce bpf_mtap_ether(), which for the benefit of bpf listenersnaddy2008-11-091-3/+3
| | | | | | | | | creates the VLAN encapsulation from the tag stored in the mbuf header. Idea from FreeBSD, input from claudio@ and canacar@. Switch all hardware VLAN enabled drivers to the new function. ok claudio@
* brad, noone said you could go making changes like that (doubling thederaadt2008-11-081-2/+10
| | | | | | | amount of memory and interrupt time each bge uses) without discussing it with other people. lots of people are complaining about the lack of communication in your process, and you are going to have to change that.
* When initializing the standard RX ring, do not allocate mbufs clusters for thederaadt2008-11-081-2/+2
| | | | whole ring.
* Clean up some of the comments.brad2008-11-081-10/+2
|
* When initializing the standard RX ring, allocate mbufs clusters for thebrad2008-11-081-2/+2
| | | | whole ring.
* When initializing the MAC put the PHY into ready state for BCM5906brad2008-11-071-1/+10
| | | | | | | | chipsets. From the Linux tg3 driver via FreeBSD. Tested by Jordi Creix <jbcreix dot mail at gmail dot com>
* Re-add support for RX VLAN tag stripping.brad2008-10-191-5/+13
| | | | Tested by naddy@
* Switch the existing TX VLAN hardware support over to having thenaddy2008-10-161-10/+3
| | | | | | tag in the header. Convert TX tagging in the drivers. Help and ok brad@
* Change m_devget()'s outdated and unused "offset" argument: It isnaddy2008-10-141-5/+4
| | | | | | | | | | | now the offset into the first mbuf of the target chain before copying the source data over. From FreeBSD. Convert drivers' use of m_devget(). Mostly from thib@. Update mbuf(9) man page. ok claudio@, thib@
* First step towards cleaning up the Ethernet driver ioctl handling.brad2008-10-021-9/+2
| | | | | | | | | | | | | | | | | | | | Move calling ether_ioctl() from the top of the ioctl function, which at the moment does absolutely nothing, to the default switch case. Thus allowing drivers to define their own ioctl handlers and then falling back on ether_ioctl(). The only functional change this results in at the moment is having all Ethernet drivers returning the proper errno of ENOTTY instead of EINVAL/ENXIO when encountering unknown ioctl's. Shrinks the i386 kernels by.. RAMDISK - 1024 bytes RAMDISKB - 1120 bytes RAMDISKC - 832 bytes Tested by martin@/jsing@/todd@/brad@ Build tested on almost all archs by todd@/brad@ ok jsing@
* Rewrite two small sections of code in bge_blockinit() to simplify thebrad2008-09-231-20/+17
| | | | | | code. No functional change. ok krw@
* Introduce the infrastructure required to support hardware VLAN tagnaddy2008-09-181-2/+2
| | | | | | | | | | stripping: Add a field to the mbuf pkthdr to hold the tag and an mbuf flag that tells if the tag is valid. Inspired by FreeBSD. Struct packing suggested by kettenis@. csum_flags is now 16 bits. Adapt to this in the drivers. ok reyk@, henning@
* Convert timeout_add() calls using multiples of hz to timeout_add_sec()blambert2008-09-101-3/+3
| | | | | | | Really just the low-hanging fruit of (hopefully) forthcoming timeout conversions. ok art@, krw@
* Fix a link state issue reported by reyk@brad2008-09-081-1/+15
| | | | | | | | | | | | | | In some situations we were not clearing pending link state attentions. Because of this we were not getting further interrupts for link state changes, thus never went into iface UP state. Force an interrupt at the end of bge_ifmedia_upd so we will call bge_link_upd, clear the link state attention and get further interrupts. From FreeBSD ok reyk@
* Better strategy to single out onboard bge(4)'s on sparc64 machines.kettenis2008-08-261-10/+12
| | | | ok deraadt@
* Tadpole Viper onboard ethernet has no eeprom either, but the PROM entryderaadt2008-08-241-1/+6
| | | | | | | has subsystem ids set to the same as the regular ids, so the heuristic does not work. So look for the TAD,Viper machine name. When we get our hand on a Bullfrog (with a PCI slot) we will need to revisit this. ok kettenis
* proper indentderaadt2008-08-241-2/+2
|