freebsd-dev/sys/powerpc/include
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
..
_inttypes.h
_limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
_stdint.h
_types.h
asm.h
atomic.h
bat.h
bootinfo.h
bus_memio.h
bus_pio.h
bus.h Mega busdma API commit. 2003-07-01 15:52:06 +00:00
clock.h
cpu.h Remove unused bootpath[] variable. It conflicted with a declaration 2003-06-25 08:11:29 +00:00
cpufunc.h
critical.h
db_machdep.h
elf.h
endian.h
exec.h
float.h
fpu.h
frame.h
hid.h
ieee.h
ieeefp.h
in_cksum.h
interruptvar.h
intr_machdep.h
intr.h
ipl.h
kse.h
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
md_var.h
metadata.h Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values 2003-05-01 03:31:18 +00:00
mutex.h
nexusvar.h
ofw_machdep.h
openpicreg.h
openpicvar.h
param.h Migrate the thread stack management functions from the machine-dependent 2003-06-14 23:23:55 +00:00
pcb.h
pcpu.h
pio.h
pmap.h
powerpc.h
proc.h
profile.h
psl.h
pte.h
ptrace.h
reg.h
reloc.h
resource.h
runq.h
setjmp.h
sigframe.h
signal.h
smp.h
spr.h
sr.h
stdarg.h
trap.h
ucontext.h
varargs.h
vmparam.h