Age | Commit message (Collapse) | Author |
|
operations in the detach function in the right order. Also ensure that the
interrupt handlers not trust registers that go away.
read over very carefully by dms, tested by me
|
|
these cases the xxstop function is a bit more complicated and has a flag of
some sort, but the use of that flag does not matter; DMA is already ceased
ok dlg
|
|
reducing the amount of splnet/splx dancing required.. especially in the
worst case (of m_cldrop)
ok dlg kettenis damien
|
|
numeric values) from Brad. No binary change.
|
|
and fix the appropriate code in gem_init_regs(). From Brad,
tested by Brad (sparc64), todd@ (macppc).
|
|
Tested by Brad on sparc64, todd@ on macppc.
|
|
|
|
ok dlg@
|
|
ok dlg@, jsg@
|
|
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@
|
|
help from dlg@, tested by a few, ok dlg@
|
|
the full mbuf chain is freed.
ok claudio@ kettenis@
|
|
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@
|
|
ok dlg@
|
|
|
|
disabled code that used to use this was removed 7 years ago.
|
|
the OpenSolaris eri(7D) the TX FIFO threshold has to be set to 0x4ff
for the Gigabit variants and 0x100 for the ERI in order to avoid TX
underruns.
- Turn on workarounds for silicon bugs in the Apple GMAC variants.
This was based on information obtained from the Darwin GMAC and Linux GEM
drivers.
- Turn on "infinite" (i.e. maximum 31 * 64 bytes in length) DMA bursts.
From FreeBSD
Tested by a few users with Apple GMAC's and Sun ERI.
|
|
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@
|
|
Really just the low-hanging fruit of (hopefully) forthcoming timeout
conversions.
ok art@, krw@
|
|
drivers can report 2-3x times the number of actual packets being
transmitted by only incrementing the counter for descriptors with
buffers being freed.
ok kettenis@
|
|
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@
|
|
|