diff options
Diffstat (limited to 'include/asm-arm/plat-s3c24xx/dma.h')
-rw-r--r-- | include/asm-arm/plat-s3c24xx/dma.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/asm-arm/plat-s3c24xx/dma.h b/include/asm-arm/plat-s3c24xx/dma.h index 421b567fa019..15e140c2d4fc 100644 --- a/include/asm-arm/plat-s3c24xx/dma.h +++ b/include/asm-arm/plat-s3c24xx/dma.h | |||
@@ -14,6 +14,7 @@ extern struct sysdev_class dma_sysclass; | |||
14 | extern struct s3c2410_dma_chan s3c2410_chans[S3C2410_DMA_CHANNELS]; | 14 | extern struct s3c2410_dma_chan s3c2410_chans[S3C2410_DMA_CHANNELS]; |
15 | 15 | ||
16 | #define DMA_CH_VALID (1<<31) | 16 | #define DMA_CH_VALID (1<<31) |
17 | #define DMA_CH_NEVER (1<<30) | ||
17 | 18 | ||
18 | struct s3c24xx_dma_addr { | 19 | struct s3c24xx_dma_addr { |
19 | unsigned long from; | 20 | unsigned long from; |
@@ -43,3 +44,27 @@ struct s3c24xx_dma_selection { | |||
43 | }; | 44 | }; |
44 | 45 | ||
45 | extern int s3c24xx_dma_init_map(struct s3c24xx_dma_selection *sel); | 46 | extern int s3c24xx_dma_init_map(struct s3c24xx_dma_selection *sel); |
47 | |||
48 | /* struct s3c24xx_dma_order_ch | ||
49 | * | ||
50 | * channel map for one of the `enum dma_ch` dma channels. the list | ||
51 | * entry contains a set of low-level channel numbers, orred with | ||
52 | * DMA_CH_VALID, which are checked in the order in the array. | ||
53 | */ | ||
54 | |||
55 | struct s3c24xx_dma_order_ch { | ||
56 | unsigned int list[S3C2410_DMA_CHANNELS]; /* list of channels */ | ||
57 | unsigned int flags; /* flags */ | ||
58 | }; | ||
59 | |||
60 | /* struct s3c24xx_dma_order | ||
61 | * | ||
62 | * information provided by either the core or the board to give the | ||
63 | * dma system a hint on how to allocate channels | ||
64 | */ | ||
65 | |||
66 | struct s3c24xx_dma_order { | ||
67 | struct s3c24xx_dma_order_ch channels[DMACH_MAX]; | ||
68 | }; | ||
69 | |||
70 | extern int s3c24xx_dma_order_set(struct s3c24xx_dma_order *map); | ||