Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next
[cascardo/linux.git] / drivers / dma / dw_dmac_regs.h
index 5eef694..f298f69 100644 (file)
 
 #define DW_DMA_MAX_NR_CHANNELS 8
 
+/* flow controller */
+enum dw_dma_fc {
+       DW_DMA_FC_D_M2M,
+       DW_DMA_FC_D_M2P,
+       DW_DMA_FC_D_P2M,
+       DW_DMA_FC_D_P2P,
+       DW_DMA_FC_P_P2M,
+       DW_DMA_FC_SP_P2P,
+       DW_DMA_FC_P_M2P,
+       DW_DMA_FC_DP_P2P,
+};
+
 /*
  * Redefine this macro to handle differences between 32- and 64-bit
  * addressing, big vs. little endian, etc.
@@ -146,13 +158,15 @@ struct dw_dma_chan {
 
        /* these other elements are all protected by lock */
        unsigned long           flags;
-       dma_cookie_t            completed;
        struct list_head        active_list;
        struct list_head        queue;
        struct list_head        free_list;
        struct dw_cyclic_desc   *cdesc;
 
        unsigned int            descs_allocated;
+
+       /* configuration passed via DMA_SLAVE_CONFIG */
+       struct dma_slave_config dma_sconfig;
 };
 
 static inline struct dw_dma_chan_regs __iomem *