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 2008 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 
43 };
44 EXPORT_SYMBOL(dma_io_base_addr);
45 
46 int channel2irq(unsigned int channel)
47 {
48  int ret_irq = -1;
49 
50  switch (channel) {
51  case CH_PPI:
52  ret_irq = IRQ_PPI;
53  break;
54 
55  case CH_UART0_RX:
56  ret_irq = IRQ_UART0_RX;
57  break;
58 
59  case CH_UART0_TX:
60  ret_irq = IRQ_UART0_TX;
61  break;
62 
63  case CH_UART1_RX:
64  ret_irq = IRQ_UART1_RX;
65  break;
66 
67  case CH_UART1_TX:
68  ret_irq = IRQ_UART1_TX;
69  break;
70 
71  case CH_UART2_RX:
72  ret_irq = IRQ_UART2_RX;
73  break;
74 
75  case CH_UART2_TX:
76  ret_irq = IRQ_UART2_TX;
77  break;
78 
79  case CH_SPORT0_RX:
80  ret_irq = IRQ_SPORT0_RX;
81  break;
82 
83  case CH_SPORT0_TX:
84  ret_irq = IRQ_SPORT0_TX;
85  break;
86 
87  case CH_SPORT1_RX:
88  ret_irq = IRQ_SPORT1_RX;
89  break;
90 
91  case CH_SPORT1_TX:
92  ret_irq = IRQ_SPORT1_TX;
93  break;
94 
95  case CH_SPORT2_RX:
96  ret_irq = IRQ_SPORT2_RX;
97  break;
98 
99  case CH_SPORT2_TX:
100  ret_irq = IRQ_SPORT2_TX;
101  break;
102 
103  case CH_SPORT3_RX:
104  ret_irq = IRQ_SPORT3_RX;
105  break;
106 
107  case CH_SPORT3_TX:
108  ret_irq = IRQ_SPORT3_TX;
109  break;
110 
111  case CH_SPI0:
112  ret_irq = IRQ_SPI0;
113  break;
114 
115  case CH_SPI1:
116  ret_irq = IRQ_SPI1;
117  break;
118 
119  case CH_SPI2:
120  ret_irq = IRQ_SPI2;
121  break;
122 
123  case CH_MEM_STREAM0_SRC:
124  case CH_MEM_STREAM0_DEST:
125  ret_irq = IRQ_MEM0_DMA0;
126  break;
127  case CH_MEM_STREAM1_SRC:
128  case CH_MEM_STREAM1_DEST:
129  ret_irq = IRQ_MEM0_DMA1;
130  break;
131  case CH_MEM_STREAM2_SRC:
132  case CH_MEM_STREAM2_DEST:
133  ret_irq = IRQ_MEM1_DMA0;
134  break;
135  case CH_MEM_STREAM3_SRC:
136  case CH_MEM_STREAM3_DEST:
137  ret_irq = IRQ_MEM1_DMA1;
138  break;
139  }
140  return ret_irq;
141 }