dma_cascade(D3) dma_cascade(D3)
NAME
dma_cascade - program a DMA channel for cascade mode
SYNOPSIS
#include <sys/types.h>
#include <sys/dma.h>
#include <sys/ddi.h>
boolean_t dma_cascade(int chan, uchar_t mode);
Arguments
chan DMA channel number.
mode DMA mode flags.
DESCRIPTION
dma_cascade is used to program DMA channels for cascade mode.
In cascade mode, the add-on I/O board supplies the memory
addresses for the transfers; normally these addresses are
supplied by the DMA controller.
Return Values
Returns B_TRUE if the channel has been successfully allocated
for cascade mode; otherwise B_FALSE.
USAGE
The mode argument is a combination of:
DMA_ENABLE Begin use of the channel.
DMA_DISABLE Release the channel.
DMA_SLEEP Wait for the channel to be available.
DMA_NOSLEEP Return B_FALSE if not available.
DMA_ENABLE and DMA_DISABLE are mutually exclusive. DMA_SLEEP
and DMA_NOSLEEP are mutually exclusive.
Multiple devices may use the same channel in cascade mode at
the same time. Subsequent calls to dma_cascade with
DMA_ENABLE while the channel is already in cascade mode will
always succeed, and will not interfere with any transfers
which may be in progress.
Copyright 1994 Novell, Inc. Page 1
dma_cascade(D3) dma_cascade(D3)
Level
Base only if mode is set to DMA_SLEEP.
Initialization, Base or Interrupt if mode is set to
DMA_NOSLEEP.
Synchronization Constraints
May sleep if mode is set to DMA_SLEEP.
Driver-defined basic locks, read/write locks, and sleep locks
may be held across calls to this function.
REFERENCES
dma_enable(D3), dma_prog(D3)
NOTICES
Portability
AT-compatible architectures
Applicability
ddi: 5, 5mp, 6, 6mp, 7, 7mp
Future Directions
This interface is expected to be replaced or modified in a
future release.
Copyright 1994 Novell, Inc. Page 2