ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-ia64 / sn / dmamap.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1992-1997,2000-2003 Silicon Graphics, Inc. All rights reserved.
7  */
8 #ifndef _ASM_IA64_SN_DMAMAP_H
9 #define _ASM_IA64_SN_DMAMAP_H
10
11 /*
12  * Definitions for allocating, freeing, and using DMA maps
13  */
14
15 /*
16  * DMA map types
17  */
18 #define DMA_SCSI        0
19 #define DMA_A24VME      1               /* Challenge/Onyx only  */
20 #define DMA_A32VME      2               /* Challenge/Onyx only  */
21 #define DMA_A64VME      3               /* SN0/Racer */
22
23 #define DMA_EISA        4
24
25 #define DMA_PCI32       5               /* SN0/Racer    */
26 #define DMA_PCI64       6               /* SN0/Racer    */
27
28 /*
29  * DMA map structure as returned by dma_mapalloc()
30  */
31 typedef struct dmamap {
32         int             dma_type;       /* Map type (see above) */
33         int             dma_adap;       /* I/O adapter */
34         int             dma_index;      /* Beginning map register to use */
35         int             dma_size;       /* Number of map registers to use */
36         paddr_t         dma_addr;       /* Corresponding bus addr for A24/A32 */
37         unsigned long   dma_virtaddr;   /* Beginning virtual address that is mapped */
38 } dmamap_t;
39
40 /* standard flags values for pio_map routines,
41  * including {xtalk,pciio}_dmamap calls.
42  * NOTE: try to keep these in step with PIOMAP flags.
43  */
44 #define DMAMAP_FIXED    0x1
45 #define DMAMAP_NOSLEEP  0x2
46 #define DMAMAP_INPLACE  0x4
47
48 #define DMAMAP_FLAGS    0x7
49
50 #endif /* _ASM_IA64_SN_DMAMAP_H */