]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/include/asm/imx-common/dma.h
kconfig: arm: move ARCH_MX? out of choice which selects TARGETs that depend on those
[karo-tx-uboot.git] / arch / arm / include / asm / imx-common / dma.h
index d5c1f7f255a3c5f6eee70634d6dd747ac5639530..f991c9517eca7e5a71be81f37580cba7854f6880 100644 (file)
 #define        DMA_PIO_WORDS           CONFIG_ARCH_DMA_PIO_WORDS
 #endif
 
-#define MXS_DMA_ALIGNMENT      32
+#define MXS_DMA_ALIGNMENT      ARCH_DMA_MINALIGN
 
 /*
  * MXS DMA channels
  */
-#if defined(CONFIG_MX23)
+#if defined(CONFIG_SOC_MX23)
 enum {
        MXS_DMA_CHANNEL_AHB_APBH_LCDIF = 0,
        MXS_DMA_CHANNEL_AHB_APBH_SSP0,
@@ -39,7 +39,7 @@ enum {
        MXS_DMA_CHANNEL_AHB_APBH_GPMI3,
        MXS_MAX_DMA_CHANNELS,
 };
-#elif defined(CONFIG_MX28)
+#elif defined(CONFIG_SOC_MX28)
 enum {
        MXS_DMA_CHANNEL_AHB_APBH_SSP0 = 0,
        MXS_DMA_CHANNEL_AHB_APBH_SSP1,
@@ -59,7 +59,7 @@ enum {
        MXS_DMA_CHANNEL_AHB_APBH_RESERVED1,
        MXS_MAX_DMA_CHANNELS,
 };
-#elif defined(CONFIG_MX6)
+#elif defined(CONFIG_ARCH_MX6)
 enum {
        MXS_DMA_CHANNEL_AHB_APBH_GPMI0 = 0,
        MXS_DMA_CHANNEL_AHB_APBH_GPMI1,
@@ -150,11 +150,14 @@ struct mxs_dma_chan {
        unsigned int pending_num;
        struct list_head active;
        struct list_head done;
+       unsigned long timeout;
 };
 
 struct mxs_dma_desc *mxs_dma_desc_alloc(void);
 void mxs_dma_desc_free(struct mxs_dma_desc *);
 int mxs_dma_desc_append(int channel, struct mxs_dma_desc *pdesc);
+int mxs_dma_set_timeout(int channel, unsigned long timeout);
+unsigned long mxs_dma_get_timeout(int channel);
 
 int mxs_dma_go(int chan);
 void mxs_dma_init(void);