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 
31 };
32 EXPORT_SYMBOL(dma_io_base_addr);
33 
34 int channel2irq(unsigned int channel)
35 {
36  int ret_irq = -1;
37 
38  switch (channel) {
39  case CH_PPI:
40  ret_irq = IRQ_PPI;
41  break;
42 
43  case CH_EMAC_RX:
44  ret_irq = IRQ_MAC_RX;
45  break;
46 
47  case CH_EMAC_TX:
48  ret_irq = IRQ_MAC_TX;
49  break;
50 
51  case CH_UART1_RX:
52  ret_irq = IRQ_UART1_RX;
53  break;
54 
55  case CH_UART1_TX:
56  ret_irq = IRQ_UART1_TX;
57  break;
58 
59  case CH_SPORT0_RX:
60  ret_irq = IRQ_SPORT0_RX;
61  break;
62 
63  case CH_SPORT0_TX:
64  ret_irq = IRQ_SPORT0_TX;
65  break;
66 
67  case CH_SPORT1_RX:
68  ret_irq = IRQ_SPORT1_RX;
69  break;
70 
71  case CH_SPORT1_TX:
72  ret_irq = IRQ_SPORT1_TX;
73  break;
74 
75  case CH_SPI0:
76  ret_irq = IRQ_SPI0;
77  break;
78 
79  case CH_UART0_RX:
80  ret_irq = IRQ_UART0_RX;
81  break;
82 
83  case CH_UART0_TX:
84  ret_irq = IRQ_UART0_TX;
85  break;
86 
87  case CH_MEM_STREAM0_SRC:
89  ret_irq = IRQ_MEM_DMA0;
90  break;
91 
92  case CH_MEM_STREAM1_SRC:
94  ret_irq = IRQ_MEM_DMA1;
95  break;
96  }
97  return ret_irq;
98 }