NetBSD/sys/dev/pci
mjacob 91f80cf3fc Implement F/W crashdumps for 2200 && 2300 cards (kernel compile option).
Distinguish between 2312 and 2300 cards (they *are* different). Enable
RIO (Reduced Interrupt Operation) for the LVD cards (hey- I've seen
batched completions of the 30 commands at a time with this,....)...

If we get a Port Logout on local loop topologies, we have to force the
f/w to log back in. The easiest way (for us) to do this is to force
a LIP. This also will wake up the disk that probably just had a f/w crash.

Implement mailbox 'continuations'- this allows interrupts to re-drive
a mailbox command if it's one that just essentially repeats the previous
mailbox command (e.g., f/w download). This saves a boatload of sleep/wakeup
twitches.

If we're not a 2300 and we're about to return with a 'bogus interrupt'- check
the semaphore register to be non-zero at all and outgoing mailbox 0- this
seems to be where some of the lost ISP1080 commands came from.
2002-02-21 22:32:40 +00:00
..
bktr Re-enable radio at bktr, only if NRADIO > 0 and an FM tuner is present. 2002-01-07 18:05:33 +00:00
Makefile Install pcidevs.h, pcidevs_data.h, pciio.h, pcireg.h. 2001-09-13 21:52:30 +00:00
Makefile.pcidevs
README
adv_pci.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
adw_pci.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
agp.c Don't pretend we can handle i830; it needs a somewhat different AGP driver. 2002-01-22 17:29:36 +00:00
agp_ali.c add RCSID 2001-11-13 07:48:40 +00:00
agp_amd.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
agp_i810.c Don't pretend we can handle i830; it needs a somewhat different AGP driver. 2002-01-22 17:29:36 +00:00
agp_intel.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
agp_sis.c add RCSID 2001-11-13 07:48:40 +00:00
agp_via.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
agpreg.h AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agpvar.h Don't map the aperture into KVA, it isn't needed. 2001-10-01 21:54:48 +00:00
ahc_pci.c Presence looks better with a 'c' instead of an 's'. 2001-11-21 19:01:31 +00:00
amr.c Bare-bones driver for AMI RAID. Parts taken from FreeBSD. This was tried a 2002-01-30 14:35:43 +00:00
amrreg.h Bare-bones driver for AMI RAID. Parts taken from FreeBSD. This was tried a 2002-01-30 14:35:43 +00:00
amrvar.h Bare-bones driver for AMI RAID. Parts taken from FreeBSD. This was tried a 2002-01-30 14:35:43 +00:00
auich.c Oops, I messed up the last commit, try again. 2002-02-14 12:52:01 +00:00
auichreg.h
autri.c Fix a blatant inconsistency in PCI_PRODUCT handling. 2002-02-05 01:51:51 +00:00
autrireg.h add Trident 4DWAVE based (4DWAVE DX/NX,SiS 7018,ALi M5451) PCI audio driver 2001-11-18 03:16:02 +00:00
autrivar.h ANSIfy driver. 2001-11-18 17:15:48 +00:00
auvia.c add RCSID 2001-11-13 07:48:40 +00:00
auviavar.h
bha_pci.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
btvmei.c add RCSID 2001-11-13 07:48:40 +00:00
btvmeii.c add RCSID 2001-11-13 07:48:40 +00:00
btvmeireg.h Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
btvmeivar.h
cac_pci.c - Always validate the return value read from the outbound FIFO. 2002-01-25 16:10:35 +00:00
cmpci.c Fix typo so that 48kHz can be set. From Stephen Ma in kern/15456. 2002-02-02 11:18:42 +00:00
cmpcireg.h Re-implement the mixer 2001-11-04 06:57:40 +00:00
cmpcivar.h Re-implement the mixer 2001-11-04 06:57:40 +00:00
com_puc.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
cs428x.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
cs428x.h
cs428xreg.h
cs4280.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
cs4280_image.h
cs4280reg.h
cs4281.c remove bogus printf. 2001-12-13 02:50:30 +00:00
cs4281reg.h
cy82c693.c cleanup RCSID 2001-11-13 07:35:02 +00:00
cy82c693reg.h
cy82c693var.h
cy_pci.c add RCSID 2001-11-13 07:48:40 +00:00
cz.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
czreg.h
devlist2h.awk
dpt_pci.c add RCSID 2001-11-13 07:48:40 +00:00
eap.c add RCSID 2001-11-13 07:48:40 +00:00
eapreg.h
ehci_pci.c Use the correct years for copyright. 2002-02-14 21:58:30 +00:00
emuxki.c enable the joystick port on attach, too 2002-02-02 18:10:28 +00:00
emuxkireg.h Whitespace cleanup, streight from Yannick Montulet. 2001-12-23 22:52:49 +00:00
emuxkivar.h Merge in changes sent by Michael Shalayeff, from OpenBSD port of this driver: 2001-12-23 23:14:59 +00:00
esa.c free memory allocated for suspend save area in detach 2002-01-23 11:27:59 +00:00
esadsp.h Integrate recording support into the driver. Not very heavily tested yet. 2002-01-07 07:33:09 +00:00
esareg.h Use standard PCI power management definitions from pcireg.h instead 2002-01-14 19:24:39 +00:00
esavar.h Add support for the driver to work after suspend/resume. Does nothing 2002-01-13 10:06:51 +00:00
esm.c Use standard PCI power management definitions from pcireg.h instead 2002-01-14 19:24:39 +00:00
esmreg.h Use standard PCI power management definitions from pcireg.h instead 2002-01-14 19:24:39 +00:00
esmvar.h Avoid an "unmamed fields" warning (gcc 3.1). 2001-12-31 22:06:47 +00:00
eso.c add RCSID 2001-11-13 07:48:40 +00:00
esoreg.h
esovar.h
files.agp Give each AGP controller its own attribute, and let the "agpbus" 2001-09-15 01:32:10 +00:00
files.pci Reduce the massive code duplication regarding joy(4). Split it into 2002-02-02 18:37:38 +00:00
fms.c add RCSID 2001-11-13 07:48:40 +00:00
fmsvar.h
fwlynx_pci.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
fwohci_pci.c OCHI -> OHCI 2002-01-26 16:30:00 +00:00
hifn7751.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
hifn7751reg.h
hifn7751var.h
i82365_pci.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
i82365_pcivar.h
if_an_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_de.c add RCSID 2001-11-13 07:48:40 +00:00
if_devar.h
if_en_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_ep_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_epic_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_esh_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_ex_pci.c Turn on mii on 3C980CTXM 2002-02-07 01:32:19 +00:00
if_fpa.c Call malloc(9) with M_ZERO flag instead of bzero() after malloc(). 2002-01-14 13:39:14 +00:00
if_fxp_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_gem_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_gsip.c add RCSID 2001-11-13 07:48:40 +00:00
if_hme_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_le_pci.c Explicitly write explicitly without a second e. 2001-11-21 17:33:26 +00:00
if_levar.h
if_lmc.c Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h 2002-01-04 12:21:24 +00:00
if_lmc_common.c Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h 2002-01-04 12:21:24 +00:00
if_lmc_media.c Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h 2002-01-04 12:21:24 +00:00
if_lmc_nbsd.c Move net/if_sppp.h to net/if_spppvar.h, create a new net/if_sppp.h 2002-01-04 12:21:24 +00:00
if_lmc_types.h Make the LMC driver bus_dma and endian clean (big-endian mode does not appear 2001-08-27 17:47:35 +00:00
if_lmcioctl.h Make the LMC driver bus_dma and endian clean (big-endian mode does not appear 2001-08-27 17:47:35 +00:00
if_lmcvar.h Make the LMC driver bus_dma and endian clean (big-endian mode does not appear 2001-08-27 17:47:35 +00:00
if_ne_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_ntwoc_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_ntwoc_pcireg.h
if_pcn.c DANAS (disable autonegotiation) bit of BCR32 takes its effect when 2002-01-29 04:45:47 +00:00
if_pcnreg.h Fix typo in copyright notice. 2001-11-29 17:15:44 +00:00
if_rtk_pci.c TAB/space cosmetics 2002-02-06 12:43:05 +00:00
if_sf_pci.c add RCSID 2001-11-13 07:48:40 +00:00
if_sip.c Fix problems associated with the SiS 635/735 on-board Ethernet, 2002-02-09 21:04:02 +00:00
if_sipreg.h Fix problems associated with the SiS 635/735 on-board Ethernet, 2002-02-09 21:04:02 +00:00
if_ste.c add RCSID 2001-11-13 07:48:40 +00:00
if_stereg.h
if_stge.c add RCSID 2001-11-13 07:48:40 +00:00
if_stgereg.h Driver for the Sundance Tech./Tamarack TC9021 Gigabit Ethernet 2001-07-25 00:11:51 +00:00
if_ti.c make it compile without INET 2001-11-26 02:41:20 +00:00
if_tireg.h
if_tl.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
if_tlp_pci.c add support for Adaptec ANA-69xx multi-port cards. 2002-02-14 07:59:55 +00:00
if_tlregs.h Improvement: allocate one page of dmamem for Rx, Tx and nullbuff instead of 2001-08-06 19:20:26 +00:00
if_tlvar.h - Allocate control structures at attach time rather than at init time. 2001-09-20 10:04:10 +00:00
if_vr.c add RCSID 2001-11-13 07:48:40 +00:00
if_vrreg.h
if_wi_pci.c Note to self: set variable before using it. 2002-01-15 13:50:59 +00:00
iha_pci.c add RCSID 2001-11-13 07:48:40 +00:00
iop_pci.c add RCSID 2001-11-13 07:48:40 +00:00
isic_pci.c pcmcia -> pci in comment. 2002-02-10 12:26:23 +00:00
isic_pci.h
isic_pci_avm_fritz_pci.c add RCSID 2001-11-13 07:48:40 +00:00
isic_pci_elsa_qs1p.c add RCSID 2001-11-13 07:48:40 +00:00
isp_pci.c Implement F/W crashdumps for 2200 && 2300 cards (kernel compile option). 2002-02-21 22:32:40 +00:00
joy_pci.c Reduce the massive code duplication regarding joy(4). Split it into 2002-02-02 18:37:38 +00:00
ld_amr.c Bare-bones driver for AMI RAID. Parts taken from FreeBSD. This was tried a 2002-01-30 14:35:43 +00:00
ld_twe.c add RCSID 2001-11-13 07:48:40 +00:00
lpt_puc.c don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
maxiradio.c Add support for radio cards. Written by Maxim Tsyplakov and Vladimir Popov 2002-01-01 21:51:38 +00:00
mlx_pci.c add RCSID 2001-11-13 07:48:40 +00:00
mly.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-14 13:23:36 +00:00
mly_tables.h Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6 2001-07-30 19:59:04 +00:00
mlyio.h Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6 2001-07-30 19:59:04 +00:00
mlyreg.h Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6 2001-07-30 19:59:04 +00:00
mlyvar.h Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6 2001-07-30 19:59:04 +00:00
mpu_cmpci.c add RCSID 2001-11-13 07:48:40 +00:00
mpu_eso.c add RCSID 2001-11-13 07:48:40 +00:00
mpu_fms.c add RCSID 2001-11-13 07:48:40 +00:00
mpu_yds.c add RCSID 2001-11-13 07:48:40 +00:00
neo-coeff.h
neo.c add RCSID 2001-11-13 07:48:40 +00:00
neoreg.h
oboe.c Recognized Danube chip as well. 2001-12-11 21:34:06 +00:00
oboereg.h Add driver for the Toshiba's Oboe IrDA chip. From Jan Sparud. 2001-12-02 16:30:30 +00:00
ohci_pci.c add RCSID 2001-11-13 07:48:40 +00:00
opl_cmpci.c add RCSID 2001-11-13 07:48:40 +00:00
opl_eso.c add RCSID 2001-11-13 07:48:40 +00:00
opl_fms.c add RCSID 2001-11-13 07:48:40 +00:00
opl_sv.c add RCSID 2001-11-13 07:48:40 +00:00
opl_yds.c add RCSID 2001-11-13 07:48:40 +00:00
pccbb.c Bug fix: correct chattering suppressor. Card insertion will be 2002-01-10 10:30:08 +00:00
pccbbreg.h Add some register definitions for TI PCI12XX and Toshiba ToPIC. 2001-08-30 09:20:17 +00:00
pccbbvar.h Add PCI power management control. If the power state of a bridge is 2001-11-02 03:32:33 +00:00
pci.c add RCSID 2001-11-13 07:48:40 +00:00
pci_map.c add RCSID 2001-11-13 07:48:40 +00:00
pci_quirks.c add RCSID 2001-11-13 07:48:40 +00:00
pci_subr.c add RCSID 2001-11-13 07:48:40 +00:00
pci_usrreq.c add RCSID 2001-11-13 07:48:40 +00:00
pciconf.c As discussed with Jason Thorpe: while the `cacheline_size\' argument is 2002-02-21 20:22:48 +00:00
pciconf.h Move the declaration of pci_conf_hook down to <machine/pci_machdep.h>; 2002-02-11 17:24:00 +00:00
pcidevs Use BCM prefix instead of SB prefix in previous. 2002-02-20 23:59:58 +00:00
pcidevs.h regen: Use BCM prefix instead of SB prefix in previous. 2002-02-21 00:00:28 +00:00
pcidevs_data.h regen: Use BCM prefix instead of SB prefix in previous. 2002-02-21 00:00:28 +00:00
pciide.c Support Ultra/100 on Intel 830M. From ks@ub.uni-mainz.de on -current-users. 2002-01-29 21:13:17 +00:00
pciide_acard_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_acer_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_amd_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_apollo_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_cmd_reg.h Support Ultra/100 on CMD 0649. 2001-11-15 20:48:17 +00:00
pciide_cy693_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_hpt_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_opti_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_pdc202xx_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_piix_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciide_sis_reg.h Make the various timing, etc. tables const, and add the __unused__ 2001-10-21 18:49:19 +00:00
pciidereg.h
pciidevar.h
pciio.h Fix tyop. 2001-09-14 06:09:42 +00:00
pcireg.h Rename PCI_MAPREG_TYPE_ROM to PCI_MAPREG_ROM_ENABLE to keep up with pciconf.? 2001-08-30 02:53:56 +00:00
pcivar.h Add an ioctl interface to the PCI bus. Add ioctls to read/write 2001-09-13 21:49:40 +00:00
pcscp.c add RCSID 2001-11-13 07:48:40 +00:00
pcscpreg.h
plx9060reg.h
plx9060var.h
ppb.c add RCSID 2001-11-13 07:48:40 +00:00
ppbreg.h Fix the Bridge Control Register bit definitions, add ones that 2001-11-08 03:18:12 +00:00
puc.c add RCSID 2001-11-13 07:48:40 +00:00
puccn.c add RCSID 2001-11-13 07:48:40 +00:00
puccn.h
pucdata.c Fix a minor typo. 2001-12-16 22:23:01 +00:00
pucvar.h
siop_pci.c add RCSID 2001-11-13 07:48:40 +00:00
siop_pci_common.c Dup 53c1010-33 entry for 53c1010-66 (PCI_PRODUCT_SYMBIOS_1010_2). 2002-02-08 04:07:34 +00:00
siop_pci_common.h
sv.c add RCSID 2001-11-13 07:48:40 +00:00
svreg.h
svvar.h
tga.c Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
tga_conf.c Added support for the PowerStorm 4d20, initial support that is. 2001-12-12 07:50:05 +00:00
tgareg.h
tgavar.h Added support for the PowerStorm 4d20, initial support that is. 2001-12-12 07:50:05 +00:00
trm.c malloc() + memset() -> malloc() with M_ZERO flag 2001-12-16 04:17:02 +00:00
trmreg.h Add a driver for the Tekram DC-395U/UW/F and DC-315/U SCSI host adapters, 2001-11-03 17:01:16 +00:00
twe.c add RCSID 2001-11-13 07:48:40 +00:00
twereg.h
twevar.h Back out previous - it causes panics. 2001-10-10 09:33:36 +00:00
uhci_pci.c add RCSID 2001-11-13 07:48:40 +00:00
universe_pci.c add RCSID 2001-11-13 07:48:40 +00:00
universe_pci_var.h
usb_pci.c Use the correct years for copyright. 2002-02-14 21:58:30 +00:00
usb_pci.h Use the correct years for copyright. 2002-02-14 21:58:30 +00:00
vga_pci.c ANSIfication & KNF fixes. 2001-12-13 08:38:35 +00:00
vga_pcivar.h
viaenv.c add RCSID 2001-11-13 07:48:40 +00:00
viapm.c add RCSID 2001-11-13 07:48:40 +00:00
viapmvar.h
weasel_pci.c Watchdog back-end driver for PC Weasel/PCI serial console and remote 2002-01-01 16:48:34 +00:00
weaselreg.h Watchdog back-end driver for PC Weasel/PCI serial console and remote 2002-01-01 16:48:34 +00:00
yds.c remove a unnecessary message print 2002-01-10 10:17:55 +00:00
ydsreg.h
ydsvar.h add 600 times dummy read from codec for YMF744 (revision < 2). 2001-12-25 16:55:50 +00:00

README

$NetBSD: README,v 1.3 1998/08/15 03:02:46 mycroft Exp $

This directory contains files which are used during PCI configuration
and PCI device drivers.  Eventually, most of the device drivers and
some of the configuration support should become machine-independent
and be moved to a more general location.

The configuration support was implemented according to the `PCI Local
Bus Specification, Production Version, Revision 2.0' dated April 30,
1993.  Section numbers referred to in the code may be specific to that
edition of the specification.

Some attempt has been made to insure that the code works on rogue
machines where the BIOS doesn't do its job, but in general I can't
guarantee that.

--
- Charles M. Hannum
  NetBSD group
  August 8, 1994