Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dma.c
Go to the documentation of this file.
1 /*
2  * the simple DMA Implementation for Blackfin
3  *
4  * Copyright 2007-2009 Analog Devices Inc.
5  *
6  * Licensed under the GPL-2 or later.
7  */
8 
9 #include <linux/module.h>
10 
11 #include <asm/blackfin.h>
12 #include <asm/dma.h>
13 
62 };
63 EXPORT_SYMBOL(dma_io_base_addr);
64 
65 int channel2irq(unsigned int channel)
66 {
67  int ret_irq = -1;
68 
69  switch (channel) {
70  case CH_SPORT0_RX:
71  ret_irq = IRQ_SPORT0_RX;
72  break;
73  case CH_SPORT0_TX:
74  ret_irq = IRQ_SPORT0_TX;
75  break;
76  case CH_SPORT1_RX:
77  ret_irq = IRQ_SPORT1_RX;
78  break;
79  case CH_SPORT1_TX:
80  ret_irq = IRQ_SPORT1_TX;
81  break;
82  case CH_SPORT2_RX:
83  ret_irq = IRQ_SPORT2_RX;
84  break;
85  case CH_SPORT2_TX:
86  ret_irq = IRQ_SPORT2_TX;
87  break;
88  case CH_SPI0_TX:
89  ret_irq = IRQ_SPI0_TX;
90  break;
91  case CH_SPI0_RX:
92  ret_irq = IRQ_SPI0_RX;
93  break;
94  case CH_SPI1_TX:
95  ret_irq = IRQ_SPI1_TX;
96  break;
97  case CH_SPI1_RX:
98  ret_irq = IRQ_SPI1_RX;
99  break;
100  case CH_RSI:
101  ret_irq = IRQ_RSI;
102  break;
103  case CH_SDU:
104  ret_irq = IRQ_SDU;
105  break;
106  case CH_LP0:
107  ret_irq = IRQ_LP0;
108  break;
109  case CH_LP1:
110  ret_irq = IRQ_LP1;
111  break;
112  case CH_LP2:
113  ret_irq = IRQ_LP2;
114  break;
115  case CH_LP3:
116  ret_irq = IRQ_LP3;
117  break;
118  case CH_UART0_RX:
119  ret_irq = IRQ_UART0_RX;
120  break;
121  case CH_UART0_TX:
122  ret_irq = IRQ_UART0_TX;
123  break;
124  case CH_UART1_RX:
125  ret_irq = IRQ_UART1_RX;
126  break;
127  case CH_UART1_TX:
128  ret_irq = IRQ_UART1_TX;
129  break;
130  case CH_EPPI0_CH0:
131  ret_irq = IRQ_EPPI0_CH0;
132  break;
133  case CH_EPPI0_CH1:
134  ret_irq = IRQ_EPPI0_CH1;
135  break;
136  case CH_EPPI1_CH0:
137  ret_irq = IRQ_EPPI1_CH0;
138  break;
139  case CH_EPPI1_CH1:
140  ret_irq = IRQ_EPPI1_CH1;
141  break;
142  case CH_EPPI2_CH0:
143  ret_irq = IRQ_EPPI2_CH0;
144  break;
145  case CH_EPPI2_CH1:
146  ret_irq = IRQ_EPPI2_CH1;
147  break;
148  case CH_PIXC_CH0:
149  ret_irq = IRQ_PIXC_CH0;
150  break;
151  case CH_PIXC_CH1:
152  ret_irq = IRQ_PIXC_CH1;
153  break;
154  case CH_PIXC_CH2:
155  ret_irq = IRQ_PIXC_CH2;
156  break;
157  case CH_PVP_CPDOB:
158  ret_irq = IRQ_PVP_CPDOB;
159  break;
160  case CH_PVP_CPDOC:
161  ret_irq = IRQ_PVP_CPDOC;
162  break;
163  case CH_PVP_CPSTAT:
164  ret_irq = IRQ_PVP_CPSTAT;
165  break;
166  case CH_PVP_CPCI:
167  ret_irq = IRQ_PVP_CPCI;
168  break;
169  case CH_PVP_MPDO:
170  ret_irq = IRQ_PVP_MPDO;
171  break;
172  case CH_PVP_MPDI:
173  ret_irq = IRQ_PVP_MPDI;
174  break;
175  case CH_PVP_MPSTAT:
176  ret_irq = IRQ_PVP_MPSTAT;
177  break;
178  case CH_PVP_MPCI:
179  ret_irq = IRQ_PVP_MPCI;
180  break;
181  case CH_PVP_CPDOA:
182  ret_irq = IRQ_PVP_CPDOA;
183  break;
184  case CH_MEM_STREAM0_SRC:
185  case CH_MEM_STREAM0_DEST:
186  ret_irq = IRQ_MDMAS0;
187  break;
188  case CH_MEM_STREAM1_SRC:
189  case CH_MEM_STREAM1_DEST:
190  ret_irq = IRQ_MDMAS1;
191  break;
192  case CH_MEM_STREAM2_SRC:
193  case CH_MEM_STREAM2_DEST:
194  ret_irq = IRQ_MDMAS2;
195  break;
196  case CH_MEM_STREAM3_SRC:
197  case CH_MEM_STREAM3_DEST:
198  ret_irq = IRQ_MDMAS3;
199  break;
200  }
201  return ret_irq;
202 }