ddi_dma_buf_setup(9F) Kernel Functions for Drivers ddi_dma_buf_setup(9F)NAMEddi_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, uint_t flags,
int (*waitfp) (caddr_t),, caddr_t arg, ddi_dma_lim_t *lim, ddi_dma_han‐
dle_t *handlep);
INTERFACE LEVEL
This interface is obsolete. ddi_dma_buf_bind_handle(9F) should be used
instead.
PARAMETERS
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.
DESCRIPTION
The ddi_dma_buf_setup() function 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
The ddi_dma_buf_setup() function can be called from user, interrupt, or
kernel context, except when waitfp is set to DDI_DMA_SLEEP, in which
case it cannot be called from interrupt context.
ATTRIBUTES
See attributes(5) for a description of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Stability Level │Obsolete │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOattributes(5), 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
SunOS 5.10 16 Jan 2006 ddi_dma_buf_setup(9F)