Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
coh901318_lli.c File Reference
#include <linux/spinlock.h>
#include <linux/memory.h>
#include <linux/gfp.h>
#include <linux/dmapool.h>
#include <mach/coh901318.h>
#include "coh901318_lli.h"

Go to the source code of this file.

Macros

#define DEBUGFS_POOL_COUNTER_RESET(pool)
 
#define DEBUGFS_POOL_COUNTER_ADD(pool, add)
 

Functions

int coh901318_pool_create (struct coh901318_pool *pool, struct device *dev, size_t size, size_t align)
 
int coh901318_pool_destroy (struct coh901318_pool *pool)
 
struct coh901318_llicoh901318_lli_alloc (struct coh901318_pool *pool, unsigned int len)
 
void coh901318_lli_free (struct coh901318_pool *pool, struct coh901318_lli **lli)
 
int coh901318_lli_fill_memcpy (struct coh901318_pool *pool, struct coh901318_lli *lli, dma_addr_t source, unsigned int size, dma_addr_t destination, u32 ctrl_chained, u32 ctrl_eom)
 
int coh901318_lli_fill_single (struct coh901318_pool *pool, struct coh901318_lli *lli, dma_addr_t buf, unsigned int size, dma_addr_t dev_addr, u32 ctrl_chained, u32 ctrl_eom, enum dma_transfer_direction dir)
 
int coh901318_lli_fill_sg (struct coh901318_pool *pool, struct coh901318_lli *lli, struct scatterlist *sgl, unsigned int nents, dma_addr_t dev_addr, u32 ctrl_chained, u32 ctrl, u32 ctrl_last, enum dma_transfer_direction dir, u32 ctrl_irq_mask)
 

Macro Definition Documentation

#define DEBUGFS_POOL_COUNTER_ADD (   pool,
  add 
)

Definition at line 23 of file coh901318_lli.c.

#define DEBUGFS_POOL_COUNTER_RESET (   pool)

Definition at line 22 of file coh901318_lli.c.

Function Documentation

struct coh901318_lli* coh901318_lli_alloc ( struct coh901318_pool pool,
unsigned int  len 
)
read

coh901318_lli_alloc() - Allocates a linked list

: pool handle : length to list return: none NULL if success otherwise NULL

Definition at line 55 of file coh901318_lli.c.

int coh901318_lli_fill_memcpy ( struct coh901318_pool pool,
struct coh901318_lli lli,
dma_addr_t  src,
unsigned int  size,
dma_addr_t  dst,
u32  ctrl_chained,
u32  ctrl_last 
)

coh901318_lli_fill_memcpy() - Prepares the lli:s for dma memcpy : pool handle : allocated lli : src address : transfer size : destination address : ctrl for chained lli : ctrl for the last lli returns number of CPU interrupts for the lli, negative on error.

Definition at line 142 of file coh901318_lli.c.

int coh901318_lli_fill_sg ( struct coh901318_pool pool,
struct coh901318_lli lli,
struct scatterlist sgl,
unsigned int  nents,
dma_addr_t  dev_addr,
u32  ctrl_chained,
u32  ctrl,
u32  ctrl_last,
enum dma_transfer_direction  dir,
u32  ctrl_irq_mask 
)

Definition at line 231 of file coh901318_lli.c.

int coh901318_lli_fill_single ( struct coh901318_pool pool,
struct coh901318_lli lli,
dma_addr_t  buf,
unsigned int  size,
dma_addr_t  dev_addr,
u32  ctrl_chained,
u32  ctrl_eom,
enum dma_transfer_direction  dir 
)

Definition at line 175 of file coh901318_lli.c.

void coh901318_lli_free ( struct coh901318_pool pool,
struct coh901318_lli **  lli 
)

coh901318_lli_free() - Returns the linked list items to the pool : pool handle : reference to lli pointer to be freed

Definition at line 112 of file coh901318_lli.c.

int coh901318_pool_create ( struct coh901318_pool pool,
struct device dev,
size_t  lli_nbr,
size_t  align 
)

coh901318_pool_create() - Creates an dma pool for lli:s : pool handle : dma device : number of lli:s in the pool : address alignemtn of lli:s returns 0 on success otherwise none zero

Definition at line 35 of file coh901318_lli.c.

int coh901318_pool_destroy ( struct coh901318_pool pool)

coh901318_pool_destroy() - Destroys the dma pool : pool handle returns 0 on success otherwise none zero

Definition at line 47 of file coh901318_lli.c.