SVR5
dma_cascade(D3)
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);
Description
The
dma_cascade( )
function is used to program
ISA, EISA, and MCA
DMA channels for cascade mode.
In cascade mode,
the add-on I/O board supplies
the memory addresses for the transfers;
in non-cascade mode,
these addresses are supplied by
the motherboard DMA controller.
Arguments
chan-
DMA channel number.
mode-
DMA mode flags.
Valid flags are:
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.
Either DMA_ENABLE or DMA_DISABLE
must be specified, but not both.
Either DMA_SLEEP and DMA_NOSLEEP
must be specified, but not both.
Return values
Returns B_TRUE if the channel
has been successfully allocated for cascade mode;
otherwise B_FALSE.
Usage
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.
is set in mode
Context and synchronization
If mode is set to DMA_NOSLEEP,
non-blockable, initialization, or interrupt
context.
If mode is set to DMA_SLEEP,
user
context.
Hardware applicability
PC-AT compatible platforms
with ISA, EISA, or MCA buses
Version applicability
ddi:
5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp, 8, 8mp
Future directions
This interface is expected to be replaced or modified in a future release.
References
dma_enable(D3),
dma_prog(D3)
``DMA'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005