1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys/dev
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
..
aac Mega busdma API commit. 2003-07-01 15:52:06 +00:00
acpica Add a new PCI interface method, assign_interrupt, to determine the 2003-07-01 14:08:33 +00:00
adlink
advansys Mega busdma API commit. 2003-07-01 15:52:06 +00:00
agp Sort the list of PCI ID's in numerical order and fix a whitespace bogon. 2003-06-27 18:17:06 +00:00
aha Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ahb Mega busdma API commit. 2003-07-01 15:52:06 +00:00
aic Merge common XPT_CALC_GEOMETRY functions into a single convenience function. 2003-06-14 22:17:41 +00:00
aic7xxx Mega busdma API commit. 2003-07-01 15:52:06 +00:00
amd Mega busdma API commit. 2003-07-01 15:52:06 +00:00
amr Mega busdma API commit. 2003-07-01 15:52:06 +00:00
an Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ar
asr
ata Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ath Mega busdma API commit. 2003-07-01 15:52:06 +00:00
atkbdc Add PnP PS/2 id for Dell Latitude X200. 2003-07-01 14:41:16 +00:00
awi update for new 802.11 support 2003-06-28 06:17:26 +00:00
bge Remove unused variable(s). 2003-05-31 20:42:24 +00:00
bktr Merge NetBSD bktr_core.c rev. 1.26: 2003-06-09 19:13:38 +00:00
buslogic Mega busdma API commit. 2003-07-01 15:52:06 +00:00
cardbus Add a new PCI interface method, assign_interrupt, to determine the 2003-07-01 14:08:33 +00:00
ciss Mega busdma API commit. 2003-07-01 15:52:06 +00:00
cm
cnw
cs
ct Mega busdma API commit. 2003-07-01 15:52:06 +00:00
cy Use __FBSDID(). 2003-06-11 06:34:30 +00:00
dc Add ADMtek ADM9511 and ADM9513 device ID's. 2003-06-08 10:11:55 +00:00
de Fix alignment requirements of tulip_rombuf by further increasing 2003-06-13 22:34:03 +00:00
dec
dgb
digi
dpt Mega busdma API commit. 2003-07-01 15:52:06 +00:00
drm Do not define memset() to bzero(). We have a memset(). 2003-05-31 19:31:46 +00:00
ed
eisa
em Mega busdma API commit. 2003-07-01 15:52:06 +00:00
en Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ep Other minor style nits I missed in ep_if_start() in my previous 2003-06-26 17:02:52 +00:00
ex
exca MFP4: 2003-06-07 20:46:39 +00:00
fatm Mega busdma API commit. 2003-07-01 15:52:06 +00:00
fb Low risk amd64 fix. Use a vm_offset_t for the virtual location of the 2003-05-23 05:10:49 +00:00
fdc Force media autodetection if the device has lost its parameter table. 2003-06-16 08:42:20 +00:00
fe
firewire Mega busdma API commit. 2003-07-01 15:52:06 +00:00
fxp Mega busdma API commit. 2003-07-01 15:52:06 +00:00
gem Mega busdma API commit. 2003-07-01 15:52:06 +00:00
gfb
gx
hatm Mega busdma API commit. 2003-07-01 15:52:06 +00:00
hea
hfa
hifn Mega busdma API commit. 2003-07-01 15:52:06 +00:00
hme Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ic
ichsmb
ida Mega busdma API commit. 2003-07-01 15:52:06 +00:00
idt
ie
iicbus make iicbb_devclass and iicbb_driver globally visible. This will let 2003-06-19 02:50:08 +00:00
iir Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ips Mega busdma API commit. 2003-07-01 15:52:06 +00:00
isp Mega busdma API commit. 2003-07-01 15:52:06 +00:00
ispfw
joy
kbd AMD64 physical space is much larger than i386, de-i386 the bus_space and 2003-05-12 02:44:37 +00:00
lge
lmc
lnc Mega busdma API commit. 2003-07-01 15:52:06 +00:00
matcd Re-introduction of the matcd CD driver. 2003-06-17 01:20:03 +00:00
mc146818
mca
mcd Fix \ alignment in macro. 2003-05-31 18:21:40 +00:00
md Remove 256 unit limit, there is no evil minor number encoding to 2003-06-22 11:31:38 +00:00
mii Fix bge at 10Mbit. The defines for 10-Half and 10-Full were swapped. 2003-06-17 15:02:28 +00:00
mk48txx
mlx Mega busdma API commit. 2003-07-01 15:52:06 +00:00
mly Mega busdma API commit. 2003-07-01 15:52:06 +00:00
mpt Mega busdma API commit. 2003-07-01 15:52:06 +00:00
mse Use __FBSDID(). 2003-06-02 16:32:55 +00:00
musycc Remove unused variable(s). 2003-05-31 20:39:28 +00:00
my
ncv
nge
nmdm
nsp
null /dev/null and /dev/zero does not need Giant 2003-06-24 19:50:48 +00:00
ofw Add a solaris compatible ofw interface for third party software that 2003-06-19 01:40:11 +00:00
pccard Sync to 1.53 2003-06-17 12:29:49 +00:00
pccbb Unlock after ISR. 2003-06-12 06:06:14 +00:00
pcf fix another LP64 problem. READ_IVAR takes a pointer to an uintptr_t, not 2003-06-20 07:22:54 +00:00
pci Add a new PCI interface method, assign_interrupt, to determine the 2003-07-01 14:08:33 +00:00
pcic
pdq
ppbus
ppc Use __FBSDID(). 2003-06-11 00:34:37 +00:00
pst
puc add support for NetMos 4S0P PCI: 4S, 0P 2003-05-14 09:37:46 +00:00
raidframe
random
ray update to new 802.11 support 2003-06-28 17:57:30 +00:00
rc
rndtest o correct mib spelling: reset -> retest 2003-06-25 14:46:01 +00:00
rp
sab
sbni
sbsh
scd
sf Remove break after return 2003-05-31 19:59:29 +00:00
si
sio Track the resource id of the memory port instead of just assuming that 2003-06-09 21:25:14 +00:00
sk Remove unused variables. 2003-05-31 19:58:45 +00:00
smbus
sn
snc Remove unused #ifdef BRIDGE. 2003-06-02 08:36:18 +00:00
snp
sound Mega busdma API commit. 2003-07-01 15:52:06 +00:00
speaker Use __FBSDID(). 2003-06-02 16:32:55 +00:00
sr
stg
streams Initialize struct fileops with C99 sparse initialization. 2003-06-18 18:16:40 +00:00
sym Mega busdma API commit. 2003-07-01 15:52:06 +00:00
syscons Use SC_NO_CUTPASTE to protect cutpaste variables correctly, fixing the 2003-06-01 04:42:14 +00:00
tdfx Remove extra ';' 2003-05-31 18:57:41 +00:00
tga
ti Remove code that tries to detect if the MCLSHIFT and MSIZE macros 2003-06-13 20:46:34 +00:00
trm Mega busdma API commit. 2003-07-01 15:52:06 +00:00
twe Mega busdma API commit. 2003-07-01 15:52:06 +00:00
tx Mega busdma API commit. 2003-07-01 15:52:06 +00:00
txp
ubsec Mega busdma API commit. 2003-07-01 15:52:06 +00:00
usb Regen. 2003-07-01 12:17:18 +00:00
utopia This is a driver for the physical layer chips used in ATM interfaces. 2003-06-12 14:28:32 +00:00
vinum free_drive: Free the drive even if it's referenced. I don't know what 2003-07-01 07:53:54 +00:00
vr
vx Revert part of rev 1.43. We want to fail gracefully if there is no packet 2003-06-08 18:35:25 +00:00
wds Mega busdma API commit. 2003-07-01 15:52:06 +00:00
wi Mega busdma API commit. 2003-07-01 15:52:06 +00:00
wl
xe Remove unused variable(s). 2003-05-31 20:27:42 +00:00
zs