diff options
Diffstat (limited to 'include/linux/dw_dmac.h')
| -rw-r--r-- | include/linux/dw_dmac.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h index d797dde247f7..c8aad713a046 100644 --- a/include/linux/dw_dmac.h +++ b/include/linux/dw_dmac.h | |||
| @@ -74,4 +74,23 @@ struct dw_dma_slave { | |||
| 74 | #define DWC_CFGL_HS_DST_POL (1 << 18) /* dst handshake active low */ | 74 | #define DWC_CFGL_HS_DST_POL (1 << 18) /* dst handshake active low */ |
| 75 | #define DWC_CFGL_HS_SRC_POL (1 << 19) /* src handshake active low */ | 75 | #define DWC_CFGL_HS_SRC_POL (1 << 19) /* src handshake active low */ |
| 76 | 76 | ||
| 77 | /* DMA API extensions */ | ||
| 78 | struct dw_cyclic_desc { | ||
| 79 | struct dw_desc **desc; | ||
| 80 | unsigned long periods; | ||
| 81 | void (*period_callback)(void *param); | ||
| 82 | void *period_callback_param; | ||
| 83 | }; | ||
| 84 | |||
| 85 | struct dw_cyclic_desc *dw_dma_cyclic_prep(struct dma_chan *chan, | ||
| 86 | dma_addr_t buf_addr, size_t buf_len, size_t period_len, | ||
| 87 | enum dma_data_direction direction); | ||
| 88 | void dw_dma_cyclic_free(struct dma_chan *chan); | ||
| 89 | int dw_dma_cyclic_start(struct dma_chan *chan); | ||
| 90 | void dw_dma_cyclic_stop(struct dma_chan *chan); | ||
| 91 | |||
| 92 | dma_addr_t dw_dma_get_src_addr(struct dma_chan *chan); | ||
| 93 | |||
| 94 | dma_addr_t dw_dma_get_dst_addr(struct dma_chan *chan); | ||
| 95 | |||
| 77 | #endif /* DW_DMAC_H */ | 96 | #endif /* DW_DMAC_H */ |
