eisa_dma_prog(D3X)
eisa_dma_prog - program a DMA operation for a subsequent software request
As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.5.
NAME eisa_dma_prog - program a DMA operation for a subsequent software request SYNOPSIS #include <sys/eisa.h> void eisa_dma_prog(vint_t adap, struct eisa_dma_cb *dmacbptr, int chan, uchar_t mode); Arguments adap Bus adapter number (zero on an Indigo2). dmacbptr Pointer to the DMA command block specifying the DMA operation. chan Channel over which the DMA operation is to take place. mode Specifies whether the caller is willing to sleep waiting for to allocate the desired DMA channel. If mode is set to EISA_DMA_NOSLEEP, then the caller will sleep if necessary until the requested channel becomes available for its use. If mode is set to EISA_DMA_SLEEP, then the caller will not sleep, but eisa_dma_prog will return FALSE if the requested DMA channel is not immediately available. DESCRIPTION The eisa_dma_prog routine programs the DMA channel chan for the operation specified by the DMA command block whose address is given by dmacbptr. Note that eisa_dma_prog does not initiate the DMA transfer. Instead, the transfer will be initiated by a subsequent request initiated by eisa_dma_swstart() or eisa_dma_enable(). To program the operation, eisa_dma_prog requires exclusive use of the specified DMA channel. The caller may specify, via the mode argument, whether eisa_dma_prog should sleep waiting for a busy channel to become available. If the specified channel is in use and mode is set to EISA_DMA_SLEEP, then eisa_dma_prog will sleep until the channel becomes available for its use. Otherwise, if EISA_DMA_NOSLEEP is specified and the requested channel is not immediately available, eisa_dma_prog will not program the channel, but will simply return a value of FALSE. Return Values eisa_dma_prog returns the value TRUE on success and FALSE otherwise. Level Base only if either mode is set to EISA_DMA_SLEEP. Notes Can sleep if mode is set to DMA_SLEEP or the routine specified by the proc field of the eisa_dma_cb structure sleeps.