home *** CD-ROM | disk | FTP | other *** search
- /* Defines for using and allocating dma channels. */
-
- #ifndef _ASM_ARCH_DMA_H
- #define _ASM_ARCH_DMA_H
-
- #define MAX_DMA_CHANNELS 10
-
- /* dma0 and dma1 used for network (ethernet) */
- #define NETWORK_TX_DMA_NBR 0
- #define NETWORK_RX_DMA_NBR 1
-
- /* dma2 and dma3 shared by par0, scsi0, ser2 and ata */
- #define PAR0_TX_DMA_NBR 2
- #define PAR0_RX_DMA_NBR 3
- #define SCSI0_TX_DMA_NBR 2
- #define SCSI0_RX_DMA_NBR 3
- #define SER2_TX_DMA_NBR 2
- #define SER2_RX_DMA_NBR 3
- #define ATA_TX_DMA_NBR 2
- #define ATA_RX_DMA_NBR 3
-
- /* dma4 and dma5 shared by par1, scsi1, ser3 and extdma0 */
- #define PAR1_TX_DMA_NBR 4
- #define PAR1_RX_DMA_NBR 5
- #define SCSI1_TX_DMA_NBR 4
- #define SCSI1_RX_DMA_NBR 5
- #define SER3_TX_DMA_NBR 4
- #define SER3_RX_DMA_NBR 5
- #define EXTDMA0_TX_DMA_NBR 4
- #define EXTDMA0_RX_DMA_NBR 5
-
- /* dma6 and dma7 shared by ser0, extdma1 and mem2mem */
- #define SER0_TX_DMA_NBR 6
- #define SER0_RX_DMA_NBR 7
- #define EXTDMA1_TX_DMA_NBR 6
- #define EXTDMA1_RX_DMA_NBR 7
- #define MEM2MEM_TX_DMA_NBR 6
- #define MEM2MEM_RX_DMA_NBR 7
-
- /* dma8 and dma9 shared by ser1 and usb */
- #define SER1_TX_DMA_NBR 8
- #define SER1_RX_DMA_NBR 9
- #define USB_TX_DMA_NBR 8
- #define USB_RX_DMA_NBR 9
-
- #endif
-
- enum dma_owner
- {
- dma_eth,
- dma_ser0,
- dma_ser1, /* Async and sync */
- dma_ser2,
- dma_ser3, /* Async and sync */
- dma_ata,
- dma_par0,
- dma_par1,
- dma_ext0,
- dma_ext1,
- dma_int6,
- dma_int7,
- dma_usb,
- dma_scsi0,
- dma_scsi1
- };
-
- /* Masks used by cris_request_dma options: */
- #define DMA_VERBOSE_ON_ERROR (1<<0)
- #define DMA_PANIC_ON_ERROR ((1<<1)|DMA_VERBOSE_ON_ERROR)
-
- int cris_request_dma(unsigned int dmanr, const char * device_id,
- unsigned options, enum dma_owner owner);
-
- void cris_free_dma(unsigned int dmanr, const char * device_id);
-