man Pages(9F): DDI and DKI Kernel Functions
  Search only this book
Download this book in PDF

NAME

ddi_dma_buf_setup - easier DMA setup for use with buffer structures

SYNOPSIS

#include <sys/ddi.h>
#include <sys/sunddi.h>

int ddi_dma_buf_setup(dev_info_t * dip, struct buf * bp,
        u_int flags, int (* waitfp)(caddr_t), caddr_t arg,
        ddi_dma_lim_t * lim, ddi_dma_handle_t * handlep);

ARGUMENTS

dip
A pointer to the device's dev_info structure.
bp
A pointer to a system buffer structure (see buf(9S)).
flags
Flags that go into a 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.

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI).

DESCRIPTION

ddi_dma_buf_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_buf_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_addr_setup(9F), ddi_dma_free(9F), ddi_dma_htoc(9F), ddi_dma_setup(9F), ddi_dma_sync(9F), physio(9F), buf(9S), ddi_dma_lim_sparc(9S), ddi_dma_lim_x86(9S), ddi_dma_req(9S)
Writing Device Drivers