NetBSD/sys/dev/pci
mycroft ad44e79f90 It appears there's a race condition when disabling a channel that causes us to
need to explicitly relatch the interrupt when firing it up again.  So, in the
trigger routines, explicitly disable and reenable the interrupt to relatch it,
like we do in the interrupt routine.

Also clean up some broken loop overrun checks.

My ES1371 seems to be more reliable now, but I'm not going to pretend to fully
understand this chip.
2001-04-24 21:03:33 +00:00
..
bktr Sigh. 2001-03-16 19:32:35 +00:00
adv_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
adw_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
ahc_pci.c There was a stray debugging message "OptionMode = %x\n". Prefix it with 2001-03-24 02:04:40 +00:00
auich.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
auichreg.h Use AC97_REG_* constants rather than defining them ourselves. 2000-11-28 16:57:16 +00:00
auvia.c Switch line in mute off by default. 2001-02-19 21:14:49 +00:00
auviavar.h do not try to get/set sample rate on codecs which don't support variable 2000-12-10 15:43:02 +00:00
bha_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
btvmei.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
btvmeii.c
btvmeireg.h
btvmeivar.h
cac_pci.c Make this work with the SA 431 and 42xx series controllers. 2001-01-10 16:48:04 +00:00
cmpci.c some improvement for cmpci; SPDIF supports, etc. 2001-02-12 18:47:12 +00:00
cmpcireg.h some improvement for cmpci; SPDIF supports, etc. 2001-02-12 18:47:12 +00:00
cmpcivar.h some improvement for cmpci; SPDIF supports, etc. 2001-02-12 18:47:12 +00:00
com_puc.c Ops, forgot to commit this file along with the "variable com freq" support. 2001-03-16 16:43:54 +00:00
cs428x.c rewrite suspend/resume routine. If you suspend while playing audio, 2001-04-18 01:35:06 +00:00
cs428x.h rewrite suspend/resume routine. If you suspend while playing audio, 2001-04-18 01:35:06 +00:00
cs428xreg.h Clean up a little. 2001-01-22 01:44:56 +00:00
cs4280_image.h constify 2001-01-18 20:28:15 +00:00
cs4280.c rewrite suspend/resume routine. If you suspend while playing audio, 2001-04-18 01:35:06 +00:00
cs4280reg.h Split out common code to cs428x.c and cosmetic change to introduce 2001-02-07 14:41:10 +00:00
cs4281.c rewrite suspend/resume routine. If you suspend while playing audio, 2001-04-18 01:35:06 +00:00
cs4281reg.h Split out common code to cs428x.c and cosmetic change to introduce 2001-02-07 14:41:10 +00:00
cy82c693.c adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case 2000-11-24 03:59:07 +00:00
cy82c693reg.h Common routines for read/writing Cypress 82c693 control registers. Needed 2000-06-06 03:07:39 +00:00
cy82c693var.h Common routines for read/writing Cypress 82c693 control registers. Needed 2000-06-06 03:07:39 +00:00
cy_pci.c Only need to pass a cy_softc * to cy_attach(). 2001-01-20 02:26:39 +00:00
cz.c Use device_lookup() in cztty_getttysoftc(). 2001-01-20 19:10:36 +00:00
czreg.h Add a device driver for the Cyclades-Z series of intelligent multi-port 2000-05-17 17:58:09 +00:00
devlist2h.awk make pci_knowndevs[] const 2001-01-18 13:03:22 +00:00
dpt_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
eap.c It appears there's a race condition when disabling a channel that causes us to 2001-04-24 21:03:33 +00:00
eapreg.h Add driver for C-Media CMI8x38 Audio Chip. From Takuya SHIOZAKI <AoiMoe@imou.to> 2000-04-30 21:59:58 +00:00
ehci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
esm.c Fix DPRINTF statements so this compiles with debug enabled. 2001-03-31 10:10:37 +00:00
esmreg.h No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
esmvar.h Power Management Hook 2001-02-12 23:56:40 +00:00
eso.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
esoreg.h
esovar.h Scale the drain timeout for allowing auto-initialize DMA to complete. 2000-03-22 14:37:43 +00:00
files.pci Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00
fms.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
fmsvar.h
fwlynx_pci.c Add the PCI frontend for the TI LYNX firewire chip. Note that the 2001-03-06 07:38:32 +00:00
fwohci_pci.c Use IPL_NET for now -- the only use of 1394 right now is for network 2001-04-12 21:39:31 +00:00
hifn7751.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
hifn7751reg.h hifn7751 crypto card driver. from openbsd. 2000-10-12 02:59:59 +00:00
hifn7751var.h hifn7751 crypto card driver. from openbsd. 2000-10-12 02:59:59 +00:00
i82365_pci.c
i82365_pcivar.h
if_an_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_de.c Help messages appear each on their own line when 2001-03-04 00:01:06 +00:00
if_devar.h `typedef void ifnet_ret_t;' isn't valid C -- use #define, instead. 2000-05-03 20:52:29 +00:00
if_en_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ep_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_epic_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_esh_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ex_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_fpa.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_fxp_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_hme_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_le_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_levar.h
if_lmc_common.c support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_lmc_media.c support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_lmc_nbsd.c support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_lmc_types.h support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_lmc.c support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_lmcioctl.h support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_lmcvar.h support T1 card (LMC1200) properly. PR 12331 (patch from openbsd). 2001-04-12 07:50:54 +00:00
if_ne_pci.c Adjust the way that media is initialized on DP8390-compatible 2001-02-12 18:49:03 +00:00
if_ntwoc_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ntwoc_pcireg.h
if_rtk_pci.c Match the SEGA Dreamcast Broadband Adapter, and use PCI memory 2001-01-31 07:44:04 +00:00
if_sip.c There is no need to accept all ARP packets (regardless of destination 2001-03-24 19:40:51 +00:00
if_sipreg.h Goes along with rev. 1.25/1.26 of if_sip.c -- forgot to commit. 2001-03-09 16:12:29 +00:00
if_ti.c Handle allmulti case correctly as a NetBSD network driver; 2001-01-29 01:24:42 +00:00
if_tireg.h Pull up FreeBSD changes: 2000-11-17 19:33:25 +00:00
if_tl.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_tlp_pci.c C requires that labels be followed by statements. 2001-02-24 00:01:22 +00:00
if_tlregs.h
if_tlvar.h New callout mechanism with two major improvements over the old 2000-03-23 07:01:25 +00:00
if_vr.c Use ether_crc32_be() for multicast hash calculation. 2001-01-29 12:04:10 +00:00
if_vrreg.h
iop_pci.c - Allocate any private space thats requested. 2001-04-01 15:06:22 +00:00
isic_pci_avm_fritz_pci.c First step to cleanup the hardware driver <-> upper layers interface. 2001-03-24 12:40:29 +00:00
isic_pci_elsa_qs1p.c Filename cleanup: remove i4b_ prefixes outside sys/netisdn, last round. 2001-02-20 22:24:31 +00:00
isic_pci.c First step to cleanup the hardware driver <-> upper layers interface. 2001-03-24 12:40:29 +00:00
isic_pci.h Filename cleanup police (per discussion with Soren S. Jorvang): 2001-02-18 09:37:19 +00:00
isp_pci.c Clean up licence a bit. ANSIfy. 2001-03-14 05:47:56 +00:00
ld_twe.c No need to submit before poll any more. 2001-01-26 19:53:15 +00:00
lpt_puc.c
Makefile Only install headers which are actually used by our userland. This 2001-04-11 07:42:31 +00:00
Makefile.pcidevs
mlx_pci.c Make it compile (for alpha). The porting author might want to look 2001-02-18 21:02:54 +00:00
mpu_eso.c
mpu_fms.c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
mpu_yds.c Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00
ncr.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
ncrreg.h
ncrstat.c
neo-coeff.h Driver for NeoMagic 256 audio. Based on the OpenBSD driver, which is 2000-11-05 06:43:45 +00:00
neo.c this driver doesn't work on my thinkpad, so disable the match for the 2001-03-14 11:38:55 +00:00
neoreg.h Driver for NeoMagic 256 audio. Based on the OpenBSD driver, which is 2000-11-05 06:43:45 +00:00
ohci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
opl_eso.c
opl_fms.c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
opl_sv.c
opl_yds.c Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00
pccbb.c splimp -> splvm (use IPL_IMP needs to be revisited). 2001-04-12 18:18:31 +00:00
pccbbreg.h Turn off the damned TI `VCC protection' bit. 2000-12-08 21:51:02 +00:00
pccbbvar.h Re-initialize more registers after resuming from suspend. 2001-02-20 15:16:38 +00:00
pci_map.c ANSI'ify. 2000-11-29 18:22:17 +00:00
pci_quirks.c
pci_subr.c adapt to pci_knowndevs[] being const, make local constant arrays const 2001-01-18 13:12:13 +00:00
pci.c allow pci_bus_maxdevs() to be replaced with pci_bus_devorder() and 2001-03-02 06:24:17 +00:00
pciconf.c Deal with a lack of the proper type of memory. For example, if a bridge 2001-02-12 06:24:24 +00:00
pciconf.h Add an option (defopt) PCI_NETBSD_CONFIGURE that provides PCI bus 2001-02-09 14:33:15 +00:00
pcidevs Correct an entry for Acard UDMA IDE controller. 2001-04-21 13:28:52 +00:00
pcidevs_data.h Regen from pcidevs rev. 1.318: 2001-04-21 13:32:25 +00:00
pcidevs.h Regen from pcidevs rev. 1.318: 2001-04-21 13:32:25 +00:00
pciide_acard_reg.h Preliminary support for Acard ATP850/860 UDMA PCI IDE controllers. 2001-04-21 16:36:37 +00:00
pciide_acer_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_amd_reg.h Work around a bug in AMD756 rev D2, from patches provided by David Sainty: 2000-07-06 15:08:11 +00:00
pciide_apollo_reg.h Run at Ultra/66 on VIA controllers that can do it. PCI vendor/device/revision 2001-01-05 18:04:42 +00:00
pciide_cmd_reg.h Add support for the CMD PCI646U. Linux claims that this driver is brocken 2000-08-02 20:23:45 +00:00
pciide_cy693_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_hpt_reg.h Add support for Ultra/100 on the HPT370 2001-01-05 15:20:53 +00:00
pciide_opti_reg.h The OPTi controller supports a 32-bit dataport after all. 2000-06-07 20:42:52 +00:00
pciide_pdc202xx_reg.h Correct definition of PDC262_U66_EN (from FreeBSD). 2001-03-12 09:51:21 +00:00
pciide_piix_reg.h Add support for Ultra/100 on intel ICH2; from Tomokazu HARADA in kern/11747. 2001-01-05 15:29:39 +00:00
pciide_sis_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide.c Preliminary support for Acard ATP850/860 UDMA PCI IDE controllers. 2001-04-21 16:36:37 +00:00
pciidereg.h NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
pciidevar.h Fix bug which affects pciide controllers in native mode (found by 2001-01-12 16:03:59 +00:00
pcireg.h Deal with a lack of the proper type of memory. For example, if a bridge 2001-02-12 06:24:24 +00:00
pcivar.h Only include "locators.h" is _KERNEL is defined. 2001-03-05 23:50:02 +00:00
pcscp.c use NCR_F_DMASELECT instead ncr53c9x_dmaselect 2001-03-29 03:26:52 +00:00
pcscpreg.h
plx9060reg.h Register definitions and preliminary API definition for the PLX 9060 2000-05-17 17:47:00 +00:00
plx9060var.h Register definitions and preliminary API definition for the PLX 9060 2000-05-17 17:47:00 +00:00
ppb.c
ppbreg.h
puc.c In the self-describing bogus code block, at least use plausible 2001-03-02 06:56:11 +00:00
puccn.c Change $Id: to $NetBSD$ 2000-12-09 06:54:27 +00:00
puccn.h Change $Id: to $NetBSD$ 2000-12-09 06:54:27 +00:00
pucdata.c Looks like "VSCom PCI-800H" should be in fact "Titan PCI-800H". 2001-03-13 17:23:52 +00:00
pucvar.h Add a 'flag' member to struct puc_attach_args and struct port. For 2001-01-03 15:13:15 +00:00
README
siop_pci_common.c 1010 has clock quadrupler but without PPL, so use SF_CHIP_DBLR. 2001-03-15 17:41:28 +00:00
siop_pci_common.h Add ram size to struct properties, and pass it to the bus independant part. 2000-10-23 14:57:23 +00:00
siop_pci.c - split siop_pci in attachements vs helper functions, for comming esiop 2000-05-15 07:53:17 +00:00
sv.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
svreg.h
svvar.h
tga_conf.c Restore ramdac-type field to TGA configuration structure. 2000-04-02 18:59:32 +00:00
tga.c Make tga_rop_vtov deal with copies of <256 byte granularity, necessary 2001-02-11 19:34:58 +00:00
tgareg.h
tgavar.h Replace rcons console code with rasops console code. 2000-04-20 05:25:20 +00:00
ti_fw2.h add NetBSD RCS id again 2001-03-28 17:22:51 +00:00
ti_fw.h add NetBSD RCS id 2001-03-28 17:08:29 +00:00
twe.c AEN 0x000c appears to mean `init started'. From lukem. 2001-03-30 16:48:57 +00:00
twereg.h - Complain if interrupt-driven retrieval of AENs fails somehow. 2001-01-22 17:32:11 +00:00
twevar.h Don't choke when we get lots of AENs all at once. 2001-03-04 17:50:51 +00:00
uhci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
universe_pci_var.h
universe_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
vga_pci.c Just add the mmap argument to vga_common_attach(), don't bother 2000-08-14 20:14:50 +00:00
vga_pcivar.h
viaenv.c Add a clearing-house pseudo-device for system monitoring devices 2000-06-24 00:37:19 +00:00
viapm.c Apply indent(1). 2000-05-12 16:42:41 +00:00
viapmvar.h Apply indent(1). 2000-05-12 16:42:41 +00:00
yds.c Make this compile on alpha with DIAGNOSTIC. 2001-04-05 12:36:51 +00:00
ydsreg.h Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00
ydsvar.h Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00

$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