aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/shdma.h
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-10-23 05:50:33 +0200
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2015-10-23 05:50:33 +0200
commit817ba283acf2d7b5aa073b96fd989f336fcff72a (patch)
tree5dd15d9914b74e5575025bccb51c99b745b83525 /drivers/dma/shdma.h
parent3b3a015ad4ab1ad0cf707ccbaef1dbe965993a4a (diff)
downloadkernel_samsung_smdk4412-817ba283acf2d7b5aa073b96fd989f336fcff72a.zip
kernel_samsung_smdk4412-817ba283acf2d7b5aa073b96fd989f336fcff72a.tar.gz
kernel_samsung_smdk4412-817ba283acf2d7b5aa073b96fd989f336fcff72a.tar.bz2
merge more stuff from 3.2.72
Diffstat (limited to 'drivers/dma/shdma.h')
-rw-r--r--drivers/dma/shdma.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/dma/shdma.h b/drivers/dma/shdma.h
index 5ae9fc5..2b55a27 100644
--- a/drivers/dma/shdma.h
+++ b/drivers/dma/shdma.h
@@ -23,6 +23,12 @@
struct device;
+enum dmae_pm_state {
+ DMAE_PM_ESTABLISHED,
+ DMAE_PM_BUSY,
+ DMAE_PM_PENDING,
+};
+
struct sh_dmae_chan {
dma_cookie_t completed_cookie; /* The maximum cookie completed */
spinlock_t desc_lock; /* Descriptor operation lock */
@@ -38,6 +44,7 @@ struct sh_dmae_chan {
u32 __iomem *base;
char dev_id[16]; /* unique name per DMAC of channel */
int pm_error;
+ enum dmae_pm_state pm_state;
};
struct sh_dmae_device {
@@ -47,10 +54,14 @@ struct sh_dmae_device {
struct list_head node;
u32 __iomem *chan_reg;
u16 __iomem *dmars;
+ unsigned int chcr_offset;
+ u32 chcr_ie_bit;
};
#define to_sh_chan(chan) container_of(chan, struct sh_dmae_chan, common)
#define to_sh_desc(lh) container_of(lh, struct sh_desc, node)
#define tx_to_sh_desc(tx) container_of(tx, struct sh_desc, async_tx)
+#define to_sh_dev(chan) container_of(chan->common.device,\
+ struct sh_dmae_device, common)
#endif /* __DMA_SHDMA_H */