Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
dma_v2.c File Reference
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/dmaengine.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
#include <linux/workqueue.h>
#include <linux/prefetch.h>
#include <linux/i7300_idle.h>
#include "dma.h"
#include "dma_v2.h"
#include "registers.h"
#include "hw.h"
#include "../dmaengine.h"

Go to the source code of this file.

Functions

 module_param (ioat_ring_alloc_order, int, 0644)
 
 MODULE_PARM_DESC (ioat_ring_alloc_order,"ioat2+: allocate 2^n descriptors per channel"" (default: 8 max: 16)")
 
 module_param (ioat_ring_max_alloc_order, int, 0644)
 
 MODULE_PARM_DESC (ioat_ring_max_alloc_order,"ioat2+: upper limit for ring size (default: 16)")
 
void __ioat2_issue_pending (struct ioat2_dma_chan *ioat)
 
void ioat2_issue_pending (struct dma_chan *c)
 
void ioat2_cleanup_event (unsigned long data)
 
void __ioat2_restart_chan (struct ioat2_dma_chan *ioat)
 
int ioat2_quiesce (struct ioat_chan_common *chan, unsigned long tmo)
 
int ioat2_reset_sync (struct ioat_chan_common *chan, unsigned long tmo)
 
void ioat2_timer_event (unsigned long data)
 
int ioat2_enumerate_channels (struct ioatdma_device *device)
 
void ioat2_free_chan_resources (struct dma_chan *c)
 
int ioat2_alloc_chan_resources (struct dma_chan *c)
 
bool reshape_ring (struct ioat2_dma_chan *ioat, int order)
 
int ioat2_check_space_lock (struct ioat2_dma_chan *ioat, int num_descs)
 
struct dma_async_tx_descriptorioat2_dma_prep_memcpy_lock (struct dma_chan *c, dma_addr_t dma_dest, dma_addr_t dma_src, size_t len, unsigned long flags)
 
int __devinit ioat2_dma_probe (struct ioatdma_device *device, int dca)
 

Variables

int ioat_ring_alloc_order = 8
 
struct kobj_type ioat2_ktype
 

Function Documentation

void __ioat2_issue_pending ( struct ioat2_dma_chan ioat)

Definition at line 56 of file dma_v2.c.

void __ioat2_restart_chan ( struct ioat2_dma_chan ioat)

Definition at line 198 of file dma_v2.c.

int ioat2_alloc_chan_resources ( struct dma_chan c)

Definition at line 500 of file dma_v2.c.

int ioat2_check_space_lock ( struct ioat2_dma_chan ioat,
int  num_descs 
)

ioat2_check_space_lock - verify space and grab ring producer lock : ioat2,3 channel (ring) to operate on : allocation length

Definition at line 678 of file dma_v2.c.

void ioat2_cleanup_event ( unsigned long  data)

Definition at line 190 of file dma_v2.c.

struct dma_async_tx_descriptor* ioat2_dma_prep_memcpy_lock ( struct dma_chan c,
dma_addr_t  dma_dest,
dma_addr_t  dma_src,
size_t  len,
unsigned long  flags 
)
read

Definition at line 732 of file dma_v2.c.

int __devinit ioat2_dma_probe ( struct ioatdma_device device,
int  dca 
)

Definition at line 865 of file dma_v2.c.

int ioat2_enumerate_channels ( struct ioatdma_device device)

ioat2_enumerate_channels - find and initialize the device's channels : the device to be enumerated

Definition at line 353 of file dma_v2.c.

void ioat2_free_chan_resources ( struct dma_chan c)

ioat2_free_chan_resources - release all the descriptors : the channel to be cleaned

Definition at line 781 of file dma_v2.c.

void ioat2_issue_pending ( struct dma_chan c)

Definition at line 68 of file dma_v2.c.

int ioat2_quiesce ( struct ioat_chan_common chan,
unsigned long  tmo 
)

Definition at line 222 of file dma_v2.c.

int ioat2_reset_sync ( struct ioat_chan_common chan,
unsigned long  tmo 
)

Definition at line 243 of file dma_v2.c.

void ioat2_timer_event ( unsigned long  data)

Definition at line 272 of file dma_v2.c.

module_param ( ioat_ring_alloc_order  ,
int  ,
0644   
)
module_param ( ioat_ring_max_alloc_order  ,
int  ,
0644   
)
MODULE_PARM_DESC ( ioat_ring_alloc_order  ,
"ioat2+: allocate 2^n descriptors per channel"" (default: 8 max: 16)"   
)
MODULE_PARM_DESC ( ioat_ring_max_alloc_order  ,
"ioat2+: upper limit for ring size (default: 16)"   
)
bool reshape_ring ( struct ioat2_dma_chan ioat,
int  order 
)

Definition at line 566 of file dma_v2.c.

Variable Documentation

struct kobj_type ioat2_ktype
Initial value:
= {
.sysfs_ops = &ioat_sysfs_ops,
.default_attrs = ioat2_attrs,
}

Definition at line 860 of file dma_v2.c.

int ioat_ring_alloc_order = 8

Definition at line 46 of file dma_v2.c.