freebsd-nq/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 Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
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 Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
agp_if.m A driver for programming the AGP hardware. This is only very lightly 2000-06-09 16:04:30 +00:00
agp_intel.c Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
agp_sis.c Make these compile again by adding proc.h include for GIANT_REQUIRED 2001-07-05 21:28:47 +00:00
agp_via.c Recognise VIA Apollo KT133A bridge. 2001-08-30 14:17:48 +00:00
agp.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
agppriv.h Add support for Intel's i810 chipset with integrated graphics. An 2000-07-12 10:13:07 +00:00
agpreg.h Add support for Intel's i810 chipset with integrated graphics. An 2000-07-12 10:13:07 +00:00
agpvar.h A driver for programming the AGP hardware. This is only very lightly 2000-06-09 16:04:30 +00:00
alpm.c Remove unneeded (and compile-breaking) #include "alpm.h" 2001-01-17 00:38:06 +00:00
amd.c Move unused functions into #if 0 ... #endif. 2001-05-06 08:07:10 +00:00
amd.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
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 Converted to new-bus. 2001-02-01 09:49:57 +00:00
cy_pcireg.h
dc21040reg.h Remove some unused stuff 2001-03-25 07:21:04 +00:00
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 Add support for Conexant LANfinity miniPCI controllers. People who have 2001-09-04 17:10:11 +00:00
if_de.c Convert if_multiaddrs from LIST to TAILQ so that it can be traversed 2001-02-06 10:12:15 +00:00
if_devar.h Use bus_space for all register accesses. 2000-05-13 18:47:24 +00:00
if_en_pci.c newbusify the en atm driver. 2000-11-07 09:31:28 +00:00
if_mn.c Fix warnings: 2001-06-15 07:39:12 +00:00
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 Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_rl.c Convert the if_sis and if_rl drivers to use the bus_dma API instead of 2001-08-15 17:38:43 +00:00
if_rlreg.h Convert the if_sis and if_rl drivers to use the bus_dma API instead of 2001-08-15 17:38:43 +00:00
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 Still more changes to try to prevent TX lockups. Will wait for one more 2001-08-16 00:32:20 +00:00
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 Convert the if_sis and if_rl drivers to use the bus_dma API instead of 2001-08-15 17:38:43 +00:00
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 Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
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 Fix a bug in the ste_setmulti() routine. The NIC has 4 16-bit multicast 2001-08-23 18:22:55 +00:00
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 Fix the definitions for memory bank sizes, which I somehow got wrong. 2001-04-26 16:40:45 +00:00
if_tl.c Apply patch supplied by Jonathan Chen: use the correct arguments to 2001-07-09 17:58:42 +00:00
if_tlreg.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
if_tx.c Update tx(4) to always enable vlan(4) support. 2001-09-05 23:04:53 +00:00
if_txvar.h Add support for 802.1Q VLAN and oversized ethernet frames. 2001-08-13 18:32:39 +00:00
if_vr.c Apply patch supplied by Jonathan Chen: use the correct arguments to 2001-07-09 17:58:42 +00:00
if_vrreg.h Close PR 22208: bring chip out of suspend mode, because Windows might 2001-05-14 19:13:02 +00:00
if_wb.c Apply patch supplied by Jonathan Chen: use the correct arguments to 2001-07-09 17:58:42 +00:00
if_wbreg.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
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 Add support for the 3c656B cardbus adapter. This is one half of a 2001-08-28 00:40:18 +00:00
intpm.c Fix warning: 2001-06-15 07:42:58 +00:00
intpmreg.h
locate.pl use warnings 2000-06-27 22:41:12 +00:00
meteor_reg.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
meteor.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ncr.c s/adress/address/ 2001-07-23 12:05:27 +00:00
ncrreg.h
ohci_pci.c Set vendor string correctly for the Apple KeyLargo. 2001-07-05 12:04:19 +00:00
scsiiom.c Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
simos.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
simos.h
ti_fw2.h Use a custom Tigon 2 firmware image, hopefully temporarily. This is 2000-07-26 23:55:34 +00:00
ti_fw.h Update the Tigon driver to support 1000baseTX gigE over copper AceNIC 2000-07-20 22:24:43 +00:00
uhci_pci.c Add description for 82801BA controller. 2001-05-21 01:24:14 +00:00
xmaciireg.h
xrpu.c KSE Milestone 2 2001-09-12 08:38:13 +00:00