Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
ep93xx_dma_chan Struct Reference

Data Fields

struct dma_chan chan
 
struct ep93xx_dma_engineedma
 
void __iomemregs
 
int irq
 
struct clkclk
 
struct tasklet_struct tasklet
 
spinlock_t lock
 
unsigned long flags
 
int buffer
 
struct list_head active
 
struct list_head queue
 
struct list_head free_list
 
u32 runtime_addr
 
u32 runtime_ctrl
 

Detailed Description

struct ep93xx_dma_chan - an EP93xx DMA M2P/M2M channel : dmaengine API channel : pointer to to the engine device : memory mapped registers : interrupt number of the channel : clock used by this channel : channel specific tasklet used for callbacks : lock protecting the fields following : flags for the channel : which buffer to use next (0/1) : flattened chain of descriptors currently being processed : pending descriptors which are handled next : list of free descriptors which can be used : physical address currently used as dest/src (M2M only). This is set via DMA_SLAVE_CONFIG before slave operation is prepared : M2M runtime values for the control register.

As EP93xx DMA controller doesn't support real chained DMA descriptors we will have slightly different scheme here: points to a head of flattened DMA descriptor chain.

holds pending transactions. These are linked through the first descriptor in the chain. When a descriptor is moved to the queue, the first and chained descriptors are flattened into a single list.

.private holds pointer to &struct ep93xx_dma_data which contains necessary channel configuration information. For memcpy channels this must be NULL.

Definition at line 163 of file ep93xx_dma.c.

Field Documentation

struct list_head active

Definition at line 177 of file ep93xx_dma.c.

Definition at line 176 of file ep93xx_dma.c.

Definition at line 164 of file ep93xx_dma.c.

Definition at line 168 of file ep93xx_dma.c.

Definition at line 165 of file ep93xx_dma.c.

unsigned long flags

Definition at line 172 of file ep93xx_dma.c.

struct list_head free_list

Definition at line 179 of file ep93xx_dma.c.

int irq

Definition at line 167 of file ep93xx_dma.c.

spinlock_t lock

Definition at line 171 of file ep93xx_dma.c.

Definition at line 178 of file ep93xx_dma.c.

Definition at line 166 of file ep93xx_dma.c.

u32 runtime_addr

Definition at line 180 of file ep93xx_dma.c.

u32 runtime_ctrl

Definition at line 181 of file ep93xx_dma.c.

Definition at line 169 of file ep93xx_dma.c.


The documentation for this struct was generated from the following file: