summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_bgereg.h
AgeCommit message (Collapse)Author
2005-10-09BGE_RSLOTS is only used in one spot, BGE_TX_RING_CNTBrad Smith
should be used instead.
2005-10-09special case sparc64 for now and lower the Jumbo slotsBrad Smith
down from 384 to 54.
2005-09-04add a commentBrad Smith
2005-08-30- add BCM5780 PCI idsBrad Smith
- recognize BCM5704 B0 - recognize BCM5780 which is supposedly part of the BCM5714 family according to the Linux driver but there is a BCM5714 core too. huh? ok deraadt@
2005-08-27recognize 5752 A1 ASIC rev.Brad Smith
Noticed by niklas@ on some newer hardware ok deraadt@
2005-07-02add support for PCI-E 5752 core and recognize a few additionalBrad Smith
5750 revisions. Info from the Broadcom Linux driver
2005-06-29- sync bus_dma ops and add bus_dmamap_sync()'sBrad Smith
and rev 1.25 * bcm5700 chips rev Bx wedge up if given DMA descriptors of eight bytes or less. Once hit, only reovery is a watchdog timeout/reset. If the offending packet is retransmitted, the chip will wedge again... Check for teeny fragments in a Tx request, and either fold the teeny chunk residue into an adjacent mbuf, or m_dup the entire buffer. From NetBSD Tested on alpha/amd64/macppc by krw@ and ok krw@
2005-06-17- fix description for BCM5750 A0, A1 -> A0Brad Smith
- recognize BCM5750 B1
2005-06-07put the whole thing in this time.Brad Smith
add support for the BCM5714.
2005-04-05fix parenthesis for BGE_RCB_MAXLEN_FLAGSBrad Smith
ok krw@
2005-03-07Enable basic big-endian operation. i.e. now works on some big-endianKenneth R Westerback
machines (macppc) but not others (sparc64). No-op for little-endian architectures. Diff from NetBSD with tweaks by drahn@. ok brad@
2005-03-04Put the dmamap for a transmission at the correct array index. Fixes aKenneth R Westerback
crash on sparc64. From FreeBSD.
2004-12-26boundry -> boundaryBrad Smith
2004-12-17rev 1.62Brad Smith
Possibloe fix for some bge chip revisions taking a long time to reset (e.g., polling for a half-second or more at splnet(), blocking most interrupts, durin an ifconfig down/ifconfig up). Appears to help for a 5704C rev A3, which is the only chip I've ever seen that had even a mild version of the reported problem. rev 1.61 Check for BGE_PCI_PCISTATE register failing to revert on reset. if it occurs, print a message indicating why the reset took so long. From NetBSD
2004-12-16rev 1.71Brad Smith
* Set buffer management high water marks for MTU > 1514. * Set BGE_MAX_RX_FRAME_LOWAT (from Linux driver). rev 1.25 * Update onchip buffer tunables to recommended values from Linux drivers. * Increase Tx interrupt-coalescing thresholds, to reduce Tx-done interrupts. From NetBSD ok krw@
2004-12-12use quirk flags where appropriate.Brad Smith
Based on NetBSD driver ok krw@
2004-12-12add quirk lookup table, isn't used for anything at the momentBrad Smith
except printing the ASIC model and rev in dmesg. will be used instead of checking ASIC revs all over the place. From NetBSD
2004-11-11rev 1.71Brad Smith
Add some special case code to fix a problem with the BCM5704 in TBI (fiber) mode. The 5704 apparently has some s00p3r s33kr1t registers for setting the advertisement of pause frame ability (i.e flow control) when in autoneg mode. If we don't set these registers correctly, we may not be able to negotiate a proper link with some switches. (Symptom is that the NIC reports the link as up (PCS synched) but no traffic can be exchanged.) rev 1.73 Commit patch to supress spurious link change events. Apparently, with copper NICs, a link change event is posted whenever MII autopolling is toggled off and on, which happens whenever someone calls bge_miibus_readreg() or bge_miibus_writereg() to access the PHY registers. This means anytime someone called the SIOCGIFMEDIA ioctl on a bge interface, the link would reset. Even a simple "ifconfig bge0" would do it, though other apps like dhclient or the PPPoE daemon could trigger it as well. An obvious symptom of this problem is lots of "bgeX: gigabit link up" messages appearing on the console for no apparent reason. Through experimentation, I determined that when a real link change event occurs, the BGE_MIMODE_AUTOPOLL in the BGE_MI_MODE register is always set, so now if we have a copper NIC and an link change event occurs and the BGE_MIMODE_AUTOPOLL bit is clear, we ignore the event. Note that this does not apply to the original BCM5700 chip since we use a different method for sensing link changes with that chip (the status block method was broken), nor to fiber optic NICs since they don't use the GMII PHY access registers. From FreeBSD ok deraadt@
2004-10-31rev 1.68Brad Smith
Add support for BCM5705K rev 1.74 Add support for the BCM5750/5751. Unfortunately the documentation I have from Broadcom does not give much information on these devices, so the Broadcom Linux driver was used for clues to what these chips support. It turns out they are similar to the 5705 with the 5751 being the PCI-Express version and needing special work-arounds and settings. From FreeBSD
2004-09-28Use ETHER_MAX_DIX_LEN/ETHER_MIN_LENBrad Smith
2004-08-05remove some separate per driver constants and useBrad Smith
ETHER_MAX_LEN_JUMBO/ETHERMTU_JUMBO where appropriate. ok mcbride@ henning@ mickey@
2004-05-19remove duplication, use ETHER_ALIGN from if_ether.hBrad Smith
2004-03-19Use __LP64__ to check for 64-bit systems.Miod Vallat
Why people can't resolve to use this is beyond me. There are other cases of this misconstruct, but they probably won't be addressed for the release. "why are you looking in there! that's gigabit!" then later ok deraadt@
2003-10-13Bring bge and brgphy more up to date with changes from FreeBSD and NetBSD.Kenneth R Westerback
Some bug fixes, support for new hardware like the 5704 and 5705. Testing by deraadt@, danh@, and drahn@ amoung others. ok deraadt@.
2003-09-03match a bunch more bge devices. May not work completely, but they're noJason Wright
more broken than before; ok deraadt.
2002-11-26Numerous bug fixes from freebsd and a few from me.Nathan Binkert
- Add support for the BCM5702X and BCM5703X chips - Take care of an alignment bug in the PCI-X implementation of a couple revs of the chip - Disable memory write invalidate. (Supposedly doesn't always work) - Add missing splx(s) - Fix some typos
2002-04-08Make fiber cards work (3com 3c996-SX)Nathan Binkert
Make the BCM5701 chips work. (3com 3c996B-T) From FreeBSD
2002-03-06vtophys is no longer usedNathan Binkert
2001-10-09Make bge use busdmaNathan Binkert
2001-10-05Add a driver for the Broadcom BCM570x chips. (a.k.a. Tigon3).Nathan Binkert
This driver supports the following cards: 3Com 3c996-T (10/100/1000baseTX) Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX) SysKonnect SK-9D21 (10/100/1000baseTX) SysKonnect SK-9D41 (1000baseSX) From FreeBSD