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  * 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 
27 };
28 EXPORT_SYMBOL(dma_io_base_addr);
29 
30 int channel2irq(unsigned int channel)
31 {
32  int ret_irq = -1;
33 
34  switch (channel) {
35  case CH_PPI:
36  ret_irq = IRQ_PPI;
37  break;
38 
39  case CH_SPORT0_RX:
40  ret_irq = IRQ_SPORT0_RX;
41  break;
42 
43  case CH_SPORT0_TX:
44  ret_irq = IRQ_SPORT0_TX;
45  break;
46 
47  case CH_SPORT1_RX:
48  ret_irq = IRQ_SPORT1_RX;
49  break;
50 
51  case CH_SPORT1_TX:
52  ret_irq = IRQ_SPORT1_TX;
53  break;
54 
55  case CH_SPI:
56  ret_irq = IRQ_SPI;
57  break;
58 
59  case CH_UART0_RX:
60  ret_irq = IRQ_UART0_RX;
61  break;
62 
63  case CH_UART0_TX:
64  ret_irq = IRQ_UART0_TX;
65  break;
66 
67  case CH_MEM_STREAM0_SRC:
69  ret_irq = IRQ_MEM_DMA0;
70  break;
71 
72  case CH_MEM_STREAM1_SRC:
74  ret_irq = IRQ_MEM_DMA1;
75  break;
76  }
77  return ret_irq;
78 }