|
Kernel Functions for Drivers | ddi_dma_addr_setup(9F) |
| ddi_dma_addr_setup - easier DMA setup for use with virtual addresses |
SYNOPSIS
|
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dma_addr_setup(dev_info_t *dip, struct as *as, caddr_t addr, size_t len, uint_t flags, int (*waitfp) (caddr_t),, caddr_t arg, ddi_dma_lim_t * lim, ddi_dma_handle_t *handlep); |
|
Solaris DDI specific (Solaris DDI).
|
|
-
dip
- A pointer to the device's dev_info structure.
-
as
- A pointer to an address space structure. Should be set to NULL, which implies kernel address space.
-
addr
- Virtual address of the memory object.
-
len
- Length of the memory object in bytes.
-
flags
- Flags that would go into the ddi_dma_req structure (see ddi_dma_req(9S)).
-
waitfp
- The address of a function to call back later if resources aren't available now. The special function addresses DDI_DMA_SLEEP and DDI_DMA_DONTWAIT (see ddi_dma_req(9S)) are taken to mean, respectively, wait until resources are available or, do not wait at all and do not schedule a callback.
-
arg
- Argument to be passed to a callback function, if such a function is specified.
-
lim
- A pointer to a DMA limits structure for this device (see ddi_dma_lim_sparc(9S) or ddi_dma_lim_x86(9S)). If this pointer is NULL, a default set of DMA limits is assumed.
-
handlep
- Pointer to a DMA handle. See ddi_dma_setup(9F) for a discussion of handle.
|
|
ddi_dma_addr_setup() can be called from user or interrupt context, except when waitfp is set to DDI_DMA_SLEEP, in which case it can be
called from user context only.
|
| |