eisa_dma_swstart(D3X)eisa_dma_swstart(D3X)NAMEeisa_dma_swstart - initiate a DMA operation via software request
SYNOPSIS
#include <sys/eisa.h>
void eisa_dma_swstart(struct dma_cb *dmacbptr, int chan, uchar_t mode);
Arguments
dmacbptr
Address of the allocated DMA command block to be returned.
chan Channel over which the DMA operation is to take place.
mode Specifies whether the caller is willing to sleep waiting for the
operation to complete. If mode is set to EISA_DMA_NOSLEEP, then
eisa_dma_swstart starts the operation but does not wait for the
operation to complete and instead returns to the caller immediately.
If mode is set to EISA_DMA_SLEEP, then eisa_dma_swstart starts the
operation and then waits for the operation to complete, and returns
to the caller after the operation has finished.
DESCRIPTION
The eisa_dma_swstart routine initiates a DMA operation previously
programmed by eisa_dma_prog(). If mode is set to DMA_SLEEP, then
eisa_dma_swstart returns to the caller after the operation completes. If
mode is set to EISA_DMA_NOSLEEP, then eisa_dma_swstart returns to the
caller immediately after starting the operation.
Return Values
None
Level
Base only if mode is set to EISA_DMA_SLEEP. Base or Interrupt if mode is
set to EISA_DMA_NOSLEEP.
Notes
The operation being initiated must have already been programmed on the
specified channel by eisa_dma_prog().
Will sleep if mode is set to EISA_DMA_SLEEP; mode must be
EISA_DMA_NOSLEEP in Release 5.1.
Page 1