NetBSD/sys/dev/pci
itohy 5ce651390d Fix problem where tsleep() is used not on the cardbus thread.
This change makes PCMCIA cards work again on my machine.

Unfortunately, some of the DELAY_MS() are called when the current
process is not the cardbus thread, that is, on interrupt contexts.
I confirmed these are actually used in interrupt context and replaced
them with delay()s.  However, I haven't confirmed other DELAY_MS()s
are always on the cardbus thread.

This shall be a temporary fix.  The driver needs being rewritten
not to use such delay()s, of course.
2001-01-30 07:23:14 +00:00
..
bktr constify 2001-01-18 20:28:15 +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 constify 2001-01-18 20:28:15 +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 Don't make local defines for stuff that's already in ac97reg.h. 2001-01-05 03:33:39 +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 support bus probes a la "badaddr" and VME interrupts, fix error handling 2000-03-12 11:23:06 +00:00
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 constify 2001-01-18 20:28:15 +00:00
cmpcireg.h Add driver for C-Media CMI8x38 Audio Chip. From Takuya SHIOZAKI <AoiMoe@imou.to> 2000-04-30 21:59:58 +00:00
cmpcivar.h Add driver for C-Media CMI8x38 Audio Chip. From Takuya SHIOZAKI <AoiMoe@imou.to> 2000-04-30 21:59:58 +00:00
com_puc.c
cs428x.h Clean up a little. 2001-01-22 01:44:56 +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 Sleep a little when closing the midi device to allow the UART to drain. 2001-01-27 18:37:01 +00:00
cs4280reg.h Use <dev/ic/ac97reg.h> 2000-05-15 01:35:29 +00:00
cs4281.c Clean up a little. 2001-01-22 01:44:56 +00:00
cs4281reg.h Clean up a little. 2001-01-22 01:44:56 +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 ANSIfy. 2001-01-27 18:53: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 Add left/right reversal quirk entry for Toshiba Protege 7020 2001-01-26 10:04:43 +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 No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +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 Add support code to have the Hardware Volume Control interact with the 1999-12-10 19:13:00 +00:00
esovar.h Scale the drain timeout for allowing auto-initialize DMA to complete. 2000-03-22 14:37:43 +00:00
files.pci opt_twe.h isn't needed any more. 2001-01-22 17:40:14 +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
fwohci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +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
i4b_avm_fritz_pci.c Nuke all uses of splimp() in the isdn subsystem, replace by splnet(). 2001-01-19 12:44:44 +00:00
i4b_elsa_qs1p.c Prefer memory mapping over io mapping for this card too, 2001-01-10 21:41:36 +00:00
i82365_pci.c Delete a superfluous newline in attach message. 2000-02-24 03:42:44 +00:00
i82365_pcivar.h Don't use void * for chipset tags. Bad hacker, no biscuit. 2000-02-22 16:04:44 +00:00
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 Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59: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 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
if_lmc_media.c remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
if_lmc_nbsd.c match T1 card. from freebsd driver, it should just work. 2001-01-12 05:19:18 +00:00
if_lmc_types.h
if_lmc.c NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
if_lmcioctl.h
if_lmcvar.h Adapt to bpfattach() changes, and further centralize the bpfattach() 2000-12-12 18:00:22 +00:00
if_ne_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +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 Add support for setting the clock and adapt the code to the new more 2000-01-04 06:31:39 +00:00
if_rtk_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_sip.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_sipreg.h Some more register definitions for the DP83815. 2000-09-21 04:05:43 +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 Add Accton EN2242 10/100 MiniPCI Ethernet. 2001-01-08 21:50:47 +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 Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
isp_pci.c Use bootverbose to now set whether or not we add 2000-12-30 08:49:11 +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
Makefile.pcidevs
mpu_eso.c
mpu_fms.c ac97.h -> ac97var.h 2000-05-15 01:27:44 +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 Use htole32() and le32toh() instead of SCR_BO(). 1999-12-26 10:41:22 +00:00
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 Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +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
pccbb.c Fix problem where tsleep() is used not on the cardbus thread. 2001-01-30 07:23:14 +00:00
pccbbreg.h Turn off the damned TI `VCC protection' bit. 2000-12-08 21:51:02 +00:00
pccbbvar.h Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
pci_isic.c Move interrupt mapping before initialization of the card (which might 2001-01-11 22:46:40 +00:00
pci_isic.h Initial import of ISDN4BSD release 0.96 2001-01-05 12:49:52 +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 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
pcidevs Add Toshiba Protege product code 2001-01-26 10:03:47 +00:00
pcidevs_data.h regen 2001-01-26 10:04:12 +00:00
pcidevs.h regen 2001-01-26 10:04:12 +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 Sync my copyrigth notice. 2000-05-15 08:46:00 +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 Fix bug which affects pciide controllers in native mode (found by 2001-01-12 16:03:59 +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 Update for current PCI device class/subclass and capability codes. 2000-10-07 18:58:13 +00:00
pcivar.h remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
pcscp.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +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 Don't pass rd/mult capability though a PCI-PCI bridge. The bridge would 1999-11-04 19:04:04 +00:00
ppbreg.h
puc.c Add a 'flag' member to struct puc_attach_args and struct port. For 2001-01-03 15:13:15 +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 Ops, add COM_FREQ to a few PUC_PORT_TYPE_COM I missed. 2001-01-04 11:34:27 +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 Add the 53c1510d and 53c895a. 1510d confirmed working by 2001-01-10 15:50:20 +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 Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
tgareg.h Bus_space-ify TGA register accesses. 2000-03-12 05:32:29 +00:00
tgavar.h Replace rcons console code with rasops console code. 2000-04-20 05:25:20 +00:00
ti_fw2.h constify 2001-01-18 20:28:15 +00:00
ti_fw.h constify 2001-01-18 20:28:15 +00:00
twe.c Oops, be sure to clear the ATTN interrupt on error. 2001-01-23 20:47:02 +00:00
twereg.h - Complain if interrupt-driven retrieval of AENs fails somehow. 2001-01-22 17:32:11 +00:00
twevar.h Fix up license. 2001-01-23 20:51:01 +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 add support for DMA mapping, bus probes ala "badaddr" and VME interrupts, 2000-03-12 11:21:02 +00:00
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

$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