ddi_dma_coff(9F) Kernel Functions for Drivers ddi_dma_coff(9F)NAME
ddi_dma_coff - convert a DMA cookie to an offset within a DMA handle.
SYNOPSIS
#include <sys/conf.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dma_coff(ddi_dma_handle_t handle, ddi_dma_cookie_t *cookiep,
off_t *offp);
INTERFACE LEVEL
Solaris SPARC DDI (Solaris SPARC DDI). This interface is obsolete.
PARAMETERS
handle The handle filled in by a call to ddi_dma_setup(9F).
cookiep A pointer to a DMA cookie (see ddi_dma_cookie(9S)) that contains the appropriate address, length and bus type to be used in pro-
gramming the DMA engine.
offp A pointer to an offset to be filled in.
DESCRIPTION
The ddi_dma_coff() function converts the values in DMA cookie pointed to by cookiep to an offset (in bytes) from the beginning of the
object that the DMAhandle has mapped.
The ddi_dma_coff() function allows a driver to update a DMA cookie with values it reads from its device's DMA engine after a transfer com-
pletes and convert that value into an offset into the object that is mapped for DMA.
RETURN VALUES
The ddi_dma_coff() function returns:
DDI_SUCCESS Successfully filled in offp.
DDI_FAILURE Failed to successfully fill in offp.
CONTEXT
The ddi_dma_coff() function can be called from user, interrupt, or kernel context.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Obsolete |
+-----------------------------+-----------------------------+
SEE ALSO ddi_dma_setup(9F), ddi_dma_sync(9F), ddi_dma_cookie(9S)
Writing Device Drivers
SunOS 5.11 16 Jan 2006 ddi_dma_coff(9F)
Check Out this Related Man Page
ddi_dma_segtocookie(9F) Kernel Functions for Drivers ddi_dma_segtocookie(9F)NAME
ddi_dma_segtocookie - convert a DMA segment to a DMA address cookie
SYNOPSIS
#include <sys/ddi.h>
#include <sys/sunddi.h>
int ddi_dma_segtocookie(ddi_dma_seg_t seg, off_t *offp, off_t *lenp,
ddi_dma_cookie_t *cookiep);
INTERFACE LEVEL
This interface is obsolete. ddi_dma_nextcookie(9F) should be used instead.
PARAMETERS
seg A DMA segment.
offp A pointer to an off_t. Upon a successful return, it is filled in with the offset. This segment is addressing within the object.
lenp The byte length. This segment is addressing within the object.
cookiep A pointer to a DMA cookie (see ddi_dma_cookie(9S)).
DESCRIPTION
The ddi_dma_segtocookie() function takes a DMA segment and fills in the cookie pointed to by cookiep with the appropriate address, length,
and bus type to be used to program the DMA engine. ddi_dma_segtocookie() also fills in *offp and *lenp, which specify the range within the
object.
RETURN VALUES
The ddi_dma_segtocookie() function returns:
DDI_SUCCESS Successfully filled in all values.
DDI_FAILURE Failed to successfully fill in all values.
CONTEXT
The ddi_dma_segtocookie() function can be called from user, interrupt, or kernel context.
EXAMPLES
Example 1 ddi_dma_segtocookie() example
for (win = NULL; (retw = ddi_dma_nextwin(handle, win, &nwin)) !=
DDI_DMA_DONE; win = nwin) {
if (retw != DDI_SUCCESS) {
/* do error handling */
} else {
for (seg = NULL; (rets = ddi_dma_nextseg(nwin, seg, &nseg)) !=
DDI_DMA_DONE; seg = nseg) {
if (rets != DDI_SUCCESS) {
/* do error handling */
} else {
ddi_dma_segtocookie(nseg, &off, &len, &cookie);
/* program DMA engine */
}
}
}
}
ATTRIBUTES
See attributes(5) for a description of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Stability Level |Obsolete |
+-----------------------------+-----------------------------+
SEE ALSO attributes(5), ddi_dma_nextcookie(9F). ddi_dma_nextseg(9F), ddi_dma_nextwin(9F), ddi_dma_sync(9F), ddi_dma_cookie(9S)
Writing Device Drivers
SunOS 5.11 16 Jan 2006 ddi_dma_segtocookie(9F)