[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    ddi_dma_addr_setup(9F) manual page Table of Contents

Name

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, u_int len, u_int flags, int (*waitfp )(caddr_t), caddr_t arg, ddi_dma_lim_t *lim , ddi_dma_handle_t *handlep);

Interface Level

Solaris DDI specific (Solaris DDI).

Arguments

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.

Description

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.

Return Values

See ddi_dma_setup(9F) for the possible return values for this function.

Context

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.

See Also

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