summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/dmaengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/include/asm/dmaengine.h')
-rw-r--r--arch/sh/include/asm/dmaengine.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/sh/include/asm/dmaengine.h b/arch/sh/include/asm/dmaengine.h
index 9586e4a482b..bf2f30cf0a2 100644
--- a/arch/sh/include/asm/dmaengine.h
+++ b/arch/sh/include/asm/dmaengine.h
@@ -10,6 +10,9 @@
#ifndef ASM_DMAENGINE_H
#define ASM_DMAENGINE_H
+#include <linux/dmaengine.h>
+#include <linux/list.h>
+
#include <asm/dma-register.h>
#define SH_DMAC_MAX_CHANNELS 6
@@ -70,4 +73,21 @@ struct sh_dmae_slave {
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_data_direction direction;
+ dma_cookie_t cookie;
+ size_t partial;
+ int chunks;
+ int mark;
+};
+
#endif