Xilinx: ARM: I2C: SI570: Driver updated for more error checking
[linux-2.6-xlnx.git] / drivers / dma / Kconfig
blob3912e6489bc550273b58bfbd5fb9d2f4d9ea30d3
2 # DMA engine configuration
5 menuconfig DMADEVICES
6         bool "DMA Engine support"
7         depends on HAS_DMA
8         help
9           DMA engines can do asynchronous data transfers without
10           involving the host CPU.  Currently, this framework can be
11           used to offload memory copies in the network stack and
12           RAID operations in the MD driver.  This menu only presents
13           DMA Device drivers supported by the configured arch, it may
14           be empty in some cases.
16 config DMADEVICES_DEBUG
17         bool "DMA Engine debugging"
18         depends on DMADEVICES != n
19         help
20           This is an option for use by developers; most people should
21           say N here.  This enables DMA engine core and driver debugging.
23 config DMADEVICES_VDEBUG
24         bool "DMA Engine verbose debugging"
25         depends on DMADEVICES_DEBUG != n
26         help
27           This is an option for use by developers; most people should
28           say N here.  This enables deeper (more verbose) debugging of
29           the DMA engine core and drivers.
32 if DMADEVICES
34 comment "DMA Devices"
36 config XILINX_DMA
37         tristate "Xilinx DMA engines support"
38         select DMA_ENGINE
39         ---help---
40         Enable support for the Xilinx DMA controllers. It supports three DMA
41         engines: Axi Central DMA (memory to memory transfer), Axi DMA (memory and
42         device transfer), and Axi VDMA (memory and video device transfer).
44 config INTEL_MID_DMAC
45         tristate "Intel MID DMA support for Peripheral DMA controllers"
46         depends on PCI && X86
47         select DMA_ENGINE
48         default n
49         help
50           Enable support for the Intel(R) MID DMA engine present
51           in Intel MID chipsets.
53           Say Y here if you have such a chipset.
55           If unsure, say N.
57 config ASYNC_TX_ENABLE_CHANNEL_SWITCH
58         bool
60 config AMBA_PL08X
61         bool "ARM PrimeCell PL080 or PL081 support"
62         depends on ARM_AMBA && EXPERIMENTAL
63         select DMA_ENGINE
64         help
65           Platform has a PL08x DMAC device
66           which can provide DMA engine support
68 config INTEL_IOATDMA
69         tristate "Intel I/OAT DMA support"
70         depends on PCI && X86
71         select DMA_ENGINE
72         select DCA
73         select ASYNC_TX_DISABLE_PQ_VAL_DMA
74         select ASYNC_TX_DISABLE_XOR_VAL_DMA
75         help
76           Enable support for the Intel(R) I/OAT DMA engine present
77           in recent Intel Xeon chipsets.
79           Say Y here if you have such a chipset.
81           If unsure, say N.
83 config INTEL_IOP_ADMA
84         tristate "Intel IOP ADMA support"
85         depends on ARCH_IOP32X || ARCH_IOP33X || ARCH_IOP13XX
86         select DMA_ENGINE
87         select ASYNC_TX_ENABLE_CHANNEL_SWITCH
88         help
89           Enable support for the Intel(R) IOP Series RAID engines.
91 config DW_DMAC
92         tristate "Synopsys DesignWare AHB DMA support"
93         depends on HAVE_CLK
94         select DMA_ENGINE
95         default y if CPU_AT32AP7000
96         help
97           Support the Synopsys DesignWare AHB DMA controller.  This
98           can be integrated in chips such as the Atmel AT32ap7000.
100 config AT_HDMAC
101         tristate "Atmel AHB DMA support"
102         depends on ARCH_AT91
103         select DMA_ENGINE
104         help
105           Support the Atmel AHB DMA controller.
107 config FSL_DMA
108         tristate "Freescale Elo and Elo Plus DMA support"
109         depends on FSL_SOC
110         select DMA_ENGINE
111         select ASYNC_TX_ENABLE_CHANNEL_SWITCH
112         ---help---
113           Enable support for the Freescale Elo and Elo Plus DMA controllers.
114           The Elo is the DMA controller on some 82xx and 83xx parts, and the
115           Elo Plus is the DMA controller on 85xx and 86xx parts.
117 config MPC512X_DMA
118         tristate "Freescale MPC512x built-in DMA engine support"
119         depends on PPC_MPC512x || PPC_MPC831x
120         select DMA_ENGINE
121         ---help---
122           Enable support for the Freescale MPC512x built-in DMA engine.
124 config MV_XOR
125         bool "Marvell XOR engine support"
126         depends on PLAT_ORION
127         select DMA_ENGINE
128         select ASYNC_TX_ENABLE_CHANNEL_SWITCH
129         ---help---
130           Enable support for the Marvell XOR engine.
132 config MX3_IPU
133         bool "MX3x Image Processing Unit support"
134         depends on ARCH_MXC
135         select DMA_ENGINE
136         default y
137         help
138           If you plan to use the Image Processing unit in the i.MX3x, say
139           Y here. If unsure, select Y.
141 config MX3_IPU_IRQS
142         int "Number of dynamically mapped interrupts for IPU"
143         depends on MX3_IPU
144         range 2 137
145         default 4
146         help
147           Out of 137 interrupt sources on i.MX31 IPU only very few are used.
148           To avoid bloating the irq_desc[] array we allocate a sufficient
149           number of IRQ slots and map them dynamically to specific sources.
151 config TXX9_DMAC
152         tristate "Toshiba TXx9 SoC DMA support"
153         depends on MACH_TX49XX || MACH_TX39XX
154         select DMA_ENGINE
155         help
156           Support the TXx9 SoC internal DMA controller.  This can be
157           integrated in chips such as the Toshiba TX4927/38/39.
159 config SH_DMAE
160         tristate "Renesas SuperH DMAC support"
161         depends on (SUPERH && SH_DMA) || (ARM && ARCH_SHMOBILE)
162         depends on !SH_DMA_API
163         select DMA_ENGINE
164         help
165           Enable support for the Renesas SuperH DMA controllers.
167 config COH901318
168         bool "ST-Ericsson COH901318 DMA support"
169         select DMA_ENGINE
170         depends on ARCH_U300
171         help
172           Enable support for ST-Ericsson COH 901 318 DMA.
174 config STE_DMA40
175         bool "ST-Ericsson DMA40 support"
176         depends on ARCH_U8500
177         select DMA_ENGINE
178         help
179           Support for ST-Ericsson DMA40 controller
181 config AMCC_PPC440SPE_ADMA
182         tristate "AMCC PPC440SPe ADMA support"
183         depends on 440SPe || 440SP
184         select DMA_ENGINE
185         select ARCH_HAS_ASYNC_TX_FIND_CHANNEL
186         select ASYNC_TX_ENABLE_CHANNEL_SWITCH
187         help
188           Enable support for the AMCC PPC440SPe RAID engines.
190 config TIMB_DMA
191         tristate "Timberdale FPGA DMA support"
192         depends on MFD_TIMBERDALE || HAS_IOMEM
193         select DMA_ENGINE
194         help
195           Enable support for the Timberdale FPGA DMA engine.
197 config SIRF_DMA
198         tristate "CSR SiRFprimaII DMA support"
199         depends on ARCH_PRIMA2
200         select DMA_ENGINE
201         help
202           Enable support for the CSR SiRFprimaII DMA engine.
204 config ARCH_HAS_ASYNC_TX_FIND_CHANNEL
205         bool
207 config PL330_DMA
208         tristate "DMA API Driver for PL330"
209         select DMA_ENGINE
210         depends on ARM_AMBA
211         help
212           Select if your platform has one or more PL330 DMACs.
213           You need to provide platform specific settings via
214           platform_data for a dma-pl330 device.
216 config PCH_DMA
217         tristate "Intel EG20T PCH / LAPIS Semicon IOH(ML7213/ML7223/ML7831) DMA"
218         depends on PCI && X86
219         select DMA_ENGINE
220         help
221           Enable support for Intel EG20T PCH DMA engine.
223           This driver also can be used for LAPIS Semiconductor IOH(Input/
224           Output Hub), ML7213, ML7223 and ML7831.
225           ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
226           for MP(Media Phone) use and ML7831 IOH is for general purpose use.
227           ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
228           ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.
230 config IMX_SDMA
231         tristate "i.MX SDMA support"
232         depends on ARCH_MXC
233         select DMA_ENGINE
234         help
235           Support the i.MX SDMA engine. This engine is integrated into
236           Freescale i.MX25/31/35/51/53 chips.
238 config IMX_DMA
239         tristate "i.MX DMA support"
240         depends on ARCH_MXC
241         select DMA_ENGINE
242         help
243           Support the i.MX DMA engine. This engine is integrated into
244           Freescale i.MX1/21/27 chips.
246 config XILINX_DMA
247         tristate "Xilinx DMA engines support"
248         select DMA_ENGINE
249         help
250           Enable support for the Xilinx DMA controllers. It supports three DMA
251           engines: Axi Central DMA (memory to memory transfer), Axi DMA (memory and
252           device transfer), and Axi VDMA (memory and video device transfer).
254 config MXS_DMA
255         bool "MXS DMA support"
256         depends on SOC_IMX23 || SOC_IMX28
257         select STMP_DEVICE
258         select DMA_ENGINE
259         help
260           Support the MXS DMA engine. This engine including APBH-DMA
261           and APBX-DMA is integrated into Freescale i.MX23/28 chips.
263 config EP93XX_DMA
264         bool "Cirrus Logic EP93xx DMA support"
265         depends on ARCH_EP93XX
266         select DMA_ENGINE
267         help
268           Enable support for the Cirrus Logic EP93xx M2P/M2M DMA controller.
270 config DMA_SA11X0
271         tristate "SA-11x0 DMA support"
272         depends on ARCH_SA1100
273         select DMA_ENGINE
274         help
275           Support the DMA engine found on Intel StrongARM SA-1100 and
276           SA-1110 SoCs.  This DMA engine can only be used with on-chip
277           devices.
279 config DMA_ENGINE
280         bool
282 comment "DMA Clients"
283         depends on DMA_ENGINE
285 config NET_DMA
286         bool "Network: TCP receive copy offload"
287         depends on DMA_ENGINE && NET
288         default (INTEL_IOATDMA || FSL_DMA)
289         help
290           This enables the use of DMA engines in the network stack to
291           offload receive copy-to-user operations, freeing CPU cycles.
293           Say Y here if you enabled INTEL_IOATDMA or FSL_DMA, otherwise
294           say N.
296 config ASYNC_TX_DMA
297         bool "Async_tx: Offload support for the async_tx api"
298         depends on DMA_ENGINE
299         help
300           This allows the async_tx api to take advantage of offload engines for
301           memcpy, memset, xor, and raid6 p+q operations.  If your platform has
302           a dma engine that can perform raid operations and you have enabled
303           MD_RAID456 say Y.
305           If unsure, say N.
307 config DMATEST
308         tristate "DMA Test client"
309         depends on DMA_ENGINE
310         help
311           Simple DMA test client. Say N unless you're debugging a
312           DMA Device driver.
314 endif