NetBSD/sys/dev/pci
fvdl ac50343c76 Add a pci_find_device function, to find a PCI device using a match
function on all (probed) PCI buses:

int     pci_find_device(struct pci_attach_args *pa,
                        int (*match)(struct pci_attach_args *));

The pci_attach_args structure pointed to by pa is filled in if the
device is found, and 1 is returned. Otherwise 0 is returned.

This function is, unfortunately, needed by the i810 agp code. It's
also of use for LKMs.

Also frob pci_probe_bus to take 2 extra args when used by pci_find_device.
2001-09-10 10:04:49 +00:00
..
bktr Sigh. 2001-03-16 19:32:35 +00:00
Makefile Add a driver for Mylex AcceleRAID and eXtremeRAID controllers with v6 2001-07-30 19:59:04 +00:00
Makefile.pcidevs Tron whacked my you-know-what because I didn't follow procedure. 1999-03-16 22:41:56 +00:00
README
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
agp.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agp_ali.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agp_amd.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agp_i810.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agp_intel.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agp_sis.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +00:00
agp_via.c AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +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 AGP GART support code. Originally written by Doug Rabson for FreeBSD, 2001-09-10 10:01:00 +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 It seems the fixed rate versions are actually fixed at 48 kHz, not 44.1 kHz. 2001-08-04 22:15:56 +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 Split pci and eisa/isa attachment calls, plus misc cleanup. 2001-05-03 20:34:54 +00:00
btvmei.c receive, not recieve 2001-06-12 15:17:10 +00:00
btvmeii.c bcopy -> memcpy 2001-07-07 16:37:38 +00:00
btvmeireg.h receive, not recieve 2001-06-12 15:17:10 +00:00
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 - Add opl at cmpci attachment. 2001-09-04 13:36:07 +00:00
cmpcireg.h - Add opl at cmpci attachment. 2001-09-04 13:36:07 +00:00
cmpcivar.h - Add opl at cmpci attachment. 2001-09-04 13:36:07 +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.c rewrite suspend/resume routine. If you suspend while playing audio, 2001-04-18 01:35:06 +00:00
cs4280_image.h constify 2001-01-18 20:28:15 +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
cy_pci.c Only need to pass a cy_softc * to cy_attach(). 2001-01-20 02:26:39 +00:00
cz.c Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point 2001-05-02 10:32:08 +00:00
czreg.h
devlist2h.awk make pci_knowndevs[] const 2001-01-18 13:03:22 +00:00
dpt_pci.c Pull up the thorpej_scsipi branch to main branch. 2001-04-25 17:53:04 +00:00
eap.c Fixed compiling error when AUDIO_DEBUG was switched on ... 2001-09-03 15:07:37 +00:00
eapreg.h
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 Spell "portege" correctly - it's a computer, not a car. 2001-04-25 03:06:11 +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 Hint BUS_DMA_READ and BUS_DMA_WRITE. 2001-07-19 17:19:40 +00:00
esoreg.h
esovar.h
files.pci Add "opl at cmpci" and "mpu at cmpci" attachment. 2001-09-04 13:37:29 +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 Change to IPL_BIO 2001-05-01 05:10:30 +00:00
hifn7751.c bcmp -> memcmp 2001-07-07 16:47:43 +00:00
hifn7751reg.h
hifn7751var.h
i82365_pci.c
i82365_pcivar.h
if_an_pci.c Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_de.c bcmp -> memcmp 2001-07-07 16:47:43 +00:00
if_devar.h withough -> without 2001-06-13 10:45:57 +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 Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_epic_pci.c Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_esh_pci.c Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_ex_pci.c Improve intr_ack code to support for 3c556,3c556B. 2001-08-18 05:49:28 +00:00
if_fpa.c bcopy -> strcpy 2001-07-07 16:39:16 +00:00
if_fxp_pci.c Add enable/disable hooks on devices that have ACPI power management 2001-08-05 23:39:59 +00:00
if_gsip.c Add a driver for the National Semiconductor DP83820 Gigabit Ethernet 2001-05-18 02:03:53 +00:00
if_hme_pci.c Use #include <machine/intr.h> instead of #include <machine/cpu.h> to 2001-08-27 22:37:33 +00:00
if_le_pci.c Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_levar.h
if_lmc.c Make the LMC driver bus_dma and endian clean (big-endian mode does not appear 2001-08-27 17:47:35 +00:00
if_lmc_common.c Make the LMC driver bus_dma and endian clean (big-endian mode does not appear 2001-08-27 17:47:35 +00:00
if_lmc_media.c Make the LMC driver bus_dma and endian clean (big-endian mode does not appear 2001-08-27 17:47:35 +00:00
if_lmc_nbsd.c Get rid of debug printf. 2001-08-27 22:38:34 +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 Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_ntwoc_pci.c add (u_long) casts for sparc64. 2001-08-14 11:55:38 +00:00
if_ntwoc_pcireg.h
if_pcn.c Fix an obvious typo found while reading the source. 2001-09-02 13:17:54 +00:00
if_pcnreg.h New driver for the AMD PCnet-PCI family of Ethernet chips. This 2001-08-27 19:42:18 +00:00
if_rtk_pci.c Costmetic change. 2001-07-18 01:10:09 +00:00
if_sf_pci.c Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
if_sip.c Make sure to initialize the all Rx descriptors properly in *_init() 2001-07-23 17:26:50 +00:00
if_sipreg.h Add a driver for the National Semiconductor DP83820 Gigabit Ethernet 2001-05-18 02:03:53 +00:00
if_ste.c Make sure to initialize the all Rx descriptors properly in *_init() 2001-07-23 17:26:50 +00:00
if_stereg.h Device driver for the Sundance Tech. ST-201 10/100 Ethernet. This 2001-06-19 23:00:47 +00:00
if_stge.c Oops, make Rx interrupt deferral actually work. 2001-07-30 20:12:10 +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 precede, not preceed. 2001-08-20 12:00:46 +00:00
if_tireg.h IFM_1000_TX -> IFM_1000_T, as (breifly) discussed on tech-net. 2001-06-30 17:53:58 +00:00
if_tl.c Properly set/clear IFF_OACTIVE. 2001-08-07 16:53:06 +00:00
if_tlp_pci.c Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +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 Improvement: allocate one page of dmamem for Rx, Tx and nullbuff instead of 2001-08-06 19:20:26 +00:00
if_vr.c mtod() with uintptr_t, not bus_addr_t. 2001-08-14 11:57:26 +00:00
if_vrreg.h
iha_pci.c Add a driver for the Initio INIC-940/950 PCI SCSI controllers. 2001-06-03 13:43:45 +00:00
iop_pci.c - Allocate any private space thats requested. 2001-04-01 15:06:22 +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
isic_pci_avm_fritz_pci.c bcopy -> memcpy 2001-07-07 16:37:38 +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
isp_pci.c Add support for 2 Gigabit cards (2300/2312). This necessitated a change 2001-09-01 07:12:23 +00:00
ld_twe.c Centralise the geometry fudge. 2001-06-10 10:48:42 +00:00
lpt_puc.c
mlx_pci.c Map both memory and IO space, but prefer using memory space. 2001-07-26 15:35:20 +00:00
mly.c Remove unnecessary test. 2001-08-03 14:10:16 +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 MPU-401 compatible MIDI UART driver for C-Media CMI8x38 2001-09-04 13:07:59 +00:00
mpu_eso.c
mpu_fms.c
mpu_yds.c Yamaha YMF724/740/744/754 (DS-1) PCI audio driver. 2001-03-30 14:32:08 +00:00
neo-coeff.h
neo.c Use bus_space_mmap(). 2001-09-04 06:59:10 +00:00
neoreg.h
ohci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
opl_cmpci.c OPL3 driver for C-Media CMI8x38 2001-09-04 13:07:11 +00:00
opl_eso.c
opl_fms.c
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 Add some register definitions for TI PCI12XX and Toshiba ToPIC. 2001-08-30 09:20:17 +00:00
pccbbreg.h Add some register definitions for TI PCI12XX and Toshiba ToPIC. 2001-08-30 09:20:17 +00:00
pccbbvar.h split pccbb_intr_route() into seperate function. 2001-07-06 18:06:59 +00:00
pci.c Add a pci_find_device function, to find a PCI device using a match 2001-09-10 10:04:49 +00:00
pci_map.c ANSI'ify. 2000-11-29 18:22:17 +00:00
pci_quirks.c
pci_subr.c Fix sample code in comment; pci_conf_print() takes three arguments. 2001-09-09 01:45:29 +00:00
pciconf.c Bump MAX_CONF_DEV to 32, add some missing newlines in error 2001-09-03 03:46:26 +00:00
pciconf.h Respect __PCI_BUS_DEVORDER. 2001-08-30 02:52:41 +00:00
pcidevs we (research center Juelich) are a PCISIG member now - add the vendor ID 2001-09-05 13:46:51 +00:00
pcidevs.h regen 2001-09-05 13:47:59 +00:00
pcidevs_data.h regen 2001-09-05 13:47:59 +00:00
pciide.c Check 80 pins cable in acard_setup_channel() for Acard ATP860. 2001-08-23 10:02: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 Better support for newer ALI M5229 chipsets: support Ultra/66 for rev >= 0xC2, 2001-07-26 20:02:21 +00:00
pciide_amd_reg.h Add amd766 support. Rename some variables to 7x6 now that it supports 2001-05-06 20:06:35 +00:00
pciide_apollo_reg.h Better support for VIA chipsets: look at the product/rev ID of the ISA bridge 2001-05-04 15:25:05 +00:00
pciide_cmd_reg.h
pciide_cy693_reg.h
pciide_hpt_reg.h Handle HPT-370A controllers, from skanto@sjk-software.fi (kern/13540) but 2001-07-23 14:55:26 +00:00
pciide_opti_reg.h
pciide_pdc202xx_reg.h Fix typo. s/extention/extension/ 2001-07-05 08:38:24 +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
pciidereg.h NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
pciidevar.h For ports that wire up pciide in compatibility mode, have 2001-06-08 04:48:54 +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 a pci_find_device function, to find a PCI device using a match 2001-09-10 10:04:49 +00:00
pcscp.c Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places. 2001-07-19 16:36:14 +00:00
pcscpreg.h Device driver for the AMD Am53c974 PCscsi-PCI SCSI chip (i.e. the chip used 1999-01-06 23:23:33 +00:00
plx9060reg.h
plx9060var.h
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 added bridge secondary bus reset macros. 2001-07-06 18:07:16 +00:00
puc.c In the self-describing bogus code block, at least use plausible 2001-03-02 06:56:11 +00:00
puccn.c add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
puccn.h Change $Id: to $NetBSD$ 2000-12-09 06:54:27 +00:00
pucdata.c Add support for the PCI-400 card and correct the clock rate for all the 2001-08-06 22:25:36 +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
siop_pci.c
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
sv.c Hint BUS_DMA_READ and BUS_DMA_WRITE. 2001-07-19 17:47:18 +00:00
svreg.h
svvar.h
tga.c Use bus_space_mmap(). 2001-09-04 06:59:10 +00:00
tga_conf.c
tgareg.h
tgavar.h Use bus_space_mmap(). 2001-09-04 06:59:10 +00:00
twe.c Use BUS_DMA_READ and BUS_DMA_WRITE in some obvious places. 2001-07-19 16:36:14 +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.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
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 Use PWAIT for the lock, not 0. 2001-08-27 11:24:38 +00:00
viapm.c
viapmvar.h
yds.c bzero -> memset 2001-07-07 16:46:34 +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

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