| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. If bus_dmamap_load_mbuf() fails because there are not enough
segments in the map, defrag the mbuf.
2. If there are not enough free (hardware ring) descriptors, set
IFF_OACTIVE and keep the packet on the queue.
3. If there is some other resource starvation that makes
bus_dmamap_load_mbuf() or defragmentation fail, drop the packet.
Don't set IFF_OACTIVE, since the Tx ring could be empty and we'd be
stuck.
4. Only pass packets that are actually handed off to the hardware to
BPF. Do so before handing them off to the hardware to make sure
the packet isn't freed behind our back.
ok dlg@
|
|
|
|
|
|
| |
the TX ring and clear the flag when some have been freed.
ok dlg@ kettenis@
|
|
|
|
|
|
|
|
| |
- Count receive errors as input errors.
Based on similar change to the gem(4) driver from NetBSD.
ok kettenis@
|
|
|
|
|
|
| |
Seems to fix watchdog timeout issues in Sun ERI variants.
tested by a few
|
|
|
|
| |
ok kettenis@
|
|
|
|
|
|
| |
Makes the onboard fiber gem(4) in the Sun Fire V880 work.
tested by many; ok dlg@
|
| |
|
|
|
|
|
|
| |
one phy on Sun ERI; gets rid of the duplicate phy on the blade1k.
tested by many, ok drahn@
|
|
|
|
| |
everybody is happy
|
| |
|
| |
|
|
|
|
|
|
| |
for each. While there, fix a typo in gem_bitwait().
From martin@NetBSD
|
|
|
|
| |
From martin@NetBSD
|
| |
|
| |
|
|
|
|
| |
ok deraadt@
|
|
|
|
| |
ok kettenis@ "Looks correct to me" krw@
|
|
|
|
| |
on a heavily loaded hub.
|
| |
|
|
|
|
|
| |
outbound), using a new BIOCSDIRFILT ioctl;
guidance, feedback and ok canacar@
|
| |
|
|
|
|
| |
Noticed by: Ben Lovett <ben at tilderoot dot com>
|
|
|
|
| |
tested by kettenis@
|
|
|
|
|
|
|
|
| |
PROMISC or ALLMULTI flags are being adjusted or if adjusting
the multicast addresses instead of doing a full re-init of the
chip.
ok kettenis@
|
| |
|
| |
|
|
|
|
| |
From NetBSD
|
|
|
|
|
|
| |
From NetBSD
ok krw@
|
|
|
|
|
|
|
|
|
|
|
| |
- introduce gem_bitwait() to factor out some of the register wait code
From NetBSD
- remove some statics
- remove parameter names from prototypes
ok kettenis@
|
| |
|
|
|
|
|
|
|
| |
model to the MI part of the driver. On Apple systems only attach the PHY to
location 0, unless using a K2 GMAC, then use location 1.
Tested by drahn@ and kettenis@
|
|
|
|
| |
ok krw@, also tested by Peter Hessler on macppc
|
|
|
|
|
|
|
|
| |
gem_init() just before calling gem_init_regs() so the proper
MAC address gets programmed into the card (if it has been
changed by say ifconfig lladdr for example).
Noticed and diff tested by: Troex Nevelin <troex at fury dot scancode dot ru>
|
| |
|
| |
|
|
|
|
|
| |
some drivers actually had hooks for SIOCSIFADDR, most just useless includes
"looks good" deraadt miod brad
|
|
|
|
|
|
|
|
| |
From NetBSD
NetBSD PR 27678 for details
ok mcbride@
|
| |
|
|
|
|
|
| |
allocate interrupts early on (before PHY attachment, etc) just like all
other drivers do to allow the above; ok mcbride
|
|
|
|
|
|
|
|
| |
descriptor instead.
From NetBSD
ok deraadt@
|
|
|
|
| |
ok deraadt@
|
|
|
|
|
|
| |
tested on alpha, i386, macppc and sparc64.
ok millert@ mickey@
|
| |
|
|
|
|
|
|
|
|
|
|
| |
statically allocated maps.
Significant performance boost on both sparc64 and macppc.
Tested on macppc by drahn@.
ok jason@ drahn@.
|
| |
|
|
|
|
|
|
|
|
|
| |
in use by the hardware. Since the sparc64 has IOMMUs, an access by
the hardware after the unmap operation will cause a fault.
This replaces "disable" calls by "reset" calls. This increases
the time between the command to disable DMA and when the maps
are actually unloaded.
|
|
|
|
|
|
| |
- reading RX_COMPLETION is a waste of time (and a -slow- PCI read vs. an,
albeit uncached, memory access to determine the same thing).
- on RX_OVERFLOW, reset the board; the RX unit has probably wedged
|
|
|
|
|
|
|
| |
- More technically correct
- Matches FreeBSD and NetBSD
- Preserved #define for 1000baseTX for backwards compatibility
ok jason@
|
| |
|
|
|
|
|
|
|
|
| |
- Instead of setting OACTIVE on the interface when encap fails and never
clearing it, set a 2 second timer instead and hope that the memory
situation will improve. This stops the lockups of the interface when
memory is running low.
jason@ ok.
|