Content-type: text/html Man page of ddi_dma_nextseg

ddi_dma_nextseg

Section: Kernel Functions for Drivers (9F)
Updated: 04 Apr 2006
Index Return to Main Contents
 

NAME

ddi_dma_nextseg - get next DMA segment  

SYNOPSIS

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

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 (see ddi_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 the object 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 its transfer size (for example an 8-bit address register) and has expressed this in the DMA limit structure (see ddi_dma_lim_sparc(9S) or ddi_dma_lim_x86(9S)). In this example the object will be broken into smaller addressable DMA segments.  

RETURN VALUES

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 segment is the final segment within the specified 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 attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Stability LevelObsolete

 

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 Drivers


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
PARAMETERS
DESCRIPTION
RETURN VALUES
CONTEXT
EXAMPLES
ATTRIBUTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:39:39 GMT, October 02, 2010