Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
dma.h File Reference
#include <linux/dmaengine.h>
#include "hw.h"
#include "registers.h"
#include <linux/init.h>
#include <linux/dmapool.h>
#include <linux/cache.h>
#include <linux/pci_ids.h>
#include <net/tcp.h>

Go to the source code of this file.

Data Structures

struct  ioatdma_device
struct  ioat_chan_common
struct  ioat_sysfs_entry
struct  ioat_dma_chan
struct  ioat_desc_sw


#define IOAT_DMA_VERSION   "4.00"
#define IOAT_LOW_COMPLETION_MASK   0xffffffc0
#define IOAT_DMA_DCA_ANY_CPU   ~0
#define to_ioatdma_device(dev)   container_of(dev, struct ioatdma_device, common)
#define to_ioat_desc(lh)   container_of(lh, struct ioat_desc_sw, node)
#define tx_to_ioat_desc(tx)   container_of(tx, struct ioat_desc_sw, txd)
#define to_dev(ioat_chan)   (&(ioat_chan)->device->pdev->dev)
#define chan_num(ch)   ((int)((ch)->reg_base - (ch)->device->reg_base) / 0x80)
#define IOAT_RUN   5
#define COMPLETION_TIMEOUT   msecs_to_jiffies(100)
#define IDLE_TIMEOUT   msecs_to_jiffies(2000)
#define RESET_DELAY   msecs_to_jiffies(100)
#define set_desc_id(desc, i)
#define desc_id(desc)   (0)
#define dump_desc_dbg(c, d)   ({ if (d) __dump_desc_dbg(&c->base, d->hw, &d->txd, desc_id(d)); 0; })


int __devinit ioat_probe (struct ioatdma_device *device)
int __devinit ioat_register (struct ioatdma_device *device)
int __devinit ioat1_dma_probe (struct ioatdma_device *dev, int dca)
int __devinit ioat_dma_self_test (struct ioatdma_device *device)
void __devexit ioat_dma_remove (struct ioatdma_device *device)
struct dca_provider *__devinit ioat_dca_init (struct pci_dev *pdev, void __iomem *iobase)
dma_addr_t ioat_get_current_completion (struct ioat_chan_common *chan)
void ioat_init_channel (struct ioatdma_device *device, struct ioat_chan_common *chan, int idx)
enum dma_status ioat_dma_tx_status (struct dma_chan *c, dma_cookie_t cookie, struct dma_tx_state *txstate)
void ioat_dma_unmap (struct ioat_chan_common *chan, enum dma_ctrl_flags flags, size_t len, struct ioat_dma_descriptor *hw)
bool ioat_cleanup_preamble (struct ioat_chan_common *chan, dma_addr_t *phys_complete)
void ioat_kobject_add (struct ioatdma_device *device, struct kobj_type *type)
void ioat_kobject_del (struct ioatdma_device *device)


struct sysfs_ops ioat_sysfs_ops
struct ioat_sysfs_entry ioat_version_attr
struct ioat_sysfs_entry ioat_cap_attr

Macro Definition Documentation

#define chan_num (   ch)    ((int)((ch)->reg_base - (ch)->device->reg_base) / 0x80)

Definition at line 43 of file dma.h.

#define COMPLETION_TIMEOUT   msecs_to_jiffies(100)

Definition at line 101 of file dma.h.

#define desc_id (   desc)    (0)

Definition at line 171 of file dma.h.

#define dump_desc_dbg (   c,
)    ({ if (d) __dump_desc_dbg(&c->base, d->hw, &d->txd, desc_id(d)); 0; })

Definition at line 187 of file dma.h.

#define IDLE_TIMEOUT   msecs_to_jiffies(2000)

Definition at line 102 of file dma.h.


Definition at line 95 of file dma.h.


Definition at line 94 of file dma.h.

#define IOAT_DMA_DCA_ANY_CPU   ~0

Definition at line 36 of file dma.h.

#define IOAT_DMA_VERSION   "4.00"

Definition at line 33 of file dma.h.


Definition at line 97 of file dma.h.

#define IOAT_LOW_COMPLETION_MASK   0xffffffc0

Definition at line 35 of file dma.h.


Definition at line 96 of file dma.h.


Definition at line 98 of file dma.h.

#define IOAT_RUN   5

Definition at line 99 of file dma.h.


Definition at line 49 of file dma.h.

#define RESET_DELAY   msecs_to_jiffies(100)

Definition at line 103 of file dma.h.

#define set_desc_id (   desc,

Definition at line 170 of file dma.h.

#define to_dev (   ioat_chan)    (&(ioat_chan)->device->pdev->dev)

Definition at line 41 of file dma.h.

#define to_ioat_desc (   lh)    container_of(lh, struct ioat_desc_sw, node)

Definition at line 39 of file dma.h.

#define to_ioatdma_device (   dev)    container_of(dev, struct ioatdma_device, common)

Definition at line 38 of file dma.h.

#define tx_to_ioat_desc (   tx)    container_of(tx, struct ioat_desc_sw, txd)

Definition at line 40 of file dma.h.

Function Documentation

int __devinit ioat1_dma_probe ( struct ioatdma_device dev,
int  dca 

Definition at line 1186 of file dma.c.

bool ioat_cleanup_preamble ( struct ioat_chan_common chan,
dma_addr_t phys_complete 

Definition at line 571 of file dma.c.

struct dca_provider* __devinit ioat_dca_init ( struct pci_dev pdev,
void __iomem iobase 

Definition at line 246 of file dca.c.

void __devexit ioat_dma_remove ( struct ioatdma_device device)

Definition at line 1219 of file dma.c.

int __devinit ioat_dma_self_test ( struct ioatdma_device device)

ioat_dma_self_test - Perform a IOAT transaction to verify the HW works. : device to be tested

Definition at line 796 of file dma.c.

enum dma_status ioat_dma_tx_status ( struct dma_chan c,
dma_cookie_t  cookie,
struct dma_tx_state txstate 

Definition at line 728 of file dma.c.

void ioat_dma_unmap ( struct ioat_chan_common chan,
enum dma_ctrl_flags  flags,
size_t  len,
struct ioat_dma_descriptor hw 

Definition at line 534 of file dma.c.

dma_addr_t ioat_get_current_completion ( struct ioat_chan_common chan)

Definition at line 549 of file dma.c.

void ioat_init_channel ( struct ioatdma_device device,
struct ioat_chan_common chan,
int  idx 

Definition at line 102 of file dma.c.

void ioat_kobject_add ( struct ioatdma_device device,
struct kobj_type type 

Definition at line 1151 of file dma.c.

void ioat_kobject_del ( struct ioatdma_device device)

Definition at line 1171 of file dma.c.

int __devinit ioat_probe ( struct ioatdma_device device)

Definition at line 997 of file dma.c.

int __devinit ioat_register ( struct ioatdma_device device)

Definition at line 1052 of file dma.c.

Variable Documentation

struct ioat_sysfs_entry ioat_cap_attr

Definition at line 1108 of file dma.c.

struct sysfs_ops ioat_sysfs_ops

Definition at line 1142 of file dma.c.

struct ioat_sysfs_entry ioat_version_attr

Definition at line 1118 of file dma.c.