ddi_dma_addr_setup(9F) manual page
Table of Contents
ddi_dma_addr_setup - easier DMA setup for use with virtual addresses
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dma_addr_setup(dev_info_t *dip, struct as *as, caddr_t addr,
u_int len, u_int 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() is an interface to ddi_dma_setup(9F)
. It
uses its arguments to construct an appropriate ddi_dma_req structure and
calls ddi_dma_setup() with it.
See ddi_dma_setup(9F)
for the
possible return values for this function.
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.
ddi_dma_buf_setup(9F)
, ddi_dma_free(9F)
, ddi_dma_htoc(9F)
, ddi_dma_setup(9F)
,
ddi_dma_sync(9F)
, ddi_iopb_alloc(9F)
, ddi_dma_lim_sparc(9S)
, ddi_dma_lim_x86(9S)
,
ddi_dma_req(9S)
Table of Contents