ddi_dma_nextseg(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

ddi_dma_nextseg(9f)

ddi_dma_nextseg(9F)            Kernel Functions            ddi_dma_nextseg(9F)



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 win‐
               dow 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  sys‐
       tem  does  not contain DVMA capabilities and the object may be non-con‐
       tiguous. In this example the object will be broken  into  smaller  con‐
       tiguous  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(7) for a description of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityObsolete


SEE ALSO
       attributes(7),      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 in Oracle Solaris 11.4



Oracle Solaris 11.4               04 Apr 2006              ddi_dma_nextseg(9F)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3