Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
dma_v2.h File Reference
#include <linux/dmaengine.h>
#include <linux/circ_buf.h>
#include "dma.h"
#include "hw.h"

Go to the source code of this file.

Data Structures

struct  ioat2_dma_chan
 
struct  ioat_ring_ent
 

Macros

#define NULL_DESC_BUFFER_SIZE   1
 
#define IOAT_MAX_ORDER   16
 
#define ioat_get_alloc_order()   (min(ioat_ring_alloc_order, IOAT_MAX_ORDER))
 
#define ioat_get_max_alloc_order()   (min(ioat_ring_max_alloc_order, IOAT_MAX_ORDER))
 

Functions

int __devinit ioat2_dma_probe (struct ioatdma_device *dev, int dca)
 
int __devinit ioat3_dma_probe (struct ioatdma_device *dev, int dca)
 
struct dca_provider *__devinit ioat2_dca_init (struct pci_dev *pdev, void __iomem *iobase)
 
struct dca_provider *__devinit ioat3_dca_init (struct pci_dev *pdev, void __iomem *iobase)
 
int ioat2_check_space_lock (struct ioat2_dma_chan *ioat, int num_descs)
 
int ioat2_enumerate_channels (struct ioatdma_device *device)
 
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)
 
void ioat2_issue_pending (struct dma_chan *chan)
 
int ioat2_alloc_chan_resources (struct dma_chan *c)
 
void ioat2_free_chan_resources (struct dma_chan *c)
 
void __ioat2_restart_chan (struct ioat2_dma_chan *ioat)
 
bool reshape_ring (struct ioat2_dma_chan *ioat, int order)
 
void __ioat2_issue_pending (struct ioat2_dma_chan *ioat)
 
void ioat2_cleanup_event (unsigned long data)
 
void ioat2_timer_event (unsigned long data)
 
int ioat2_quiesce (struct ioat_chan_common *chan, unsigned long tmo)
 
int ioat2_reset_sync (struct ioat_chan_common *chan, unsigned long tmo)
 

Variables

int ioat_pending_level
 
int ioat_ring_alloc_order
 
struct kobj_type ioat2_ktype
 
struct kmem_cacheioat2_cache
 

Macro Definition Documentation

#define ioat_get_alloc_order ( )    (min(ioat_ring_alloc_order, IOAT_MAX_ORDER))

Definition at line 40 of file dma_v2.h.

#define ioat_get_max_alloc_order ( )    (min(ioat_ring_max_alloc_order, IOAT_MAX_ORDER))

Definition at line 42 of file dma_v2.h.

#define IOAT_MAX_ORDER   16

Definition at line 39 of file dma_v2.h.

#define NULL_DESC_BUFFER_SIZE   1

Definition at line 37 of file dma_v2.h.

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 dca_provider* __devinit ioat2_dca_init ( struct pci_dev pdev,
void __iomem iobase 
)
read

Definition at line 412 of file dca.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 dev,
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 chan)

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.

struct dca_provider* __devinit ioat3_dca_init ( struct pci_dev pdev,
void __iomem iobase 
)
read

Definition at line 608 of file dca.c.

int __devinit ioat3_dma_probe ( struct ioatdma_device dev,
int  dca 
)

Definition at line 1190 of file dma_v3.c.

bool reshape_ring ( struct ioat2_dma_chan ioat,
int  order 
)

Definition at line 566 of file dma_v2.c.

Variable Documentation

struct kmem_cache* ioat2_cache

Definition at line 120 of file pci.c.

struct kobj_type ioat2_ktype

Definition at line 860 of file dma_v2.c.

int ioat_pending_level

Definition at line 45 of file dma.c.

int ioat_ring_alloc_order

Definition at line 46 of file dma_v2.c.