NetBSD/sys/dev/pci
thorpej e88c8722b7 Apply the following change checked in 2003/05/04 00:20:07 by gibbs
to the FreeBSD ahd driver:

Correct spelling errors.

Switch to handling bad SCSI status as a sequencer interrupt
instead of having the kernel proccess these failures via
the completion queue.  This is done because:

 o The old scheme required us to pause the sequencer and clear
   critical sections for each SCB.  It seems that these pause
   actions, if coincident with a sequencer FIFO interrupt, would
   result in a FIFO interrupt getting lost or directing to the
   wrong FIFO.  This caused hangs when the driver was stressed
   under high "queue full" loads.
 o The completion code assumed that it was always called with
   the sequencer running.  This may not be the case in timeout
   processing where completions occur manually via
   ahd_pause_and_flushwork().
 o With this scheme, the extra expense of clearing critical
   sections is avoided since the sequencer will only self pause
   once all pending selections have cleared and it is not in
   a critical section.

  aic79xx.c
        Add code to handle the new BAD_SCB_STATUS sequencer
        interrupt code.  This just redirects the SCB through
        the already existing ahd_complete_scb() code path.
        Remove code in ahd_handle_scsi_status() that paused
        the sequencer, made sure that no selections where
        pending, and cleared critical sections.  Bad
        status SCBs are now only processed when all of these
        conditions are true.

  aic79xx.reg:
        Add the BAD_SCB_STATUS sequencer interrupt code.

  aic79xx.seq:
        When completing an SCB upload to the host, if
        we are doing this because the SCB contains non-zero
        SCSI status, defer completing the SCB until there
        are no pending selection events.  When completing
        these SCBs, use the new BAD_SCB_STATUS sequencer
        interrupt.  For all other uploaded SCBs (currently
        only for underruns), the SCB is completed via the
        normal done queue.  Additionally, keep the SCB that
        is currently being uploaded on the COMPLETE_DMA_SCB
        list until the dma is completed, not just until the
        DMA is started.  This ensures that the DMA is restarted
        properly should the host disable the DMA transfer for
        some reason.

        In our RevA workaround for Maxtor drives, guard against
        the host pausing us while trying to pause I/O until the
        first data-valid REQ by clearing the current snapshot
        so that we can tell if the transfer has completed prior
        to us noticing the REQINIT status.

        In cfg4data_intr, shave off an instruction before getting
        the data path running by adding an entrypoint to the
        overrun handler to also increment the FIFO use count.

        In the overrun handler, be sure to clear our LONGJMP
        address in both exit paths.

Perform a few sequencer optimizations.

  aic79xx.c:
        Print the full path from the SCB when a packetized
        status overrun occurs.

        Remove references to LONGJMP_SCB which is being
        removed from firmware usage.

        Print the new SCB_FIFO_USE_COUNT field in the
        per-SCB section of ahd_dump_card_state().  The
        SCB_TAG field is now re-used by the sequencer,
        so it no longer makes sense to reference this
        field in the kernel driver.

  aic79xx.h:
        Re-arrange fields in the hardware SCB from largest
        size type to smallest.  This makes it easier to
        move fields without changing field alignment.

        The hardware scb tag field is now down near the
        "spare" portion of the SCB to facilitate reuse
        by the sequencer.

  aic79xx.reg:
        Remove LONGJMP_ADDR.

        Rearrange SCB fields to match aic79xx.h.
        Add SCB_FIFO_USE_COUNT as the first byte
        of the SCB_TAG field.

  aic79xx.seq:
        Add a per-SCB "Fifos in use count" field and use
        it to determine when it is safe (all data posted)
        to deliver status back to the host.  The old method
        involved polling one or both FIFOs to verify that
        the current task did not have pending data.  This
        makes running down the GSFIFO very cheap, so we
        will empty the GSFIFO in one idle loop pass in
        all cases.

        Use this simplification of the completion process
        to prune down the data FIFO teardown sequencer for
        packetized transfers.  Much more code is now shared
        between the data residual and transfer complete cases.

        Correct some issues in the packetized status handler.
        It used to be possible to CLRCHN our FIFO before status
        had fully transferred to the host.  We also failed to
        handle NONPACKREQ phases that could occur should a CRC
        error occur during transmission of the status data packet.

Correct a few big endian issues:

  aic79xx.c:
  aic79xx_inline.h:
  aic79xx_pci.c:
  aic79xx_osm.c:
        o Always get the SCB's tag via the SCB_GET_TAG acccessor
        o Add missing use of byte swapping macros when touching
          hscb fields.
        o Don't double swap SEEPROM data when it is printed.
          Correct a big-endian bug.  We cannot assign a
        o When assigning a 32bit LE variable to a 64bit LE
          variable, we must be explict about how the words
          of the 64bit LE variable are initialized.  Cast to
          (uint32_t*) to do this.

aic79xx.c:
        In ahd_clear_critical_section(), hit CRLSCSIINT
        after restoring the interrupt masks to avoid what
        appears to be a glitch on SCSIINT.  Any real SCSIINT
        status will be persistent and will immidiately
        reset SCSIINT.  This clear should only get rid of
        spurious SCSIINTs.

        This glitch was the cause of the "Unexpected PKT busfree"
        status that occurred under high queue full loads

        Call ahd_fini_scbdata() after shutdown so that
        any ahd_chip_init() routine that might access
        SCB data will not access free'd memory.

        Reset the bus on an IOERR since the chip doesn't
        seem to reset to the new voltage level without
        this.
        Change offset calculation for scatter gather maps
        so that the calculation is correct if an integral
        multiple of sg lists does not fit in the allocation
        size.

        Adjust bus dma tag for data buffers based on 39BIT
        addressing flag in our softc.

        Use the QFREEZE count to simplify ahd_pause_and_flushworkd().
        We can thus rely on the sequencer eventually clearing ENSELO.

        In ahd_abort_scbs(), fix a bug that could potentially
        corrupt sequencer state.  The saved SCB was being
        restored in the SCSI mode instead of the saved mode.
        It turns out that the SCB did not need to be saved at all
        as the scbptr is already restored by all subroutines
        called during this function that modify that register.

aic79xx.c:
aic79xx.h:
aic79xx_pci.c:
        Add support for parsing the seeprom vital product
        data.  The VPD data are currently unused.

aic79xx.h:
aic79xx.seq:
aic79xx_pci.c:
        Add a firmware workaround to make the LED blink
        brighter during packetized operations on the H2A.

aic79xx_inline.h:
        The host does not use timer interrupts, so don't
        gate our decision on whether or not to unpause
        the sequencer on whether or not a timer interrupt
        is pending.
2003-08-29 00:09:59 +00:00
..
bktr Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
Makefile Install pcidevs.h, pcidevs_data.h, pciio.h, pcireg.h. 2001-09-13 21:52:30 +00:00
Makefile.pcidevs
README
aac_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
adv_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
adw_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp.c Add support for i865G integrated graphics support to agp(4). Patches 2003-08-26 17:33:22 +00:00
agp_ali.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_amd.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_i810.c Add support for i865G integrated graphics support to agp(4). Patches 2003-08-26 17:33:22 +00:00
agp_intel.c Rework support for i845, i865 and i875P. agp(4) now doesn't "kill" the 2003-08-26 18:43:54 +00:00
agp_sis.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_via.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agpreg.h Add support for i855 agp. From FreeBSD. 2003-07-20 18:56:32 +00:00
agpvar.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
ahc_pci.c make ahc(4) to recognize Adaptec 2915LP Ultra160 SCSI adapter. 2003-08-18 09:16:22 +00:00
ahd_pci.c Apply the following change checked in 2003/05/04 00:20:07 by gibbs 2003-08-29 00:09:59 +00:00
amdpm.c Remove RND_FLAG_NO_ESTIMATE and comment claiming we can't estimate (which 2003-08-12 09:46:46 +00:00
amdpmreg.h Collect random number from AMD 768MPX power management controller. 2002-06-02 02:44:27 +00:00
amr.c Fix reversed arguments to bus_space_unmap. 2003-05-15 18:04:08 +00:00
amrreg.h - Fix the mailbox protocol. Not tested with newer 'Quartz' controllers. 2003-05-04 16:15:35 +00:00
amrvar.h Fix thinko. 2003-05-14 11:22:55 +00:00
auich.c Add entry for Intel 82801EB AC-97 audio. Audio sounds fine with this, 2003-08-19 21:04:22 +00:00
auichreg.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
autri.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
autrireg.h Fix recording problem on SiS7018. 2002-11-07 11:44:12 +00:00
autrivar.h ANSIfy driver. 2001-11-18 17:15:48 +00:00
auvia.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
auviavar.h Support for 4ch/6ch audio playback with VT8233/VT8235. 2002-10-16 15:27:28 +00:00
bha_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
btvmei.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
btvmeii.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
btvmeireg.h Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
btvmeivar.h
cac_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
cmpci.c Add extensible malloc types, adapted from FreeBSD. This turns 2003-02-01 06:23:35 +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 Use aprint_*(). 2003-01-31 00:07:39 +00:00
cs428x.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs428x.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs428xreg.h
cs4280.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs4280_image.h
cs4280reg.h
cs4281.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs4281reg.h
cy82c693.c cleanup RCSID 2001-11-13 07:35:02 +00:00
cy82c693reg.h
cy82c693var.h
cy_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
cz.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
czreg.h
devlist2h.awk
dpt_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
eap.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
eapreg.h Silly me for assuming that the CT5880 cards could be identified by looking 2002-12-14 17:52:47 +00:00
ehci_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
emuxki.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
emuxkireg.h unknown, not unkown. Noted by mjl. 2003-01-28 22:19:22 +00:00
emuxkivar.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
esa.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +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 Fix another typo that I missed last time (foo -> ESA_foo) 2002-03-06 18:30:31 +00:00
esavar.h Add multiple voice support to the ESS Allegro-1 / Maestro-3 family of 2002-03-16 14:34:00 +00:00
esiop_pci.c Need <uvm/uvm_extern.h>. 2003-04-09 01:35:12 +00:00
esm.c Fix printf format warnings. 2003-02-03 01:11:54 +00:00
esmreg.h First cut at recording support for the ESS Maestro-2 and 2e. 2002-12-30 05:23:27 +00:00
esmvar.h Add extensible malloc types, adapted from FreeBSD. This turns 2003-02-01 06:23:35 +00:00
eso.c unask -> unmask 2003-02-05 00:07:34 +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 Add driver for SysKonnect SK-9821 and 3COM 3C940 gigabit ethernet boards 2003-08-26 21:11:00 +00:00
fms.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
fmsvar.h
fwlynx_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
fwohci_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
gtp.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
hifn7751.c Remove an unnececssary PCI config read. 2003-08-28 18:13:33 +00:00
hifn7751reg.h Discard previous driver; it didnt really do anything. 2003-07-30 18:49:27 +00:00
hifn7751var.h Discard previous driver; it didnt really do anything. 2003-07-30 18:49:27 +00:00
i82365_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
i82365_pcivar.h
icp_pci.c Only need to report the PCI product ID in the management ioctls. 2003-06-29 01:20:50 +00:00
if_an_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_atw_pci.c Oops. Add the atw(4) sources, too. 2003-07-06 22:57:23 +00:00
if_bge.c Support the BCM5704C rev 3. From Nicolas Joly, PR 22620 2003-08-27 23:13:50 +00:00
if_bgereg.h Support the BCM5704C rev 3. From Nicolas Joly, PR 22620 2003-08-27 23:13:50 +00:00
if_de.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
if_devar.h Remove uneecessary extern decl of de_ca. 2002-10-01 01:39:38 +00:00
if_en_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_ep_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_epic_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_esh_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_ex_pci.c Some models of the 556B don't turn on the transmitter without magic 2003-06-05 22:11:21 +00:00
if_fpa.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_fxp_pci.c Add support for another Intel Pro/100 variant. 2003-08-14 07:59:39 +00:00
if_gem_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_gsip.c add RCSID 2001-11-13 07:48:40 +00:00
if_hme_pci.c Lookup and use the Ethernet address in the FCode PROM, 2002-12-26 22:59:51 +00:00
if_le_pci.c Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
if_levar.h
if_lmc.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +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 hz -> Hz 2003-02-22 04:57:48 +00:00
if_lmc_nbsd.c Use PAGE_SIZE rather than NBPG. 2003-04-01 02:01:43 +00:00
if_lmc_types.h LMC_CTL_LEN1 and LMC_CTL_LEN2 extracted each other's fields. Stop doing 2002-05-09 00:58:45 +00:00
if_lmcioctl.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
if_lmcvar.h Remove uneecessary extern decl of de_ca. 2002-10-01 01:39:38 +00:00
if_mtd_pci.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
if_ne_pci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
if_ntwoc_pci.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
if_ntwoc_pcireg.h
if_pcn.c add rnd hooks 2003-07-21 08:38:56 +00:00
if_pcnreg.h Add support for memory-mapped PCnet-PCI chips. 2002-09-04 01:36:07 +00:00
if_rtk_pci.c Set RTK_ENABLE flag when it attached. This fixed multicast problem. 2003-01-29 12:57:36 +00:00
if_sf_pci.c Replace magic numbers for power management control with PCI_PMCSR* macros. 2002-12-23 02:58:36 +00:00
if_sip.c KNF 2003-08-25 20:36:47 +00:00
if_sipreg.h accept 1518-byte frames (needed for vlan). Valtteri Vuorikoski 2003-08-15 07:29:34 +00:00
if_sk.c Add driver for SysKonnect SK-9821 and 3COM 3C940 gigabit ethernet boards 2003-08-26 21:11:00 +00:00
if_skreg.h retain the FreeBSD RCS Id for xmaciireg.h for reference 2003-08-26 21:14:08 +00:00
if_skvar.h Add driver for SysKonnect SK-9821 and 3COM 3C940 gigabit ethernet boards 2003-08-26 21:11:00 +00:00
if_ste.c Add a missed htole32() for DMA txdescs. 2003-06-05 16:33:43 +00:00
if_stereg.h Typo fix 2002-06-24 16:55:17 +00:00
if_stge.c Argh. Commited the wrong file. 2003-03-01 19:49:45 +00:00
if_stgereg.h Centralize the interrupt bits for the 3 registers where they are being used. 2003-02-10 21:10:06 +00:00
if_ti.c Add missing binding of VLAN tag to received packet. 2003-02-09 21:43:43 +00:00
if_tireg.h coaless -> coalesce. 2003-05-14 13:03:36 +00:00
if_tl.c tl(4) supports ETHERCAP_VLAN_MTU. 2003-03-19 17:23:26 +00:00
if_tlp_pci.c Properly reset PHY on ZNYX boards which are composed of 2003-06-27 12:25:38 +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_txp.c make the vlan stuff work 2003-08-20 17:41:38 +00:00
if_txpreg.h some cleanup/fixes: 2003-07-07 15:18:24 +00:00
if_vr.c add VT6105 support to vr(4) 2003-08-23 00:14:28 +00:00
if_vrreg.h From freebsd if_vr.c:1.43,1.56 and if_vrreg.h:1.11,1.14 2003-01-03 19:01:09 +00:00
if_wi_pci.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
if_wm.c Add support for the Intel PRO/1000 MT Quad Port server adapter; this 2003-07-29 19:49:50 +00:00
if_wmreg.h Use proper shift marcos for EXT. This makes the PHY on i83543 get 2003-05-30 02:08:55 +00:00
ifpci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
ifpci2.c Fritz!PCI v2.0 ISDN driver from FreeBSD. 2002-10-25 21:03:47 +00:00
igsfb_pci.c Redo attachment to support proper cnattach. 2003-05-10 01:51:56 +00:00
igsfb_pcivar.h Redo attachment to support proper cnattach. 2003-05-10 01:51:56 +00:00
iha_pci.c Sync with copyright verbiage update of OpenBSD's iha(4). 2002-11-14 17:07:42 +00:00
iop_pci.c typo 2002-11-15 17:51:33 +00:00
isic_pci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
isic_pci.h make the LEDs work with both channels active, some cleanup and 2002-05-03 14:12:59 +00:00
isic_pci_elsa_qs1p.c We are getting passed an integer value via a void* arg (in an ioctl() like 2003-05-08 21:18:42 +00:00
isp_pci.c Add in changes from Matt Thomas to check for 64 bit PCI stuff. 2003-08-07 01:05:56 +00:00
iwic_bchan.c remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
iwic_dchan.c remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
iwic_fsm.c Driver for Winbond W6692 passive ISDN cards. 2002-09-24 22:05:19 +00:00
iwic_pci.c We are getting passed an integer value via a void* arg (in an ioctl() like 2003-05-08 21:18:42 +00:00
iwicreg.h avoid namespace collision with IMASK 2002-10-23 14:57:15 +00:00
iwicvar.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
joy_eso.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
joy_pci.c match the joystick device on Creative SBLive! card; note this only works 2002-10-16 21:09:31 +00:00
ld_amr.c - Fix the mailbox protocol. Not tested with newer 'Quartz' controllers. 2003-05-04 16:15:35 +00:00
ld_twe.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
lpt_puc.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
machfb.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
machfbreg.h Add machfb, ATI Mach64/Rage framebuffer display driver. 2002-10-24 18:15:57 +00:00
mlx_pci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
mly.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
mly_tables.h revert for now -- cancelled seems to be used more often than canceled 2003-03-31 03:35:02 +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
mpt_pci.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
mpu_cmpci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
mpu_eso.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
mpu_fms.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
mpu_yds.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
neo-coeff.h change array to unsigned char. fixes 23430 lint warnings. "really!" 2002-11-02 16:26:03 +00:00
neo.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
neoreg.h
oboe.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +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 trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
opl_cmpci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
opl_eso.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
opl_fms.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
opl_sv.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
opl_yds.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
pccbb.c regard as the card is removed if one of CCD1# and CCD2# is deasserted. 2003-06-19 10:48:58 +00:00
pccbbreg.h Add some register definitions for TI PCI12XX and Toshiba ToPIC. 2001-08-30 09:20:17 +00:00
pccbbvar.h PCI-CardBus bridge support for sparc64: 2003-03-22 06:25:14 +00:00
pci.c support new quirk bits on debug output 2003-08-18 05:39:07 +00:00
pci_map.c implement a check whether a BAR is present at all at a given configuration 2002-05-30 12:06:43 +00:00
pci_quirks.c - check HDRTYPE early, and ignore if it is not supported (n > 2). 2003-08-15 07:17:21 +00:00
pci_subr.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
pci_usrreq.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
pciconf.c Add an option to disable fast back-to-back transfers since this 2003-03-31 21:04:40 +00:00
pciconf.h Before declaring pci_conf_interrupt(), check to see if it's 2002-09-28 10:31:02 +00:00
pcidevs Hi/Fn is now spelled Hifn. Add some more Hifn products (from openbsd). 2003-08-28 15:17:54 +00:00
pcidevs.h Regen; spell Hifn correctly, add more Hifn products. 2003-08-28 15:18:32 +00:00
pcidevs_data.h Regen; spell Hifn correctly, add more Hifn products. 2003-08-28 15:18:32 +00:00
pciide.c Add support for VIA VT8237 (KT600) IDE controller. From Stephen Degler in 2003-08-17 15:52:06 +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 More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
pciide_amd_reg.h * Enable Ultra133 on the NVIDIA nForce 2. 2003-01-24 05:51:04 +00:00
pciide_apollo_reg.h Correct setup for Ultra133 capable VIA chipsets, From Matthias Drochner 2002-08-25 17:25:33 +00:00
pciide_cmd_reg.h More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
pciide_cy693_reg.h More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
pciide_hpt_reg.h Add support for HPT372. From sdegler@kashmir.degler.net in kern/17908, 2002-08-23 16:24:54 +00:00
pciide_i31244_reg.h Add register definitions for the Intel i31244 Serial ATA controller. 2003-03-18 01:41:54 +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 Correct setup of General Purpose Register for PDC20265 (Ultra/100) and newer. 2003-06-28 23:13:26 +00:00
pciide_piix_reg.h More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
pciide_sii3112_reg.h Add support for the Silicon Image SATALink 3112 Serial ATA controller. 2003-03-20 04:22:49 +00:00
pciide_sis_reg.h Rework SiS support: more controller supported (up to Ultra/133) and better 2003-03-14 22:46:05 +00:00
pciide_sl82c105_reg.h Add bus master DMA support for the Symphony Labs 82C105 PCI IDE 2002-04-03 17:02:21 +00:00
pciidereg.h
pciidevar.h Add support for the Silicon Image SATALink 3112 Serial ATA controller. 2003-03-20 04:22:49 +00:00
pciio.h Fix tyop. 2001-09-14 06:09:42 +00:00
pcireg.h Define PCI32_DMA_BOUNCE_THRESHOLD 2003-05-05 13:04:29 +00:00
pcivar.h - check HDRTYPE early, and ignore if it is not supported (n > 2). 2003-08-15 07:17:21 +00:00
pcscp.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
pcscpreg.h
plx9060reg.h
plx9060var.h
ppb.c Handle 64bit DMA addresses on PCI for platforms that can (currently only 2003-06-15 23:08:53 +00:00
ppbreg.h Fix the Bridge Control Register bit definitions, add ones that 2001-11-08 03:18:12 +00:00
puc.c It is not appropriate for pcivar.h to include "locators.h" 2003-03-19 17:56:58 +00:00
puccn.c Also pass a type argument to comcnattach() and com_kgdb_attach(). 2003-06-14 17:01:06 +00:00
puccn.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
pucdata.c add Boca Research 4- and 8-port cards. from openbsd. 2002-10-29 08:59:36 +00:00
pucvar.h
siop_pci.c Use PAGE_SIZE rather than NBPG. 2003-04-09 00:28:28 +00:00
siop_pci_common.c Use PAGE_SIZE rather than NBPG. 2003-04-09 00:28:28 +00:00
siop_pci_common.h More copyright fixes, pointed out by Thomas. Thanks ! 2002-04-23 20:41:13 +00:00
sv.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
svreg.h
svvar.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
tga.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +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 Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +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 tweioctl(): store the result of twe_param_get() directly to the right 2003-08-03 18:45:46 +00:00
tweio.h Add /dev/twex support. To be used with FreeBSD's 3dmd. 2002-12-13 23:31:32 +00:00
twereg.h
twevar.h Add /dev/twex support. To be used with FreeBSD's 3dmd. 2002-12-13 23:31:32 +00:00
ubsec.c * Make matching and chip info table-driven. 2003-08-28 19:00:52 +00:00
ubsecreg.h Preliminary port of merged OpenBSD/FreeBSD ubsec driver for Bluesteel 2003-08-01 00:08:55 +00:00
ubsecvar.h Preliminary port of merged OpenBSD/FreeBSD ubsec driver for Bluesteel 2003-08-01 00:08:55 +00:00
uhci_pci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
universe_pci.c Use aprint_*(). 2003-01-31 00:07:39 +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 Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
vga_pcivar.h
viaenv.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
viapm.c Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
viapmvar.h
weasel_pci.c Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +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 Disable ISA DMA emulation for SoundBlaster module explicitly. 2003-03-12 13:36:22 +00:00
ydsreg.h Disable ISA DMA emulation for SoundBlaster module explicitly. 2003-03-12 13:36:22 +00:00
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