Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
adma.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/async_tx.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/spinlock.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <linux/proc_fs.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <asm/dcr.h>
#include <asm/dcr-regs.h>
#include "adma.h"
#include "../dmaengine.h"

Go to the source code of this file.

Data Structures

struct  ppc_dma_chan_ref
 

Macros

#define ADMA_LL_DBG(x)   ({ if (0) x; 0; })
 
#define DMA_CTRL_FLAGS_LAST   DMA_PREP_FENCE
 
#define DMA_PREP_ZERO_P   (DMA_CTRL_FLAGS_LAST << 1)
 
#define DMA_PREP_ZERO_Q   (DMA_PREP_ZERO_P << 1)
 

Enumerations

enum  ppc_adma_init_code {
  PPC_ADMA_INIT_OK = 0, PPC_ADMA_INIT_MEMRES, PPC_ADMA_INIT_MEMREG, PPC_ADMA_INIT_ALLOC,
  PPC_ADMA_INIT_COHERENT, PPC_ADMA_INIT_CHANNEL, PPC_ADMA_INIT_IRQ1, PPC_ADMA_INIT_IRQ2,
  PPC_ADMA_INIT_REGISTER
}
 

Functions

struct dma_chanppc440spe_async_tx_find_best_channel (enum dma_transaction_type cap, struct page **dst_lst, int dst_cnt, struct page **src_lst, int src_cnt, size_t src_sz)
 
 EXPORT_SYMBOL_GPL (ppc440spe_async_tx_find_best_channel)
 
 MODULE_DEVICE_TABLE (of, ppc440spe_adma_of_match)
 
 arch_initcall (ppc440spe_adma_init)
 
 module_exit (ppc440spe_adma_exit)
 
 MODULE_AUTHOR ("Yuri Tikhonov <[email protected]>")
 
 MODULE_DESCRIPTION ("PPC440SPE ADMA Engine Driver")
 
 MODULE_LICENSE ("GPL")
 

Variables

struct list_head ppc440spe_adma_chan_list = LIST_HEAD_INIT(ppc440spe_adma_chan_list)
 

Macro Definition Documentation

#define ADMA_LL_DBG (   x)    ({ if (0) x; 0; })

Definition at line 140 of file adma.c.

#define DMA_CTRL_FLAGS_LAST   DMA_PREP_FENCE

Definition at line 323 of file adma.c.

#define DMA_PREP_ZERO_P   (DMA_CTRL_FLAGS_LAST << 1)

Definition at line 324 of file adma.c.

#define DMA_PREP_ZERO_Q   (DMA_PREP_ZERO_P << 1)

Definition at line 325 of file adma.c.

Enumeration Type Documentation

Enumerator:
PPC_ADMA_INIT_OK 
PPC_ADMA_INIT_MEMRES 
PPC_ADMA_INIT_MEMREG 
PPC_ADMA_INIT_ALLOC 
PPC_ADMA_INIT_COHERENT 
PPC_ADMA_INIT_CHANNEL 
PPC_ADMA_INIT_IRQ1 
PPC_ADMA_INIT_IRQ2 
PPC_ADMA_INIT_REGISTER 

Definition at line 51 of file adma.c.

Function Documentation

arch_initcall ( ppc440spe_adma_init  )
EXPORT_SYMBOL_GPL ( ppc440spe_async_tx_find_best_channel  )
MODULE_AUTHOR ( "Yuri Tikhonov <[email protected]>"  )
MODULE_DESCRIPTION ( "PPC440SPE ADMA Engine Driver"  )
MODULE_DEVICE_TABLE ( of  ,
ppc440spe_adma_of_match   
)
module_exit ( ppc440spe_adma_exit  )
MODULE_LICENSE ( "GPL"  )
struct dma_chan* ppc440spe_async_tx_find_best_channel ( enum dma_transaction_type  cap,
struct page **  dst_lst,
int  dst_cnt,
struct page **  src_lst,
int  src_cnt,
size_t  src_sz 
)
read

Definition at line 1619 of file adma.c.

Variable Documentation

struct list_head ppc440spe_adma_chan_list = LIST_HEAD_INIT(ppc440spe_adma_chan_list)

Definition at line 87 of file adma.c.