'\" te .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved .TH ddi_dma_addr_setup 9F "04 Apr 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME ddi_dma_addr_setup \- easier DMA setup for use with virtual addresses .SH SYNOPSIS .LP .nf #include #include \fBint\fR \fBddi_dma_addr_setup\fR(\fBdev_info_t *\fR\fIdip\fR, \fBstruct as *\fR\fIas\fR, \fBcaddr_t\fR \fIaddr\fR, \fBsize_t\fR \fIlen\fR, \fBuint_t\fR \fIflags\fR, \fBint (*\fR\fIwaitfp\fR) (caddr_t), \fBcaddr_t\fR \fIarg\fR, \fBddi_dma_lim_t *\fR \fIlim\fR, \fBddi_dma_handle_t *\fR\fIhandlep\fR); .fi .SH INTERFACE LEVEL .sp .LP This interface is obsolete. \fBddi_dma_addr_bind_handle\fR(9F) should be used instead. .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIdip\fR\fR .ad .RS 11n .rt A pointer to the device's \fBdev_info\fR structure. .RE .sp .ne 2 .mk .na \fB\fIas\fR\fR .ad .RS 11n .rt A pointer to an address space structure. Should be set to \fINULL\fR, which implies kernel address space. .RE .sp .ne 2 .mk .na \fB\fIaddr\fR\fR .ad .RS 11n .rt Virtual address of the memory object. .RE .sp .ne 2 .mk .na \fB\fIlen\fR\fR .ad .RS 11n .rt Length of the memory object in bytes. .RE .sp .ne 2 .mk .na \fB\fIflags\fR\fR .ad .RS 11n .rt Flags that would go into the \fBddi_dma_req\fR structure (see \fBddi_dma_req\fR(9S)). .RE .sp .ne 2 .mk .na \fB\fIwaitfp\fR\fR .ad .RS 11n .rt The address of a function to call back later if resources aren't available now. The special function addresses \fBDDI_DMA_SLEEP\fR and \fBDDI_DMA_DONTWAIT\fR (see \fBddi_dma_req\fR(9S)) are taken to mean, respectively, wait until resources are available or, do not wait at all and do not schedule a callback. .RE .sp .ne 2 .mk .na \fB\fIarg\fR\fR .ad .RS 11n .rt Argument to be passed to a callback function, if such a function is specified. .RE .sp .ne 2 .mk .na \fB\fIlim\fR\fR .ad .RS 11n .rt A pointer to a \fBDMA\fR limits structure for this device (see \fBddi_dma_lim_sparc\fR(9S) or \fBddi_dma_lim_x86\fR(9S)). If this pointer is \fINULL\fR, a default set of \fBDMA\fR limits is assumed. .RE .sp .ne 2 .mk .na \fB\fIhandlep\fR\fR .ad .RS 11n .rt Pointer to a \fBDMA\fR handle. See \fBddi_dma_setup\fR(9F) for a discussion of handle. .RE .SH DESCRIPTION .sp .LP The \fBddi_dma_addr_setup()\fR function is an interface to \fBddi_dma_setup\fR(9F). It uses its arguments to construct an appropriate \fBddi_dma_req\fR structure and calls \fBddi_dma_setup\fR(9F) with it. .SH RETURN VALUES .sp .LP See \fBddi_dma_setup\fR(9F) for the possible return values for this function. .SH CONTEXT .sp .LP The \fBddi_dma_addr_setup()\fR can be called from user, interrupt, or kernel context, except when \fIwaitfp\fR is set to \fBDDI_DMA_SLEEP\fR, in which case it cannot be called from interrupt context. .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for a description of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . \fBATTRIBUTE TYPE\fR\fBATTRIBUTE VALUE\fR _ Stability LevelObsolete .TE .SH SEE ALSO .sp .LP \fBattributes\fR(5), \fBddi_dma_buf_setup\fR(9F), \fBddi_dma_free\fR(9F), \fBddi_dma_htoc\fR(9F), \fBddi_dma_setup\fR(9F), \fBddi_dma_sync\fR(9F), \fBddi_iopb_alloc\fR(9F), \fBddi_dma_lim_sparc\fR(9S), \fBddi_dma_lim_x86\fR(9S), \fBddi_dma_req\fR(9S) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR