Query: ddi_dma_getwin
OS: centos
Section: 9f
Links: centos man pages all man pages
Forums: unix linux community forum categories
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
ddi_dma_getwin(9F) Kernel Functions for Drivers ddi_dma_getwin(9F)NAMEddi_dma_getwin - activate a new DMA windowSYNOPSIS#include <sys/ddi.h> #include <sys/sunddi.h> int ddi_dma_getwin(ddi_dma_handle_t handle, uint_t win, off_t *offp, size_t *lenp, ddi_dma_cookie_t *cookiep, uint_t *ccountp);INTERFACE LEVELSolaris DDI specific (Solaris DDI).PARAMETERShandle The DMA handle previously allocated by a call to ddi_dma_alloc_handle(9F). win Number of the window to activate. offp Pointer to an offset. Upon a successful return, offp will contain the new offset indicating the beginning of the window within the object. lenp Upon a successful return, lenp will contain the size, in bytes, of the current window. cookiep A pointer to the first ddi_dma_cookie(9S) structure. ccountp Upon a successful return, ccountp will contain the number of cookies for this DMA window.DESCRIPTIONddi_dma_getwin() activates a new DMA window. If a DMA resource allocation request returns DDI_DMA_PARTIAL_MAP indicating that resources for less than the entire object were allocated, the current DMA window can be changed by a call to ddi_dma_getwin(). The caller must first determine the number of DMA windows, N, using ddi_dma_numwin(9F). ddi_dma_getwin() takes a DMA window number from the range [0..N-1] as the parameter win and makes it the current DMA window. ddi_dma_getwin() fills in the first DMA cookie pointed to by cookiep with the appropriate address, length, and bus type. *ccountp is set to the number of DMA cookies representing this DMA object. Subsequent DMA cookies must be retrieved using ddi_dma_nextcookie(9F). ddi_dma_getwin() takes care of underlying resource synchronizations required to shift the window. However accessing the data prior to or after moving the window requires further synchronization steps using ddi_dma_sync(9F). ddi_dma_getwin() is normally called from an interrupt routine. The first invocation of the DMA engine is done from the driver. All subse- quent invocations of the DMA engine are done from the interrupt routine. The interrupt routine checks to see if the request has been com- pleted. If it has, the interrupt routine returns without invoking another DMA transfer. Otherwise, it calls ddi_dma_getwin() to shift the current window and start another DMA transfer.RETURN VALUESddi_dma_getwin() returns: DDI_SUCCESS Resources for the specified DMA window are allocated. DDI_FAILURE win is not a valid window index.CONTEXTddi_dma_getwin() can be called from user, kernel, or interrupt context.SEE ALSOddi_dma_addr_bind_handle(9F), ddi_dma_alloc_handle(9F), ddi_dma_buf_bind_handle(9F), ddi_dma_nextcookie(9F), ddi_dma_numwin(9F), ddi_dma_sync(9F), ddi_dma_unbind_handle(9F), ddi_dma_cookie(9S) Writing Device Drivers SunOS 5.10 15 Nov 1996 ddi_dma_getwin(9F)
Related Man Pages |
---|
ddi_dma_getwin(9f) - sunos |
ddi_dma_movwin(9f) - centos |
ddi_dma_movwin(9f) - php |
ddi_dma_movwin(9f) - minix |
ddi_dma_getwin(9f) - osx |
Similar Topics in the Unix Linux Community |
---|
DB2 convert digits to binary format |
CentOS7 restoring file capabilities |
Shopt -s histappend |
Controlling user input |
[TIP] Processing YAML files with yq |