ddi_dma_nextcookie man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

ddi_dma_nextcookie(9F)	 Kernel Functions for Drivers	ddi_dma_nextcookie(9F)

NAME
       ddi_dma_nextcookie - retrieve subsequent DMA cookie

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

       void   ddi_dma_nextcookie(ddi_dma_handle_t   handle,   ddi_dma_cookie_t
       *cookiep);

PARAMETERS
       handle	       The  handle  previously	allocated   by	 a   call   to
		       ddi_dma_alloc_handle(9F).

       cookiep	       A pointer to a  ddi_dma_cookie(9S) structure.

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

DESCRIPTION
       ddi_dma_nextcookie()  retrieves	subsequent   DMA  cookies  for	a  DMA
       object.	 ddi_dma_nextcookie() fills in the  ddi_dma_cookie(9S)	struc‐
       ture  pointed  to by  cookiep. The ddi_dma_cookie(9S) structure must be
       allocated prior to calling  ddi_dma_nextcookie().

       The  DMA	 cookie	  count	  returned   by	  ddi_dma_buf_bind_handle(9F),
       ddi_dma_addr_bind_handle(9F),  or ddi_dma_getwin(9F) indicates the num‐
       ber of DMA cookies a DMA object consists of. If	the  resulting	cookie
       count,	N,  is larger than 1,  ddi_dma_nextcookie() must be called N-1
       times to retrieve all  DMA cookies.

CONTEXT
       ddi_dma_nextcookie() can be called from user, kernel, or interrupt con‐
       text.

EXAMPLES
       Example 1: Process a scatter-gather list of I/O requests.

       This example demonstrates the use of  ddi_dma_nextcookie() to process a
       scatter-gather list of I/O requests.

       /* setup scatter-gather list with multiple DMA cookies */
       ddi_dma_cookie_t	 dmacookie;
       uint_t		 ccount;
       ...

       status = ddi_dma_buf_bind_handle(handle, bp, DDI_DMA_READ,
	    NULL, NULL, &dmacookie, &ccount);

       if (status == DDI_DMA_MAPPED) {

	    /* program DMA engine with first cookie */

	    while (--ccount > 0) {
		 ddi_dma_nextcookie(handle, &dmacookie);
		 /* program DMA engine with next cookie */
	    }
       }
       ...

SEE ALSO
       ddi_dma_addr_bind_handle(9F),		     ddi_dma_alloc_handle(9F),
       ddi_dma_buf_bind_handle(9F),		    ddi_dma_unbind_handle(9F),
       ddi_dma_cookie(9S)

       Writing Device Drivers

SunOS 5.10			  26 Sep 1994		ddi_dma_nextcookie(9F)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net