diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2012-05-09 17:09:21 +0200 |
---|---|---|
committer | Vinod Koul <vinod.koul@linux.intel.com> | 2012-07-13 09:13:08 +0530 |
commit | ce3a1ab74264b860450709e4bd0dcfc2d0bfc7f8 (patch) | |
tree | 445fdd53ae7775810d0b05ca90c392ee25367889 /include/linux/sh_dma.h | |
parent | b8373147ed3ca01a968d81f22688f2836a9aeb6b (diff) |
dma: shdma: convert to the shdma base library
The shdma base library has originally been extracted from the shdma driver,
which now can be converted to actually use it.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'include/linux/sh_dma.h')
-rw-r--r-- | include/linux/sh_dma.h | 33 |
1 files changed, 10 insertions, 23 deletions
diff --git a/include/linux/sh_dma.h b/include/linux/sh_dma.h index e081e8e8d109..7c8ca41e60e6 100644 --- a/include/linux/sh_dma.h +++ b/include/linux/sh_dma.h @@ -13,34 +13,21 @@ #include <linux/dmaengine.h> #include <linux/list.h> #include <linux/shdma-base.h> +#include <linux/types.h> + +struct device; /* Used by slave DMA clients to request DMA to/from a specific peripheral */ struct sh_dmae_slave { - union { - unsigned int slave_id; /* Set by the platform */ - struct shdma_slave shdma_slave; - }; - struct device *dma_dev; /* Set by the platform */ - const struct sh_dmae_slave_config *config; /* Set by the driver */ -}; - -struct sh_dmae_regs { - u32 sar; /* SAR / source address */ - u32 dar; /* DAR / destination address */ - u32 tcr; /* TCR / transfer count */ -}; - -struct sh_desc { - struct sh_dmae_regs hw; - struct list_head node; - struct dma_async_tx_descriptor async_tx; - enum dma_transfer_direction direction; - dma_cookie_t cookie; - size_t partial; - int chunks; - int mark; + struct shdma_slave shdma_slave; /* Set by the platform */ + struct device *dma_dev; /* Set by the platform */ + const struct sh_dmae_slave_config *config; /* Set by the driver */ }; +/* + * Supplied by platforms to specify, how a DMA channel has to be configured for + * a certain peripheral + */ struct sh_dmae_slave_config { unsigned int slave_id; dma_addr_t addr; |