ddi_dma_nextcookie man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana 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.11			  26 Sep 1994		ddi_dma_nextcookie(9F)
[top]

List of man pages available for OpenIndiana

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