Kernel Functions for Drivers ddi_dma_nextseg(9F)
NAME
ddi_dma_nextseg - get next DMA segment
SYNOPSIS
#include
#include
int ddi_dma_nextseg(ddi_dma_win_t win, ddi_dma_seg_t seg,
ddi_dma_seg_t *nseg);
INTERFACE LEVEL
This interface is obsolete. ddi_dma_nextcookie(9F) should be
used instead.PARAMETERS
win A DMA window. seg The current DMA segment or NULL. nseg A pointer to the next DMA segment to be filled in. If seg is NULL, a pointer to the first segment within the specified window is returned.DESCRIPTION
The ddi_dma_nextseg() function gets the next DMA segment
within the specified window win. If the current segment is NULL, the first DMA segment within the window is returned. A DMA segment is always required for a DMA window. A DMA segment is a contiguous portion of a DMA window (seeddi_dma_nextwin(9F)) which is entirely addressable by the
device for a data transfer operation. An example where multiple DMA segments are allocated is where the system does not contain DVMA capabilities and theobject may be non-contiguous. In this example the object
will be broken into smaller contiguous DMA segments. Another example is where the device has an upper limit on itstransfer size (for example an 8-bit address register) and
has expressed this in the DMA limit structure (seeddi_dma_lim_sparc(9S) or ddi_dma_lim_x86(9S)). In this exam-
ple the object will be broken into smaller addressable DMA segments.RETURN VALUES
SunOS 5.11 Last change: 04 Apr 2006 1
Kernel Functions for Drivers ddi_dma_nextseg(9F)
The ddi_dma_nextseg() function returns:
DDI_SUCCESS Successfully filled in the next segment
pointer.DDI_DMA_DONE There is no next segment. The current seg-
ment is the final segment within the speci-
fied window.DDI_DMA_STALE win does not refer to the currently active
window.CONTEXT
The ddi_dma_nextseg() function can be called from user,
interrupt, or kernel context.EXAMPLES
For an example, see ddi_dma_segtocookie(9F).
ATTRIBUTES
See attributes(5) for a description of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Obsolete ||_____________________________|_____________________________|
SEE ALSO
attributes(5), ddi_dma_addr_setup(9F),
ddi_dma_buf_setup(9F), ddi_dma_nextcookie(9F),
ddi_dma_nextwin(9F), ddi_dma_segtocookie(9F),
ddi_dma_sync(9F), ddi_dma_lim_sparc(9S),
ddi_dma_lim_x86(9S), ddi_dma_req(9S)
Writing Device DriversSunOS 5.11 Last change: 04 Apr 2006 2