[ARM] MX2: DMA updates
Sascha Hauer [Tue, 16 Dec 2008 11:17:47 +0000 (12:17 +0100)]
This one updates DMA support on MX2 which got broken in:
[ARM] Hide ISA DMA API when ISA_DMA_API is unset

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>

arch/arm/plat-mxc/dma-mx1-mx2.c
arch/arm/plat-mxc/include/mach/dma-mx1-mx2.h

index 2142743..e1c2eb4 100644 (file)
@@ -34,7 +34,6 @@
 #include <asm/system.h>
 #include <asm/irq.h>
 #include <mach/hardware.h>
-#include <mach/dma.h>
 #include <mach/dma-mx1-mx2.h>
 
 #define DMA_DCR     0x00               /* Control Register */
@@ -114,7 +113,7 @@ struct imx_dma_channel {
        void (*err_handler) (int, void *, int errcode);
        void (*prog_handler) (int, void *, struct scatterlist *);
        void *data;
-       dmamode_t  dma_mode;
+       unsigned int  dma_mode;
        struct scatterlist *sg;
        unsigned int resbytes;
        int dma_num;
@@ -193,7 +192,7 @@ static inline int imx_dma_sg_next(int channel, struct scatterlist *sg)
 int
 imx_dma_setup_single(int channel, dma_addr_t dma_address,
                     unsigned int dma_length, unsigned int dev_addr,
-                    dmamode_t dmamode)
+                    unsigned int dmamode)
 {
        struct imx_dma_channel *imxdma = &imx_dma_channels[channel];
 
@@ -288,7 +287,7 @@ int
 imx_dma_setup_sg(int channel,
                 struct scatterlist *sg, unsigned int sgcount,
                 unsigned int dma_length, unsigned int dev_addr,
-                dmamode_t dmamode)
+                unsigned int dmamode)
 {
        struct imx_dma_channel *imxdma = &imx_dma_channels[channel];
 
index 6cc6f0c..b3876cc 100644 (file)
  * MA 02110-1301, USA.
  */
 
-#include <mach/dma.h>
-
 #ifndef __ASM_ARCH_MXC_DMA_H
 #define __ASM_ARCH_MXC_DMA_H
 
 #define IMX_DMA_CHANNELS  16
 
+#define DMA_MODE_READ          0
+#define DMA_MODE_WRITE         1
+#define DMA_MODE_MASK          1
+
 #define DMA_BASE IO_ADDRESS(DMA_BASE_ADDR)
 
 #define IMX_DMA_MEMSIZE_32     (0 << 4)
@@ -54,12 +56,12 @@ imx_dma_config_burstlen(int channel, unsigned int burstlen);
 int
 imx_dma_setup_single(int channel, dma_addr_t dma_address,
                unsigned int dma_length, unsigned int dev_addr,
-               dmamode_t dmamode);
+               unsigned int dmamode);
 
 int
 imx_dma_setup_sg(int channel, struct scatterlist *sg,
                unsigned int sgcount, unsigned int dma_length,
-               unsigned int dev_addr, dmamode_t dmamode);
+               unsigned int dev_addr, unsigned int dmamode);
 
 int
 imx_dma_setup_handlers(int channel,