Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dma_prog(D3) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought






       dma_prog(D3)                                            dma_prog(D3)


       NAME
             dma_prog - program a DMA operation for a subsequent hardware
             request

       SYNOPSIS
             #include <sys/types.h>
             #include <sys/dma.h>
             #include <sys/ddi.h>
             int dma_prog(struct dma_cb *dmacbptr, int chan, uchar_t mode);

          Arguments
             dmacbptr  Pointer to the DMA command block specifying the DMA
                       operation.

             chan      DMA channel over which the operation is to take
                       place.

             mode      Specifies whether the caller is willing to sleep
                       waiting to allocate desired DMA channel.

       DESCRIPTION
             dma_prog programs the DMA channel chan for the operation
             specified by the DMA command block whose address is given by
             dmacbptr.

          Return Values
             dma_prog returns the value TRUE upon successful completion and
             returns the value FALSE otherwise.

       USAGE
             dma_prog does not initiate the DMA transfer.  Instead, the
             transfer will be initiated by a subsequent request from
             hardware.  The hardware request will be recognized only if the
             channel has been enabled via dma_enable(D3) following the call
             to dma_prog.

             In order to program the operation, dma_prog requires exclusive
             use of the specified DMA channel.  The caller may specify, via
             the mode argument, whether or not dma_prog should sleep
             waiting for a busy channel to become available.  If the
             specified channel is in use, and mode is set to DMA_SLEEP,
             then dma_prog will sleep until the channel becomes available
             for its use.  Otherwise, if DMA_NOSLEEP is specified and the
             requested channel is not immediately available, dma_prog will
             not program the channel, but will simply return a value of
             FALSE.


                           Copyright 1994 Novell, Inc.               Page 1













      dma_prog(D3)                                            dma_prog(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_disable(D3), dma_enable(D3), dma_cb(D4)

      NOTICES
         Portability
            AT-compatible architectures

         Applicability
            ddi: 1, 2, 3, 4, 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








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026