Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
ste_dma40.c File Reference
#include <linux/dma-mapping.h>
#include <linux/kernel.h>
#include <linux/slab.h>
#include <linux/export.h>
#include <linux/dmaengine.h>
#include <linux/platform_device.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>
#include <linux/err.h>
#include <linux/amba/bus.h>
#include <linux/regulator/consumer.h>
#include <plat/ste_dma40.h>
#include "dmaengine.h"
#include "ste_dma40_ll.h"

Go to the source code of this file.

Data Structures

struct  d40_lli_pool
 
struct  d40_desc
 
struct  d40_lcla_pool
 
struct  d40_phy_res
 
struct  d40_chan
 
struct  d40_base
 
struct  d40_interrupt_lookup
 
struct  d40_reg_val
 

Macros

#define D40_NAME   "dma40"
 
#define D40_PHY_CHAN   -1
 
#define D40_CHAN_POS(chan)   (2 * (chan / 2))
 
#define D40_CHAN_POS_MASK(chan)   (0x3 << D40_CHAN_POS(chan))
 
#define D40_SUSPEND_MAX_IT   500
 
#define DMA40_AUTOSUSPEND_DELAY   100
 
#define LCLA_ALIGNMENT   0x40000
 
#define D40_LCLA_LINK_PER_EVENT_GRP   128
 
#define D40_LCLA_END   D40_LCLA_LINK_PER_EVENT_GRP
 
#define MAX_LCLA_ALLOC_ATTEMPTS   256
 
#define D40_ALLOC_FREE   (1 << 31)
 
#define D40_ALLOC_PHY   (1 << 30)
 
#define D40_ALLOC_LOG_FREE   0
 
#define BACKUP_REGS_SZ   ARRAY_SIZE(d40_backup_regs)
 
#define BACKUP_REGS_SZ_V3   ARRAY_SIZE(d40_backup_regs_v3)
 
#define d40_err(dev, format, arg...)   dev_err(dev, "[%s] " format, __func__, ## arg)
 
#define chan_err(d40c, format, arg...)   d40_err(chan2dev(d40c), format, ## arg)
 
#define DMA40_PM_OPS   NULL
 

Enumerations

enum  d40_command { D40_DMA_STOP = 0, D40_DMA_RUN = 1, D40_DMA_SUSPEND_REQ = 2, D40_DMA_SUSPENDED = 3 }
 
enum  d40_events { D40_DEACTIVATE_EVENTLINE = 0, D40_ACTIVATE_EVENTLINE = 1, D40_SUSPEND_REQ_EVENTLINE = 2, D40_ROUND_EVENTLINE = 3 }
 

Functions

bool stedma40_filter (struct dma_chan *chan, void *data)
 
 EXPORT_SYMBOL (stedma40_filter)
 
 subsys_initcall (stedma40_init)
 

Macro Definition Documentation

#define BACKUP_REGS_SZ   ARRAY_SIZE(d40_backup_regs)

Definition at line 102 of file ste_dma40.c.

#define BACKUP_REGS_SZ_V3   ARRAY_SIZE(d40_backup_regs_v3)

Definition at line 124 of file ste_dma40.c.

#define chan_err (   d40c,
  format,
  arg... 
)    d40_err(chan2dev(d40c), format, ## arg)

Definition at line 422 of file ste_dma40.c.

#define D40_ALLOC_FREE   (1 << 31)

Definition at line 53 of file ste_dma40.c.

#define D40_ALLOC_LOG_FREE   0

Definition at line 55 of file ste_dma40.c.

#define D40_ALLOC_PHY   (1 << 30)

Definition at line 54 of file ste_dma40.c.

#define D40_CHAN_POS (   chan)    (2 * (chan / 2))

Definition at line 33 of file ste_dma40.c.

#define D40_CHAN_POS_MASK (   chan)    (0x3 << D40_CHAN_POS(chan))

Definition at line 34 of file ste_dma40.c.

#define d40_err (   dev,
  format,
  arg... 
)    dev_err(dev, "[%s] " format, __func__, ## arg)

Definition at line 419 of file ste_dma40.c.

#define D40_LCLA_END   D40_LCLA_LINK_PER_EVENT_GRP

Definition at line 47 of file ste_dma40.c.

#define D40_LCLA_LINK_PER_EVENT_GRP   128

Definition at line 46 of file ste_dma40.c.

#define D40_NAME   "dma40"

Definition at line 28 of file ste_dma40.c.

#define D40_PHY_CHAN   -1

Definition at line 30 of file ste_dma40.c.

#define D40_SUSPEND_MAX_IT   500

Definition at line 37 of file ste_dma40.c.

#define DMA40_AUTOSUSPEND_DELAY   100

Definition at line 40 of file ste_dma40.c.

#define DMA40_PM_OPS   NULL

Definition at line 2833 of file ste_dma40.c.

#define LCLA_ALIGNMENT   0x40000

Definition at line 43 of file ste_dma40.c.

#define MAX_LCLA_ALLOC_ATTEMPTS   256

Definition at line 50 of file ste_dma40.c.

Enumeration Type Documentation

enum 40_command - The different commands and/or statuses.

: DMA channel command STOP or status STOPPED, : The DMA channel is RUNNING of the command RUN. : Request the DMA to SUSPEND as soon as possible. : The DMA channel is SUSPENDED.

Enumerator:
D40_DMA_STOP 
D40_DMA_RUN 
D40_DMA_SUSPEND_REQ 
D40_DMA_SUSPENDED 

Definition at line 65 of file ste_dma40.c.

enum d40_events
Enumerator:
D40_DEACTIVATE_EVENTLINE 
D40_ACTIVATE_EVENTLINE 
D40_SUSPEND_REQ_EVENTLINE 
D40_ROUND_EVENTLINE 

Definition at line 81 of file ste_dma40.c.

Function Documentation

EXPORT_SYMBOL ( stedma40_filter  )
bool stedma40_filter ( struct dma_chan chan,
void data 
)

Definition at line 2158 of file ste_dma40.c.

subsys_initcall ( stedma40_init  )