diff options
author | Nicolas Ferre | 2011-04-30 16:57:46 +0200 |
---|---|---|
committer | Vinod Koul | 2011-05-02 12:12:09 +0200 |
commit | 53830cc75974a199b6b654c062ff8c54c58caa0b (patch) | |
tree | 2aec11425a76ffe996297c25e71f3dc0eb6ef662 /drivers/dma/at_hdmac_regs.h | |
parent | dmaengine: at_hdmac: modify way to use interrupts (diff) | |
download | kernel-qcow2-linux-53830cc75974a199b6b654c062ff8c54c58caa0b.tar.gz kernel-qcow2-linux-53830cc75974a199b6b654c062ff8c54c58caa0b.tar.xz kernel-qcow2-linux-53830cc75974a199b6b654c062ff8c54c58caa0b.zip |
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.h | 14 |
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) /*-- Channels --------------------------------------------------------*/ /** + * atc_status - information bits stored in channel status flag + * + * Manipulated with atomic operations. + */ +enum atc_status { + ATC_IS_ERROR = 0, + ATC_IS_CYCLIC = 24, +}; + +/** * struct at_dma_chan - internal representation of an Atmel HDMAC channel * @chan_common: common dmaengine channel object members * @device: parent device * @ch_regs: memory mapped register base * @mask: channel index in a mask - * @error_status: transmit error status information from irq handler + * @status: transmit status information from irq/prep* functions * to tasklet (use atomic operations) * @tasklet: bottom half to finish transaction work * @lock: serializes enqueue/dequeue operations to descriptors lists @@ -201,7 +211,7 @@ struct at_dma_chan { struct at_dma *device; void __iomem *ch_regs; u8 mask; - unsigned long error_status; + unsigned long status; struct tasklet_struct tasklet; spinlock_t lock; |