diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2014-09-23 18:18:11 +0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-10-15 19:01:04 +0400 |
commit | 3d588f83e4d6a5230d9094b97d38621cbaa9a972 (patch) | |
tree | 376a10e65eef40977b14439e212d9b8a49c732e9 /include/linux/dma | |
parent | 46e8c83c83c06b90ebc000df481c2fdcee79a141 (diff) | |
download | linux-3d588f83e4d6a5230d9094b97d38621cbaa9a972.tar.xz |
dmaengine: dw: split dma-dw.h to platform and private parts
The introduced include/linux/dma/dw.h is going to contain the private
extensions and structures which are shared for dw_dmac users in the kernel.
Meanwhile include/linux/platform_data/dma-dw.h keeps only platform related data
types and definitions.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'include/linux/dma')
-rw-r--r-- | include/linux/dma/dw.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/dma/dw.h b/include/linux/dma/dw.h new file mode 100644 index 000000000000..24756130eadb --- /dev/null +++ b/include/linux/dma/dw.h @@ -0,0 +1,37 @@ +/* + * Driver for the Synopsys DesignWare DMA Controller + * + * Copyright (C) 2007 Atmel Corporation + * Copyright (C) 2010-2011 ST Microelectronics + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef _DMA_DW_H +#define _DMA_DW_H + +#include <linux/dmaengine.h> + +/* DMA API extensions */ +struct dw_desc; + +struct dw_cyclic_desc { + struct dw_desc **desc; + unsigned long periods; + void (*period_callback)(void *param); + void *period_callback_param; +}; + +struct dw_cyclic_desc *dw_dma_cyclic_prep(struct dma_chan *chan, + dma_addr_t buf_addr, size_t buf_len, size_t period_len, + enum dma_transfer_direction direction); +void dw_dma_cyclic_free(struct dma_chan *chan); +int dw_dma_cyclic_start(struct dma_chan *chan); +void dw_dma_cyclic_stop(struct dma_chan *chan); + +dma_addr_t dw_dma_get_src_addr(struct dma_chan *chan); + +dma_addr_t dw_dma_get_dst_addr(struct dma_chan *chan); + +#endif /* _DMA_DW_H */ |