Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
amba-pl08x.c File Reference
#include <linux/amba/bus.h>
#include <linux/amba/pl08x.h>
#include <linux/debugfs.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/dmaengine.h>
#include <linux/dmapool.h>
#include <linux/dma-mapping.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <asm/hardware/pl080.h>
#include "dmaengine.h"
#include "virt-dma.h"

Go to the source code of this file.

Data Structures

struct  vendor_data
 
struct  pl08x_lli
 
struct  pl08x_bus_data
 
struct  pl08x_phy_chan
 
struct  pl08x_sg
 
struct  pl08x_txd
 
struct  pl08x_dma_chan
 
struct  pl08x_driver_data
 
struct  pl08x_lli_build_data
 
struct  burst_table
 

Macros

#define DRIVER_NAME   "pl08xdmac"
 

Enumerations

enum  pl08x_dma_chan_state { PL08X_CHAN_IDLE, PL08X_CHAN_RUNNING, PL08X_CHAN_PAUSED, PL08X_CHAN_WAITING }
 

: name of channel

struct pl08x_dma_chan - this structure wraps a DMA ENGINE channel : wrappped virtual channel : the physical channel utilized by this channel, if there is one

: channel platform data : address for RX/TX according to the runtime config : active transaction on this channel : a lock for this channel data : a pointer to the host (internal use) : whether the channel is idle, paused, running etc : whether this channel is a device (slave) or for memcpy : the physical DMA request signal which this channel is using : count of descriptors using this DMA request signal setting

#define PL08X_LLI_TSFR_SIZE   0x2000
 
#define MAX_NUM_TSFR_LLIS   (PL08X_LLI_TSFR_SIZE/sizeof(struct pl08x_lli))
 
#define PL08X_ALIGN   8
 
bool pl08x_filter_id (struct dma_chan *chan, void *chan_id)
 
 MODULE_DEVICE_TABLE (amba, pl08x_ids)
 
 subsys_initcall (pl08x_init)
 

Macro Definition Documentation

#define DRIVER_NAME   "pl08xdmac"

Definition at line 91 of file amba-pl08x.c.

#define MAX_NUM_TSFR_LLIS   (PL08X_LLI_TSFR_SIZE/sizeof(struct pl08x_lli))

Definition at line 276 of file amba-pl08x.c.

#define PL08X_ALIGN   8

Definition at line 277 of file amba-pl08x.c.

#define PL08X_LLI_TSFR_SIZE   0x2000

Definition at line 273 of file amba-pl08x.c.

Enumeration Type Documentation

struct pl08x_dma_chan_state - holds the PL08x specific virtual channel states : the channel is idle : the channel has allocated a physical transport channel and is running a transfer on it : the channel has allocated a physical transport channel, but the transfer is currently paused : the channel is waiting for a physical transport channel to become available (only pertains to memcpy channels)

Enumerator:
PL08X_CHAN_IDLE 
PL08X_CHAN_RUNNING 
PL08X_CHAN_PAUSED 
PL08X_CHAN_WAITING 

Definition at line 204 of file amba-pl08x.c.

Function Documentation

MODULE_DEVICE_TABLE ( amba  ,
pl08x_ids   
)
bool pl08x_filter_id ( struct dma_chan chan,
void chan_id 
)

Definition at line 1594 of file amba-pl08x.c.

subsys_initcall ( pl08x_init  )