NetBSD/sys/dev/pci
msaitoh a947615e2f - Add missing IFM_NONE support. If a interface support linkdown,
"ifconfig ixgN media none" drpos link.  Not all interface can do link down.

 Tested:
 	82598 AT2 (T)
	92599 SF+(SFI) (X520-DA2)
	X540
	X550-T1
	X550EM_x (X10SDV-8C-TLN4F)
	X550EM_a (A2SDi-H-TP4F port 0, 1 (T))

 Doesn't work:
	X550EM_a (A2SDi-H-TP4F port 2, 3 (SFP+ (KR)))
	X550EM_a (MA10-ST0 port 2, 3 (SFP+ (SFI)))
	(Denverton SFP+ can't force link down because SFP+'s TX_DISABLE pin is
	pull down. Is there a way to shutdown SFP+ cage's power?)
 Not tested:
 	82598 fiber.

- Change some functions static.
2018-03-30 06:44:30 +00:00
..
bktr
cxgb Typos. 2018-02-08 09:05:16 +00:00
igma
ixgbe - Add missing IFM_NONE support. If a interface support linkdown, 2018-03-30 06:44:30 +00:00
n8 Typos. 2018-02-08 09:05:16 +00:00
voyager enable font loading 2018-01-19 23:37:36 +00:00
aac_pci.c
acardide.c Merge support for SATA NCQ (Native Command Queueing) from jdolecek-ncq branch 2017-10-07 16:05:31 +00:00
aceride.c Apply workaround from FreeBSD to fix read data corruption observed 2017-07-21 21:01:13 +00:00
adv_pci.c
adw_pci.c
agp_ali.c
agp_amd64.c
agp_amd.c
agp_apple.c
agp_i810.c
agp_i810var.h
agp_intel.c
agp_sis.c
agp_via.c
agp.c
agpbusprint.c
agpreg.h
agpvar.h
ahc_pci.c
ahcisata_pci.c
ahd_pci.c malloc+memset zero to malloc(, |M_ZERO); 2018-01-15 12:43:42 +00:00
alipm.c
amdpm_smbus.c
amdpm_smbusreg.h
amdpm.c
amdpmreg.h
amdpmvar.h
amr.c
amrio.h
amrreg.h
amrvar.h
arcmsr.c tag arcmsr scsipi adapter and pci interrupt as MPSAFE. I/O is now done 2017-08-12 11:03:47 +00:00
arcmsrvar.h
artsata.c move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init() 2017-10-20 07:06:05 +00:00
atppc_puc.c
auacer.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
auacerreg.h Typos. 2018-02-08 09:05:16 +00:00
auich.c use pci_intr_establish_xname() 2018-03-24 18:32:13 +00:00
auichreg.h Typos. 2018-02-08 09:05:16 +00:00
auixp.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
auixpreg.h
auixpvar.h
autri.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
autrireg.h
autrivar.h
auvia.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
auviavar.h
azalia_codec.c Mixer device bounds checking. 2017-07-28 01:36:40 +00:00
azalia.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
azalia.h
bha_pci.c
btvmei.c
btvmeii.c
btvmeireg.h
btvmeivar.h
cac_pci.c
chipsfb.c
ciss_pci.c Add a new option CISS_NO_INTERRUPT_HACK for driving ciss(4) by callouts. 2018-02-12 23:11:00 +00:00
cmdide.c do not share queue between the non-indepedant channels; instead make 2017-10-22 13:13:55 +00:00
cmpci.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
cmpcireg.h
cmpcivar.h
com_puc.c Use {isa,pci}_intr_establish"_xname"() for intrctl(8). 2017-04-27 10:01:53 +00:00
coram.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
coramvar.h
cs428x.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
cs428x.h
cs428xreg.h
cs4280_image.h
cs4280.c
cs4280reg.h
cs4281.c
cs4281reg.h
cx23885reg.h
cxdtv_boards.c
cxdtv_boards.h
cxdtv.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
cxdtvreg.h
cxdtvvar.h
cy82c693.c
cy82c693reg.h
cy82c693var.h
cy_pci.c
cyber.c
cyberreg.h
cybervar.h
cypide.c move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init() 2017-10-20 07:06:05 +00:00
cz.c
czreg.h
dpt_pci.c
eap.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
eapreg.h
eapvar.h
ehci_pci.c Deal with broken BIOSes that leave PCI interrupts disabled. 2017-06-12 10:59:47 +00:00
emuxki.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
emuxkireg.h
emuxkivar.h
esa.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
esadsp.h
esareg.h
esavar.h
esiop_pci.c
esm.c
esmreg.h
esmvar.h
eso.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
esoreg.h
esovar.h
files.agp
files.pci Move the imc and imcsmb stuff out of general files.pci and into the 2018-03-01 04:29:37 +00:00
files.virtio Reorg the virtio(4) config(9) code to be explicitly pci specific. 2017-08-02 08:39:14 +00:00
fms.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
fmsvar.h
fwohci_pci.c Use pci_intr_establish_xname(). 2017-05-10 02:46:33 +00:00
gcscaudio.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
gcscaudioreg.h
genfb_pci.c
genfb_pcivar.h
geodeide.c
gffb.c
gffbreg.h
gtp.c
hdaudio_pci.c Move the hdaudio_cd out of the hdaudio_pci module and into the main 2017-06-04 23:34:55 +00:00
hdaudio_pci.h
hifn7751.c
hifn7751reg.h
hifn7751var.h
hptide.c
i82365_pci.c
i82365_pcivar.h
iavc_pci.c
ibmcd.c
ichsmb.c Add Apollo Lake and Gemini Lake devices. 2018-03-02 08:25:53 +00:00
icp_pci.c
if_age.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_agereg.h
if_alc.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_alcreg.h
if_ale.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_alereg.h
if_an_pci.c
if_ath_pci.c
if_athn_pci.c
if_atw_pci.c
if_bce.c Add another BCM4401 chip support. 2017-04-19 07:35:44 +00:00
if_bcereg.h
if_bge.c Revert part of if_bge.c 1.312. It's not reqired to mask other than VLAN ID 2017-11-22 02:35:54 +00:00
if_bgereg.h - Read chip ID correctly on BCM57782 and BCM57786. 2017-04-13 04:27:46 +00:00
if_bgevar.h Add counters for spurious interrupts. 2017-04-12 05:59:43 +00:00
if_bnx.c Typos. 2018-02-08 09:05:16 +00:00
if_bnxreg.h
if_bnxvar.h
if_bwi_pci.c
if_cas.c
if_casreg.h
if_casvar.h
if_de.c s/been been/been/ in comment. 2018-03-19 03:12:09 +00:00
if_devar.h
if_dge.c
if_dgereg.h
if_en_pci.c
if_ep_pci.c
if_epic_pci.c
if_esh_pci.c
if_et.c update for GCC 6: 2018-02-08 07:53:47 +00:00
if_etreg.h
if_ex_pci.c
if_fpa.c
if_fxp_pci.c
if_gem_pci.c
if_hme_pci.c
if_ipw.c Fix overflow. 2018-01-16 07:05:24 +00:00
if_ipwreg.h
if_ipwvar.h
if_iwi.c Fix overflow. 2018-01-16 07:05:24 +00:00
if_iwireg.h
if_iwivar.h
if_iwm.c CID-1427736: Appease coverity using KASSERT 2018-01-21 18:12:37 +00:00
if_iwmreg.h
if_iwmvar.h
if_iwn.c add an annotation. 2018-01-28 16:12:41 +00:00
if_iwnreg.h Pull in some hardware support from FreeBSD. Also fix 5GHz mode by 2017-07-19 16:55:12 +00:00
if_iwnvar.h Pull in some hardware support from FreeBSD. Also fix 5GHz mode by 2017-07-19 16:55:12 +00:00
if_jme.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_jmereg.h
if_kse.c
if_le_pci.c
if_levar.h
if_lii.c
if_liireg.h
if_lmc.c avoid an indentation issue by adding "if (1)". 2018-02-07 06:18:11 +00:00
if_lmc.h
if_malo_pci.c
if_msk.c update entry for Marvel Yukon 8058, and fix URL for pci ids (Rocky Hotas) 2017-10-20 12:01:43 +00:00
if_mskvar.h
if_mtd_pci.c
if_ne_pci.c
if_nfe.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_nfereg.h
if_nfevar.h
if_ntwoc_pci.c
if_ntwoc_pcireg.h
if_pcn.c
if_pcnreg.h
if_ral_pci.c enable rt2860 power management code 2017-07-25 23:17:20 +00:00
if_re_pci.c Re-enable RTKQ_IM_HW. Timeout issues appear to be fixed since 2017-05-18 18:33:48 +00:00
if_rtk_pci.c
if_rtw_pci.c
if_rtwn.c Typos. 2018-02-08 09:05:16 +00:00
if_rtwnreg.h
if_sf_pci.c
if_sip.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_sipreg.h Typos. 2018-02-08 09:05:16 +00:00
if_sk.c
if_skreg.h
if_skvar.h
if_ste.c
if_stereg.h
if_stge.c only get vtag when we have vtag like the other drivers. 2017-09-28 16:23:57 +00:00
if_stgereg.h
if_ti.c Typos. 2018-02-08 09:05:16 +00:00
if_tireg.h
if_tl.c Apply deferred if_start to more drivers 2017-05-23 02:19:14 +00:00
if_tlp_pci.c
if_tlregs.h
if_tlvar.h
if_txp.c VLAN ID uses pkthdr instead of mtag now. Contributed by s-yamaguchi@IIJ. 2017-09-26 07:42:05 +00:00
if_txpreg.h
if_vge.c Dedup. m_defrag is already a common function, no need to reimplement it 2018-01-14 17:43:55 +00:00
if_vgereg.h
if_vioif.c Typos. 2018-02-08 09:05:16 +00:00
if_vr.c Cosmetic printf/aprint changes. 2018-02-28 18:03:48 +00:00
if_vrreg.h Cosmetic fix for the Physical Address Registers PAR0 to PAR5. 2018-02-28 17:13:44 +00:00
if_vte.c PR/52333: Jia-Ju Bai: explicitly pass BUS_DMA_NOWAIT to bus_dmamap_load_mbuf() 2017-06-26 18:23:49 +00:00
if_vtereg.h
if_vtevar.h
if_wi_pci.c
if_wm.c Do wm_reset_mdicnfg_82580() on 82580 only. 2018-03-01 03:32:33 +00:00
if_wmreg.h Revert if_wmreg.h 1.104 and if_wm.c 1.542. It's not required to mask other 2017-11-22 02:36:52 +00:00
if_wmvar.h Add WM_F_WA_I210_CLSEM flag for a workaround. FreeBSD/Linux drivers say 2017-07-27 03:21:42 +00:00
if_wpi.c If if_initialize() failed in the attach function, free resources and return. 2017-10-23 09:31:17 +00:00
if_wpireg.h
if_wpivar.h
if_xge.c
if_xgereg.h
ifpci2.c
ifpci.c
igma.c
igmareg.h
igmavar.h
igsfb_pci.c
igsfb_pcivar.h
iha_pci.c
iop_pci.c
ips.c port ips(4) driver from OpenBSD; needs a lot more work, right now just compilable 2017-12-03 14:26:38 +00:00
isic_pci_elsa_qs1p.c
isic_pci.c
isic_pci.h
ismt.c Add C3000 devices. 2017-08-17 01:24:09 +00:00
isp_pci.c
iteide.c
iwic_bchan.c
iwic_dchan.c
iwic_fsm.c
iwic_pci.c
iwicreg.h
iwicvar.h
ixpide.c
jmide_reg.h
jmide.c
joy_eap.c
joy_eso.c
joy_pci.c
ld_amr.c
ld_twa.c
ld_twe.c
ld_virtio.c While ld(4) is MP safe, many backends are not. 2017-08-09 16:44:39 +00:00
lpt_puc.c Use {isa,pci}_intr_establish"_xname"() for intrctl(8). 2017-04-27 10:01:53 +00:00
lynxfb.c
lynxfbreg.h
lynxfbvar.h
machfb.c enable font loading and screen resizing, now that the glyph cache can be 2017-06-02 19:35:54 +00:00
machfbreg.h
Makefile
Makefile.pcidevs
mfi_pci.c
mlx_pci.c
mly_tables.h
mly.c
mlyio.h
mlyreg.h Mmh, surprising bug. It's __packed, not __packed__. Here the structure is 2017-11-21 10:55:23 +00:00
mlyvar.h
mpii.c indent to magic logic 2018-01-15 12:58:06 +00:00
mpt_pci.c
mpu_cmpci.c
mpu_eso.c
mpu_fms.c
mpu_yds.c
mvsata_pci.c switch to pci_intr_establish_xname() 2017-06-21 22:48:05 +00:00
nca_pci.c
neo-coeff.h
neo.c
neoreg.h
nfsmb.c
nfsmbreg.h
njs_pci.c
nside.c
nvme_pci.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
oboe.c Use C99 initializer for filterops 2017-10-25 08:12:37 +00:00
oboereg.h
ohci_pci.c Use pci_intr_establish_xname(). 2017-05-10 02:46:33 +00:00
opl_cmpci.c
opl_eso.c
opl_fms.c
opl_sv.c
opl_yds.c
optiide.c
pccbb.c Use pci_intr_establish_xname(). 2017-05-10 02:46:33 +00:00
pccbbreg.h
pccbbvar.h
pci_map.c
pci_quirks.c - Add new PCI quirk PCI_QUIRK_HASEXTCNF and PCI_QUIRK_NOEXTCNF. Some devices' 2018-02-28 05:50:06 +00:00
pci_stub.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
pci_subr.c - Add PCie Link Activation ECN. 2018-02-01 09:09:14 +00:00
pci_usrreq.c
pci_verbose.c
pci_verbose.h
pci.c
pcibusprint.c
pciconf.c
pciconf.h
pcidevs Add two VIA xHCI devices from OpenBSD. 2018-03-26 02:56:45 +00:00
pcidevs_data.h Regen. 2018-03-26 02:57:09 +00:00
pcidevs.h Regen. 2018-03-26 02:57:09 +00:00
pciide_acard_reg.h
pciide_acer_reg.h Apply workaround from FreeBSD to fix read data corruption observed 2017-07-21 21:01:13 +00:00
pciide_apollo_reg.h
pciide_cmd_reg.h
pciide_common.c move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init() 2017-10-20 07:06:05 +00:00
pciide_cy693_reg.h
pciide_geode_reg.h
pciide_hpt_reg.h
pciide_i31244_reg.h
pciide_ite_reg.h
pciide_ixp_reg.h
pciide_natsemi_reg.h
pciide_opti_reg.h
pciide_pdc202xx_reg.h
pciide_piccolo_reg.h
pciide_piix_reg.h
pciide_sch_reg.h
pciide_sii3112_reg.h
pciide_sis_reg.h
pciide_sl82c105_reg.h
pciide_svwsata_reg.h
pciide.c
pciidereg.h
pciidevar.h do not share queue between the non-indepedant channels; instead make 2017-10-22 13:13:55 +00:00
pciio.h
pcireg.h - Add PCie Link Activation ECN. 2018-02-01 09:09:14 +00:00
pcivar.h - Add new PCI quirk PCI_QUIRK_HASEXTCNF and PCI_QUIRK_NOEXTCNF. Some devices' 2018-02-28 05:50:06 +00:00
pcscp.c Update a URL of Am53c974A technical manual. 2017-12-22 13:58:11 +00:00
pcscpreg.h
pdcide.c
pdcsata.c move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init() 2017-10-20 07:06:05 +00:00
piixide.c
piixpm.c
piixpmreg.h
plx9060reg.h
plx9060var.h
pm2fb.c
pm2reg.h
pm3fb.c
pm3reg.h moar registers 2017-06-17 16:11:14 +00:00
ppb.c Fix typos. 2017-05-10 03:24:31 +00:00
ppbreg.h Add VGA 16bit decode bit into the PCI bridge control register. This bit is 2017-12-18 04:48:28 +00:00
ppbvar.h Enable PCIe's interrupt as much as possilbe in ppb(4) to detect and count 2017-04-18 05:21:34 +00:00
puc.c
puccn.c
puccn.h
pucdata.c PR/52868: Petar Bogdanovic: Add support for Manhattan 158220 card 2017-12-27 20:27:02 +00:00
pucvar.h
pwdog.c
r128fb.c allow font loading etc. 2017-06-21 21:40:36 +00:00
r128fbreg.h
radeonfb_bios.c Typos. 2018-02-08 09:05:16 +00:00
radeonfb_i2c.c
radeonfb.c Fix integer overflows noted by Silvio Cesare of InfoSect. 2018-01-24 05:35:58 +00:00
radeonfbreg.h consistency... 2017-08-23 19:21:14 +00:00
radeonfbvar.h
rccide.c
rdcide_reg.h
rdcide.c
README
rtsx_pci.c
satalink.c move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init() 2017-10-20 07:06:05 +00:00
schide.c
sdhc_pci.c Use {isa,pci}_intr_establish"_xname"() for intrctl(8). 2017-04-27 10:01:53 +00:00
siisata_pci.c switch to pci_intr_establish_xname() 2017-06-21 22:48:05 +00:00
siop_pci_common.c
siop_pci_common.h
siop_pci.c
sisfb.c
sisfb.h
siside.c
slide.c
sti_pci.c Use pcireg.h's macro. No functional change. 2017-10-05 06:37:45 +00:00
stpcide.c
sv.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
svreg.h
svvar.h
svwsata.c Merge support for SATA NCQ (Native Command Queueing) from jdolecek-ncq branch 2017-10-07 16:05:31 +00:00
tdvfb.c
tdvfbreg.h
tdvfbvar.h
tga_conf.c
tga.c
tgareg.h
tgavar.h
toshide.c
trm.c
trmreg.h
twa.c
twaio.h
twareg.h
twavar.h
twe.c
tweio.h
twereg.h
twevar.h
ubsec.c
ubsecreg.h
ubsecvar.h
uhci_pci.c Use {isa,pci}_intr_establish"_xname"() for intrctl(8). 2017-04-27 10:01:53 +00:00
unichromeaccel.h
unichromeconfig.h
unichromefb.c
unichromehw.h
unichromemode.h
unichromereg.h
universe_pci_var.h
universe_pci.c
usb_pci.c
usb_pci.h
vga_pci.c
vga_pcivar.h
viaenv.c according to VT82C686A chip specs, the VIA Technologies device 0x3057 2018-03-04 13:24:17 +00:00
viaide.c move ata_queue_alloc(1) and ata_queue_free() calls to ata_channel_init() 2017-10-20 07:06:05 +00:00
viomb.c
viornd.c
vioscsi.c free the virtio slot _before_ calling scsipi_done(), so that driver is able 2017-05-15 21:30:37 +00:00
vioscsireg.h
virtio_pci.c Explicitly enable PCI_COMMAND_MASTER_ENABLE and PCI_COMMAND_IO_ENABLE. 2018-02-15 19:05:10 +00:00
virtio.c Cosmetic - consistently use #define<SPACE> 2018-02-14 14:04:48 +00:00
virtioreg.h
virtiovar.h Reorg the virtio(4) config(9) code to be explicitly pci specific. 2017-08-02 08:39:14 +00:00
voodoofb.c
voodoofbreg.h
voyager.c
voyagervar.h
wcfb.c remove checks for failure after memory allocation calls that cannot fail: 2017-06-01 02:45:05 +00:00
wcfbreg.h
weasel_pci.c
weaselreg.h
wsdisplay_pci.c
wsdisplay_pci.h
xhci_pci.c - Fix panic in xhci_pci_detach() if xhci_pci_attach() failed. 2017-12-28 05:43:42 +00:00
yds.c PR/52331: ydc driver: sleep-under-spin-mutex bugs in yds_allocmem 2017-06-25 16:07:48 +00:00
ydsreg.h
ydsvar.h PR/52331: ydc driver: sleep-under-spin-mutex bugs in yds_allocmem 2017-06-25 16:07:48 +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