1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/pci
Scott Long f6b1c44d1f Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg.
Lockfunc allows a driver to provide a function for managing its locking
semantics while using busdma.  At the moment, this is used for the
asynchronous busdma_swi and callback mechanism.  Two lockfunc implementations
are provided: busdma_lock_mutex() performs standard mutex operations on the
mutex that is specified from lockfuncarg.  dftl_lock() is a panic
implementation and is defaulted to when NULL, NULL are passed to
bus_dma_tag_create().  The only time that NULL, NULL should ever be used is
when the driver ensures that bus_dmamap_load() will not be deferred.
Drivers that do not provide their own locking can pass
busdma_lock_mutex,&Giant args in order to preserve the former behaviour.

sparc64 and powerpc do not provide real busdma_swi functions, so this is
largely a noop on those platforms.  The busdma_swi on is64 is not properly
locked yet, so warnings will be emitted on this platform when busdma
callback deferrals happen.

If anyone gets panics or warnings from dflt_lock() being called, please
let me know right away.

Reviewed by:	tmm, gibbs
2003-07-01 15:52:06 +00:00
..
agp_ali.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
agp_amd.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
agp_i810.c Add vm object locking. 2003-06-13 08:11:14 +00:00
agp_if.m
agp_intel.c Add PCI IDs for the i82855 and i82875P AGP bridges. 2003-06-23 11:09:45 +00:00
agp_sis.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
agp_via.c Sort the list of PCI ID's in numerical order and fix a whitespace bogon. 2003-06-27 18:17:06 +00:00
agp.c Add vm object locking. 2003-06-19 02:01:33 +00:00
agppriv.h
agpreg.h Add support for the Intel 865 chipset. 2003-05-27 18:23:56 +00:00
agpvar.h
alpm.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
amdpm.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
cy_pci.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
dc21040reg.h
if_dc.c Add ADMtek ADM9511 and ADM9513 device ID's. 2003-06-08 10:11:55 +00:00
if_dcreg.h Add ADMtek ADM9511 and ADM9513 device ID's. 2003-06-08 10:11:55 +00:00
if_de.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
if_devar.h Fix alignment requirements of tulip_rombuf by further increasing 2003-06-13 22:34:03 +00:00
if_mn.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
if_pcn.c Remove unused variables. 2003-05-31 20:02:43 +00:00
if_pcnreg.h
if_rl.c Mega busdma API commit. 2003-07-01 15:52:06 +00:00
if_rlreg.h
if_sf.c Remove break after return 2003-05-31 19:59:29 +00:00
if_sfreg.h
if_sis.c Mega busdma API commit. 2003-07-01 15:52:06 +00:00
if_sisreg.h
if_sk.c Remove unused variables. 2003-05-31 19:58:45 +00:00
if_skreg.h
if_ste.c Remove unused variables. 2003-05-31 19:58:45 +00:00
if_stereg.h
if_ti.c Remove code that tries to detect if the MCLSHIFT and MSIZE macros 2003-06-13 20:46:34 +00:00
if_tireg.h
if_tl.c
if_tlreg.h
if_vr.c
if_vrreg.h
if_wb.c
if_wbreg.h
if_xl.c Mega busdma API commit. 2003-07-01 15:52:06 +00:00
if_xlreg.h
intpm.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
intpmreg.h
locate.pl
meteor_reg.h
meteor.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00
ncr.c Merge common XPT_CALC_GEOMETRY functions into a single convenience function. 2003-06-14 22:17:41 +00:00
ncrreg.h
ti_fw2.h
ti_fw.h
viapm.c Add ID for VT8233A. 2003-06-22 06:50:02 +00:00
xmaciireg.h
xrpu.c Use __FBSDID(). 2003-06-11 06:34:30 +00:00