summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_bge.c
AgeCommit message (Collapse)Author
2009-12-17- correct the PCI ids for the BCM5717 and BCM5718 chipsetsStuart Henderson
- add BCM5724 chipset from Linux driver via Brad. - sort by device-id
2009-12-09Do not count input errors twice. We always read input errors fromChristian Weisgerber
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
2009-11-30Re-initialise the interface upon resume.Mark Kettenis
ok deraadt@, pirofti@, claudio@
2009-10-11Correct a copy-and-pasto (check for the same device type twice inStuart Henderson
an if statement) in the last commit. From Brad.
2009-10-11Add support for the Broadcom BCM5717 ASIC and the BCM5717 / BCM5718 chipsets.Stuart Henderson
Based on info gleaned from the Linux tg3 driver. From Brad, ok naddy@
2009-10-07The BCM5703 ASIC ID is actually shared with the BCM5702 ASIC soStuart Henderson
indicate so in the text strings. From Brad.
2009-10-02Remove BCM57720 as it's not going to be released. From a BroadcomStuart Henderson
commit to the Linux driver via Brad.
2009-09-30- Sync the BCM5785G PCI id for bge(4) and add BCM5785F / BCM57788.Stuart Henderson
PCI ids from the Linux tg3 driver via Brad.
2009-08-13- consistify cfdriver for the ethernet drivers (0 -> NULL)Jasper Lievisse Adriaanse
ok dlg@
2009-08-09MCLGETI() will now allocate a mbuf header if it is not provided, thusTheo de Raadt
reducing the amount of splnet/splx dancing required.. especially in the worst case (of m_cldrop) ok dlg kettenis damien
2009-08-08bring comments in line with reality; from BradChristian Weisgerber
2009-08-06Backout r1.274, william@ has tracked down watchdog timeouts withStuart Henderson
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".
2009-07-21Add a family flag for the original 5700 series chipsets. Idea from FreeBSD.Christian Weisgerber
But also use the flag where it makes sense. From Brad; ok sthen@
2009-06-19Allow bge(4) to recognize the revisions of the 57780 ASICs. From Brad.Christian Weisgerber
2009-06-11Limit the BCM5701 B5 chipset to 32-bit mode as a workaround for aStuart Henderson
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
2009-06-11Set the DMA read watermark to 4 on the BCM5703 chipset in PCI-X mode.Stuart Henderson
This is needed to prevent some TX timeouts. From Brad. Tested by myself on BCM5703 B0 on PCI-X 64/66
2009-06-06remove unused variable prevlen and a second initialization of ifp.Stuart Henderson
adjusted from a diff from chl@; ok naddy, Brad agrees.
2009-06-05%zu is not meant for size_t in the kernel. Change to %lu.Ray Lai
OK miod
2009-06-04enable IPv6 receive TCP/UDP checksum offload for the 5755 and later chips;Christian Weisgerber
from Brad
2009-06-04replace the cumbersome macros that check for chip revisions with quirk flagsChristian Weisgerber
set at attach; from Brad
2009-06-03rename some macros for more consistent naming; from BradChristian Weisgerber
2009-06-03set IFF_ALLMULTI properly also when in promiscuous mode and someChristian Weisgerber
cosmetic tweaking; from Brad
2009-06-03register bit definitions instead of magic numbers;Christian Weisgerber
gleaned from the Linux tg3 driver; from Brad
2009-06-02minor tidying; from Brad; ok sthen@Christian Weisgerber
2009-06-02"Add a macro to define the newer generation of bge(4) chipsets. SimplifiesStuart Henderson
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@.
2009-05-24Support hardware checksumming, from FreeBSD.Christian Weisgerber
Enable for IP/UDP/TCP receipt and IP transmit. Keep disabled for UDP/TCP transmit because it breaks with pf(4) rdr. ok sthen@
2009-05-21add support for BCM576x, 577xx, and some new 572x/578x devices.Stuart Henderson
from Brad; testing by phessler, naddy, myself and others on a range of older and newer devices. ok dlg@.
2009-04-23Start using extended buffer descriptors on the jumbo ring and use MCLGETI toMark Kettenis
allocate mbufs for it. Another jumbo allocator bites the dust! ok dlg@
2009-01-27make drivers tell the mclgeti allocator what their maximum ring size isDavid Gwynne
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@
2008-12-23sizeof(bge_devices) / sizeof(bge_devices[0]) -> nitems(bge_devices)David Gwynne
2008-12-23if we cant put enough packets on the rx ring then schedule a timeout toDavid Gwynne
try again later. tested by many
2008-12-03switch bge over to using MCLGETI when allocating mbufs for the rx ring.David Gwynne
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.
2008-11-28Eliminate the redundant bits of code for MTU and multicast handlingBrad Smith
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@
2008-11-22perform bus_dmamap_syncs on the rx mbufs. this is obviously maintained byDavid Gwynne
monkeys. found by toby's bounce buffers. ok krw deraadt uwe fwk matthieu, drahn, mbalmer, robert, yuo, ratchov, claudio, rainer, art.
2008-11-09Introduce bpf_mtap_ether(), which for the benefit of bpf listenersChristian Weisgerber
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@
2008-11-08brad, noone said you could go making changes like that (doubling theTheo de Raadt
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.
2008-11-08When initializing the standard RX ring, do not allocate mbufs clusters for theTheo de Raadt
whole ring.
2008-11-08Clean up some of the comments.Brad Smith
2008-11-08When initializing the standard RX ring, allocate mbufs clusters for theBrad Smith
whole ring.
2008-11-07When initializing the MAC put the PHY into ready state for BCM5906Brad Smith
chipsets. From the Linux tg3 driver via FreeBSD. Tested by Jordi Creix <jbcreix dot mail at gmail dot com>
2008-10-19Re-add support for RX VLAN tag stripping.Brad Smith
Tested by naddy@
2008-10-16Switch the existing TX VLAN hardware support over to having theChristian Weisgerber
tag in the header. Convert TX tagging in the drivers. Help and ok brad@
2008-10-14Change m_devget()'s outdated and unused "offset" argument: It isChristian Weisgerber
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@
2008-10-02First step towards cleaning up the Ethernet driver ioctl handling.Brad Smith
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@
2008-09-23Rewrite two small sections of code in bge_blockinit() to simplify theBrad Smith
code. No functional change. ok krw@
2008-09-18Introduce the infrastructure required to support hardware VLAN tagChristian Weisgerber
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@
2008-09-10Convert timeout_add() calls using multiples of hz to timeout_add_sec()Bret Lambert
Really just the low-hanging fruit of (hopefully) forthcoming timeout conversions. ok art@, krw@
2008-09-08Fix a link state issue reported by reyk@Brad Smith
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@
2008-08-26Better strategy to single out onboard bge(4)'s on sparc64 machines.Mark Kettenis
ok deraadt@
2008-08-24Tadpole Viper onboard ethernet has no eeprom either, but the PROM entryTheo de Raadt
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