diff options
Diffstat (limited to 'drivers/dma/dw_dmac_regs.h')
-rw-r--r-- | drivers/dma/dw_dmac_regs.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/dma/dw_dmac_regs.h b/drivers/dma/dw_dmac_regs.h index 5eef6946a367..f298f69ecbf9 100644 --- a/drivers/dma/dw_dmac_regs.h +++ b/drivers/dma/dw_dmac_regs.h | |||
@@ -13,6 +13,18 @@ | |||
13 | 13 | ||
14 | #define DW_DMA_MAX_NR_CHANNELS 8 | 14 | #define DW_DMA_MAX_NR_CHANNELS 8 |
15 | 15 | ||
16 | /* flow controller */ | ||
17 | enum dw_dma_fc { | ||
18 | DW_DMA_FC_D_M2M, | ||
19 | DW_DMA_FC_D_M2P, | ||
20 | DW_DMA_FC_D_P2M, | ||
21 | DW_DMA_FC_D_P2P, | ||
22 | DW_DMA_FC_P_P2M, | ||
23 | DW_DMA_FC_SP_P2P, | ||
24 | DW_DMA_FC_P_M2P, | ||
25 | DW_DMA_FC_DP_P2P, | ||
26 | }; | ||
27 | |||
16 | /* | 28 | /* |
17 | * Redefine this macro to handle differences between 32- and 64-bit | 29 | * Redefine this macro to handle differences between 32- and 64-bit |
18 | * addressing, big vs. little endian, etc. | 30 | * addressing, big vs. little endian, etc. |
@@ -146,13 +158,15 @@ struct dw_dma_chan { | |||
146 | 158 | ||
147 | /* these other elements are all protected by lock */ | 159 | /* these other elements are all protected by lock */ |
148 | unsigned long flags; | 160 | unsigned long flags; |
149 | dma_cookie_t completed; | ||
150 | struct list_head active_list; | 161 | struct list_head active_list; |
151 | struct list_head queue; | 162 | struct list_head queue; |
152 | struct list_head free_list; | 163 | struct list_head free_list; |
153 | struct dw_cyclic_desc *cdesc; | 164 | struct dw_cyclic_desc *cdesc; |
154 | 165 | ||
155 | unsigned int descs_allocated; | 166 | unsigned int descs_allocated; |
167 | |||
168 | /* configuration passed via DMA_SLAVE_CONFIG */ | ||
169 | struct dma_slave_config dma_sconfig; | ||
156 | }; | 170 | }; |
157 | 171 | ||
158 | static inline struct dw_dma_chan_regs __iomem * | 172 | static inline struct dw_dma_chan_regs __iomem * |