ddi_dma_nextcookie man page on SmartOS

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

DDI_DMA_NEXTCOOKIE(9F)					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

				 Sep 26, 1994		DDI_DMA_NEXTCOOKIE(9F)
[top]

List of man pages available for SmartOS

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