DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
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