freebsd-dev/sys/pci
Matt Jacob 819e7ffdf3 Whack on this soon to be deprecated driver.
What the heck, the OpenBSD version will benefit.

1. Add wx_txint_delay as a tunable (defaults to 5000 now, or ~5ms) and switch
to using delayed TXDW interrupts. Since the chip continues to reload the
TIDV with this value for each descriptor written back, this allows continued
deferral of the actual interrupt until the last packet completes (assuming
that 5ms between multiple packets transmitting is reasonable).

2. Add two other SYSCTL entities:

hw.wx.dump_stats
hw.wx.clear_stats

to be used, hackey hackey, to get the watchdog routine to dump/clear
the current softc statistics.

Usage would be:

	sysctl -w hw.wx.dump_stats=UNIT

to cause the current stats to be dumped for UNIT.

3. Attempt to clean up wx_detach routine so we don't panic. Well, things
still panic, but given that the code is just like other NIC drivers,
I suspect it's actually something elsewhere, like e1000phy, that's actually
blowing up.

4. Skip the entire test for runt packets- after doing somet thinking
and experimenting, I believe that the chip only doesn't like it if
the whole frame to xmit is < 16 bytes- each TFD can be some fragment
of that. This should improve performance a chunk because of all of the
(14 byte ETHERHEADER + DATA) mbuf chains.

5. Keep track of total frame length. Try not to xmit an odd byte frame-
this is supposed to get around some dumb Cisco switch problems.

6. On the last packet, also set Interrupt Delay && Report Packet Sent
(see #1 above)

7. Attempt to do xmit garbage collection *first* in order to avoid setting
IFF_OACTIVE if at all possible.

MFC after:	1 week
2001-10-15 06:59:41 +00:00
..
agp_ali.c
agp_amd.c Add probe line for the AMD 761 northbridge chip. At least it detects now, 2001-09-20 05:13:12 +00:00
agp_i810.c
agp_if.m
agp_intel.c
agp_sis.c
agp_via.c
agp.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
agppriv.h
agpreg.h
agpvar.h
alpm.c
amd.c
amd.h
amdpm.c SMBus support for the AMD 756 power management unit. See smbus(4), 2001-09-16 22:35:07 +00:00
cy_pci.c
cy_pcireg.h
dc21040reg.h
if_dc.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_dcreg.h
if_de.c
if_devar.h
if_en_pci.c
if_mn.c
if_pcn.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_pcnreg.h
if_rl.c
if_rlreg.h
if_sf.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_sfreg.h
if_sis.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_sisreg.h
if_sk.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_skreg.h
if_ste.c Do not call mii_pollstat() from within device tick routines; the status 2001-09-29 19:28:31 +00:00
if_stereg.h
if_ti.c Have the driver advertise that it is capable of hardware checksums, and 2001-09-18 18:40:22 +00:00
if_tireg.h
if_tl.c
if_tlreg.h
if_tx.c
if_txvar.h
if_vr.c
if_vrreg.h
if_wb.c
if_wbreg.h
if_wx.c Whack on this soon to be deprecated driver. 2001-10-15 06:59:41 +00:00
if_wxreg.h Whack on this soon to be deprecated driver. 2001-10-15 06:59:41 +00:00
if_wxvar.h Whack on this soon to be deprecated driver. 2001-10-15 06:59:41 +00:00
if_xl.c Implement TCP/IP checksum off-loading on receive. Announce 2001-09-23 05:13:12 +00:00
if_xlreg.h
intpm.c
intpmreg.h
locate.pl
meteor_reg.h
meteor.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ncr.c
ncrreg.h
ohci_pci.c
scsiiom.c
simos.c
simos.h
ti_fw2.h
ti_fw.h
uhci_pci.c
xmaciireg.h
xrpu.c KSE Milestone 2 2001-09-12 08:38:13 +00:00