freebsd-skq/sys/pci
wpaul 63989277ed Reintroduce the dc_coal() workaround routine for coalescing outbound
packets into a single buffer, and set the DC_TX_COALESCE flag for the
Davicom DM9102 chip. I thought I had escaped this problem, but... This
chip appears to silently corrupt or discard transmitted frames when
using scatter/gather DMA (i.e. DMAing each packet fragment in place
with a separate descriptor). The only way to insure reliable transmission
is to coalesce transmitted packets into a single cluster buffer. (There
may also be an alignment constraint here, but mbuf cluster buffers are
naturally aligned on 2K boundaries, which seems to be good enough.)

The DM9102 driver for Linux written by Davicom also uses this workaround.
Unfortunately, the Davicom datasheet has no errata section describing
this or any other apparently known defect.

Problem noted by: allan_chou@davicom.com.tw
2000-01-12 22:24:05 +00:00
..
adv_pci.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
adw_pci.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ahc_pci.c Avoid setting DPARCKEN until I can figure out why it causes 2000-01-10 01:47:51 +00:00
alpm.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00
amd.c Properly set the alignment argument to bus_dma_tag_create(). If we 1999-08-16 01:52:21 +00:00
amd.h First cut at a driver for the amd53c974 PCI SCSI host adapter. This 1999-05-22 21:50:40 +00:00
cy_pci.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cy_pcireg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
dc21040reg.h s/Id/FreeBSD/ 1999-08-09 12:52:49 +00:00
ida_pci.c Removal of sys/device.h 1999-10-05 21:19:41 +00:00
ide_pci.c Remove some horrible #if 0'd code that has no hope of working now. It 1999-12-12 14:47:23 +00:00
ide_pcireg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_ar_p.c Add support for the PCI version of the Digi SYNC/570i cards. 1999-10-17 09:40:04 +00:00
if_dc.c Reintroduce the dc_coal() workaround routine for coalescing outbound 2000-01-12 22:24:05 +00:00
if_dcreg.h Fix some problems reported by Mike Pritchard: 1999-12-13 21:45:13 +00:00
if_de.c Remove NBPF conditionality of bpf calls in most of our network drivers. 1999-09-25 12:06:01 +00:00
if_devar.h A little more tidying up. 1999-08-09 14:43:39 +00:00
if_en_pci.c Clean up after removing sys/eventhandler.h from sys/systm.h at the last 1999-08-21 22:10:49 +00:00
if_fpa.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_fxp.c Make the fxp driver work on alpha, rather than panic the machine on boot 1999-09-30 19:03:12 +00:00
if_fxpreg.h Make the fxp driver work on alpha, rather than panic the machine on boot 1999-09-30 19:03:12 +00:00
if_fxpvar.h Make the fxp driver work on alpha, rather than panic the machine on boot 1999-09-30 19:03:12 +00:00
if_lnc_p.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_mn.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
if_rl.c Fix a small typo in the comments. 1999-12-28 06:04:29 +00:00
if_rlreg.h Make some tweaks to the RealTek driver: 1999-10-21 19:42:03 +00:00
if_sf.c Modify the Adaptec "starfire" driver to reset the PHY on the MII bus 1999-12-05 20:02:45 +00:00
if_sfreg.h Modify the Adaptec "starfire" driver to reset the PHY on the MII bus 1999-12-05 20:02:45 +00:00
if_sis.c Change contigmalloc() lower memory bound from 1MB to 0 to improve 1999-09-25 17:29:02 +00:00
if_sisreg.h This commit adds driver support for the Silicon Integrated Systems 1999-09-05 21:01:03 +00:00
if_sk.c Call sk_start() at the end of sk_intr() if there's packets in the 1999-09-25 04:50:27 +00:00
if_skreg.h Fix the mechanism used to choose the unit numbers for the IP interfaces 1999-09-18 04:01:31 +00:00
if_sr_p.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_ste.c Spruce up the Sundance ST201 driver: 1999-12-07 20:14:42 +00:00
if_stereg.h Spruce up the Sundance ST201 driver: 1999-12-07 20:14:42 +00:00
if_ti.c As suggested by phk, unconditionalize BPF support in these drivers. Since 1999-09-23 03:32:57 +00:00
if_tireg.h Update the Tigon driver firmware images to the latest release from 1999-09-22 06:43:16 +00:00
if_tl.c Change contigmalloc() lower memory bound from 1MB to 0 to improve 1999-09-25 17:29:02 +00:00
if_tlreg.h Make some small performance tweaks to the tl driver. This should hopefully 1999-09-19 22:39:24 +00:00
if_tx.c Change incorrect NULLs to 0s 1999-12-21 11:14:12 +00:00
if_txvar.h Added code to enable BusMaster operations. 1999-10-29 09:56:52 +00:00
if_vr.c Change contigmalloc() lower memory bound from 1MB to 0 to improve 1999-09-25 17:29:02 +00:00
if_vrreg.h Convert the VIA Rhine driver to miibus. 1999-09-19 22:03:31 +00:00
if_vx_pci.c Clean up after removing sys/eventhandler.h from sys/systm.h at the last 1999-08-21 22:10:49 +00:00
if_wb.c Change contigmalloc() lower memory bound from 1MB to 0 to improve 1999-09-25 17:29:02 +00:00
if_wbreg.h Convert the Adaptec and Winbond drivers to miibus. 1999-08-30 23:08:32 +00:00
if_wx.c Add first pass of the Intel Gigabit Ethernet (wiseman) driver. This 2000-01-04 11:12:42 +00:00
if_wxreg.h Add first pass of the Intel Gigabit Ethernet (wiseman) driver. This 2000-01-04 11:12:42 +00:00
if_wxvar.h Add first pass of the Intel Gigabit Ethernet (wiseman) driver. This 2000-01-04 11:12:42 +00:00
if_xl.c Close PR# 15986: issue an RX reset command when initializing the interface, 2000-01-09 21:12:59 +00:00
if_xlreg.h Update the xl driver to recognize yet another 3c905B/3c905C class NIC: 1999-12-16 18:33:57 +00:00
intpm.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00
intpmreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
isp_pci.c Add in an isp_tdebug environment variable. Clean up some debugging 2000-01-04 03:41:40 +00:00
locate.pl MFS: Change path to perl. 1999-08-30 14:41:09 +00:00
meteor_reg.h Convert DEVFS hooks in (most) drivers to make_dev(). 1999-08-23 20:59:21 +00:00
meteor.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
ncr.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
ncrreg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ohci_pci.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00
pccbb.c Initial import of cardbus bridge driver (cbb) from the latest 1999-11-18 07:14:54 +00:00
pccbbreg.h Initial import of cardbus bridge driver (cbb) from the latest 1999-11-18 07:14:54 +00:00
pccbbvar.h Initial import of cardbus bridge driver (cbb) from the latest 1999-11-18 07:14:54 +00:00
pci_compat.c Zap pci_map_dense() and pci_map_bwx() - they were for compatability but 2000-01-05 16:40:10 +00:00
pci_if.m $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pci.c Show the port/mem/irq of pci devices too. 2000-01-08 10:12:21 +00:00
pcic_p.c Fill in the blanks for some of the Texas Instruments cardbus controllers. 1999-12-31 07:22:24 +00:00
pcic_p.h Fill in the blanks for some of the Texas Instruments cardbus controllers. 1999-12-31 07:22:24 +00:00
pcireg.h Added PCIR_BIOS (0x30). 2000-01-10 12:53:19 +00:00
pcisupport.c Fix paste-o in NeoMagic audio probe. 2000-01-07 06:59:10 +00:00
pcivar.h Clean up the cfgmech/pci_mechanism debris. The reason for the existance 2000-01-08 08:31:24 +00:00
scsiiom.c Use [u]intptr_t instead of [unsigned] long to convert and/or represent 1998-08-10 17:21:49 +00:00
simos.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
simos.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ti_fw2.h Update the Tigon driver firmware images to the latest release from 1999-09-22 06:43:16 +00:00
ti_fw.h Update the Tigon driver firmware images to the latest release from 1999-09-22 06:43:16 +00:00
uhci_pci.c Remove the 'ivars' arguement to device_add_child() and 1999-12-03 08:41:24 +00:00
xmaciireg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
xrpu.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00