aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/at_hdmac_regs.h
diff options
context:
space:
mode:
authorNicolas Ferre <nicolas.ferre@atmel.com>2011-04-30 10:57:46 -0400
committerVinod Koul <vinod.koul@intel.com>2011-05-02 06:12:09 -0400
commit53830cc75974a199b6b654c062ff8c54c58caa0b (patch)
tree2aec11425a76ffe996297c25e71f3dc0eb6ef662 /drivers/dma/at_hdmac_regs.h
parent9b3aa589eaa1366200062ce1f9cc7ddca8d1d578 (diff)
dmaengine: at_hdmac: add cyclic DMA operation support
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/at_hdmac_regs.h')
-rw-r--r--drivers/dma/at_hdmac_regs.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/dma/at_hdmac_regs.h b/drivers/dma/at_hdmac_regs.h
index 8303306ea825..c79a9e07f7be 100644
--- a/drivers/dma/at_hdmac_regs.h
+++ b/drivers/dma/at_hdmac_regs.h
@@ -181,12 +181,22 @@ txd_to_at_desc(struct dma_async_tx_descriptor *txd)
181/*-- Channels --------------------------------------------------------*/ 181/*-- Channels --------------------------------------------------------*/
182 182
183/** 183/**
184 * atc_status - information bits stored in channel status flag
185 *
186 * Manipulated with atomic operations.
187 */
188enum atc_status {
189 ATC_IS_ERROR = 0,
190 ATC_IS_CYCLIC = 24,
191};
192
193/**
184 * struct at_dma_chan - internal representation of an Atmel HDMAC channel 194 * struct at_dma_chan - internal representation of an Atmel HDMAC channel
185 * @chan_common: common dmaengine channel object members 195 * @chan_common: common dmaengine channel object members
186 * @device: parent device 196 * @device: parent device
187 * @ch_regs: memory mapped register base 197 * @ch_regs: memory mapped register base
188 * @mask: channel index in a mask 198 * @mask: channel index in a mask
189 * @error_status: transmit error status information from irq handler 199 * @status: transmit status information from irq/prep* functions
190 * to tasklet (use atomic operations) 200 * to tasklet (use atomic operations)
191 * @tasklet: bottom half to finish transaction work 201 * @tasklet: bottom half to finish transaction work
192 * @lock: serializes enqueue/dequeue operations to descriptors lists 202 * @lock: serializes enqueue/dequeue operations to descriptors lists
@@ -201,7 +211,7 @@ struct at_dma_chan {
201 struct at_dma *device; 211 struct at_dma *device;
202 void __iomem *ch_regs; 212 void __iomem *ch_regs;
203 u8 mask; 213 u8 mask;
204 unsigned long error_status; 214 unsigned long status;
205 struct tasklet_struct tasklet; 215 struct tasklet_struct tasklet;
206 216
207 spinlock_t lock; 217 spinlock_t lock;