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

개요

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

ddi_dma_segtocookie(9f)

ddi_dma_segtocookie(9F)        Kernel Functions        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(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 _ Stability LevelObsolete


SEE ALSO
       attributes(7),       ddi_dma_nextcookie(9F).       ddi_dma_nextseg(9F),
       ddi_dma_nextwin(9F), ddi_dma_sync(9F), ddi_dma_cookie(9S)


       Writing Device Drivers in Oracle Solaris 11.4



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