Age | Commit message (Collapse) | Author |
|
mode (4KB) for PCIe chips. This resolves the poor TX performance for
the PCIe chips. The result being a bit under double the TX performance
on a Gig connection (roughly 495 Mb/s -> 940 Mb/s).
Tested by reyk@, sthen@, brad@ and a few end users.
|
|
ok deraadt@
|
|
|
|
|
|
suggested by dlg@ awhile ago.
ok dlg@
|
|
|
|
ok dlg@
|
|
state transitions are noticed and the appropriate routing socket messages
are generated.
ok kettenis@ krw@
|
|
uses MII interrupts to detect link state transitions as is done for all of
the other BCM5700 revisions, without this change link state transitions
are not being detected at all.
ok kettenis@
|
|
ok krw@
|
|
messages are generated when links go down or come up. Works on available
devices, put in tree to encourage wide testing. Enables latest dhclient
changes to work their magic on bge.
Feedback from brad@
ok deraadt@ beck@ reyk@
|
|
in TBI mode for fiber adapters which causes problems for some systems.
Add code to detect when the special settings are necessary which helps
with some blade systems.
From FreeBSD
ok dlg@
|
|
revisions.
From Linux via FreeBSD.
ok dlg@
|
|
comments.
Tested by a number of users with a variety of chipsets.
From FreeBSD
ok kettenis@
|
|
adapters.
Tested by brad@ and johan@ to ensure flow control is still working for
copper adapters.
|
|
counter and out of receive buffer descriptors counter to the network stacks
input errors counter.
Based on a diff from mickey@ though updated for -current and added support
for BCM5705 or newer chipsets from brad@.
Tested it with BCM5704 on i386/amd64, BCM5700 on sparc64, BCM5701/BCM5751M
on i386 and BCM5721/BCM5780 on amd64.
ok krw@ sthen@ dlg@
|
|
fixes input errors on BCM5701/5702X/5704 and may avoid firmware hangs on
some cards if asf/ipmi support is added.
original diff from Oleg Bulyzhin in a freebsd-net post and ported by
mickey; included stats counter changes which don't apply to -current
so they are split out and not included here. "The rest of the diff
looks ok" brad.
tested on 5701/5702X/5703X/5704C/5721 by mpf naddy okan beck sthen
ok beck (before splitting out stats changes), krw, henning.
closes kernel/5699
|
|
Tested by brad@, chl@, sthen@, Johan Mson Lindman and Ian Lindsay <iml04@hampshire.edu>
ok dlg@
|
|
only cleared if there is enough slack space since bge_encap() will
return anyway and IFF_OACTIVE will be set again.
- Only reset the watchdog timer when all packets have been processed.
- Have bge_start() do a fast return if the adapter is not running or
the IFF_OACTIVE flag is set.
Tested by brad@, chl@, krw@, landry@, sthen@ and Johan Mson Lindman.
ok dlg@
|
|
- Add discarded RX packets to input errors for the BCM5705 or newer
chipsets. Unfortunately output errors cannot be added because the
equivalent to the ifOutDiscards register does not exist.
- Replace misleading and wrong BGE_RX_STATS/BGE_TX_STATS with
BGE_MAC_STATS. They were reversed but just happened to work.
From FreeBSD
Tested by chl@, landy@, sthen@, krw@, okan@ and brad@
ok dlg@
|
|
tested by Rodolfo Gouveia and marco@
ok kettenis@ marco@ dlg@
|
|
ok dlg@
|
|
ok deraadt@
|
|
OK dlg.
|
|
the multicast filter is programmed.
IFF_ALLMULTI is for use by the driver and only the driver, meaning that we
have to clear it when its not needed anymore.
now that the ethernet layer counts the number of multicast address ranges
we can check that early to determine if ALLMULTI is needed, rather than
doing the stupid goto allmulti dance as we iterate over the multicast
address list.
the imperfect multicast filter is a 16 byte wide bitfield, so we can use
the "setbit" macro to build it in memory, and then write it to the hardware
as a bus_space region. this simplifies the code a lot and avoids confusing
bitshifts on u_int32_ts to get the bits in the right place.
tested by krw on amd64, naddy on alpha, deraadt on sparc64, and beck on
various bits.
ok beck
|
|
problem also appears to be required on the BCM5754/5787 in the Dell
PowerEdge SC440 and OptiPlex GX745. dlg identified the problem and
came up with the fix.
Tested by dlg@, ckuethe@, reyk@; thanks.
ok dlg@ beck@ reyk@
|
|
so its obvious to people working on the code
|
|
|
|
MAC address on the builtin ports of the Sun Fire V215 match what is used by
the PROM.
ok deraadt@
|
|
BCM5756). They still don't work but when they do they won't use an
inappropriate Jitter bug workaround. No effect on other chips.
From Michael Chan of Broadcom, via Linux tg3 via Brad.
ok reyk@
|
|
callers check for. One return accidentally changed to ENOMEM when
r1.133 reverted r1.85. Nuke superfluous blank line.
From brad@, tested by myself and Johan M:son Lindman.
|
|
From scottl via FreeBSD and brad@.
|
|
unreported in the wild. In this case add a PHY workaround for an eventual
mobile version of the chipset. No change to existing functionality.
From Michael Chan (mchan@broadcom), via Linux tg3 and brad.
|
|
changes but with the more conservative (i.e. specific) chip matching
logic of Linux's tg3. No change except to pci express chips.
From Brad.
Tested by brad & thib@ (BCM5750) and pedro la peu (BCM5752).
|
|
NetBSD.
|
|
survive past 1st gen silicon.
From brad. Tested by wilfried@ and Johan Mason Lindman.
|
|
|
|
Add D-Link DGE-560SX and another Marvell Yukon (unknown model) PCI ids.
From the Linux sky2 driver via brad@
|
|
ok brad@
|
|
|
|
the standard rates, use some defined by net80211 itself. kernel shrinks a bit
ok jsg mglocker
|
|
|
|
so no need to call both.
From tsutsui@NetBSD
|
|
|
|
- Move TX ring full sanity check further up and check the number of DMA
segments from the DMA map, instead of counting the DMA segments in the
for loop and breaking out later.
- Unload the DMA map if encountering an error condition.
Tested by brad@ sturm@ wilfried@
|
|
LIST_FOREACH macro.
|
|
|
|
eliminates firmware timeouts.
Tested by pedro la peu <pedro at am-gen dot org> with a 5752 ASIC and
Benjamin Black <ben at layer8 dot net> with a 5787 ASIC.
|
|
|
|
of the first port of a dual port MAC to not work.
|