Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
dma_device Struct Reference

#include <dmaengine.h>

Data Fields

unsigned int chancnt
 
unsigned int privatecnt
 
struct list_head channels
 
struct list_head global_node
 
dma_cap_mask_t cap_mask
 
unsigned short max_xor
 
unsigned short max_pq
 
u8 copy_align
 
u8 xor_align
 
u8 pq_align
 
u8 fill_align
 
int dev_id
 
struct devicedev
 
int(* device_alloc_chan_resources )(struct dma_chan *chan)
 
void(* device_free_chan_resources )(struct dma_chan *chan)
 
struct dma_async_tx_descriptor *(* device_prep_dma_memcpy )(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, size_t len, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_xor )(struct dma_chan *chan, dma_addr_t dest, dma_addr_t *src, unsigned int src_cnt, size_t len, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_xor_val )(struct dma_chan *chan, dma_addr_t *src, unsigned int src_cnt, size_t len, enum sum_check_flags *result, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_pq )(struct dma_chan *chan, dma_addr_t *dst, dma_addr_t *src, unsigned int src_cnt, const unsigned char *scf, size_t len, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_pq_val )(struct dma_chan *chan, dma_addr_t *pq, dma_addr_t *src, unsigned int src_cnt, const unsigned char *scf, size_t len, enum sum_check_flags *pqres, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_memset )(struct dma_chan *chan, dma_addr_t dest, int value, size_t len, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_interrupt )(struct dma_chan *chan, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_dma_sg )(struct dma_chan *chan, struct scatterlist *dst_sg, unsigned int dst_nents, struct scatterlist *src_sg, unsigned int src_nents, unsigned long flags)
 
struct dma_async_tx_descriptor *(* device_prep_slave_sg )(struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, enum dma_transfer_direction direction, unsigned long flags, void *context)
 
struct dma_async_tx_descriptor *(* device_prep_dma_cyclic )(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags, void *context)
 
struct dma_async_tx_descriptor *(* device_prep_interleaved_dma )(struct dma_chan *chan, struct dma_interleaved_template *xt, unsigned long flags)
 
int(* device_control )(struct dma_chan *chan, enum dma_ctrl_cmd cmd, unsigned long arg)
 
enum dma_status(* device_tx_status )(struct dma_chan *chan, dma_cookie_t cookie, struct dma_tx_state *txstate)
 
void(* device_issue_pending )(struct dma_chan *chan)
 

Detailed Description

struct dma_device - info on the entity supplying DMA services : how many DMA channels are supported : how many DMA channels are requested by dma_request_channel : the list of struct dma_chan : list_head for global dma_device_list : one or more dma_capability flags : maximum number of xor sources, 0 if no capability : maximum number of PQ sources and PQ-continue capability : alignment shift for memcpy operations : alignment shift for xor operations : alignment shift for pq operations : alignment shift for memset operations : unique device ID : struct device reference for dma mapping api : allocate resources and return the number of allocated descriptors : release DMA channel's resources : prepares a memcpy operation : prepares a xor operation : prepares a xor validation operation : prepares a pq operation : prepares a pqzero_sum operation : prepares a memset operation : prepares an end of chain interrupt operation : prepares a slave dma operation : prepare a cyclic dma operation suitable for audio. The function takes a buffer of size buf_len. The callback function will be called after period_len bytes have been transferred. : Transfer expression in a generic way. : manipulate all pending operations on a channel, returns zero or error code : poll for transaction completion, the optional txstate parameter can be supplied with a pointer to get a struct with auxiliary transfer status information, otherwise the call will just return a simple status code : push pending transactions to hardware

Definition at line 538 of file dmaengine.h.

Field Documentation

dma_cap_mask_t cap_mask

Definition at line 544 of file dmaengine.h.

unsigned int chancnt

Definition at line 540 of file dmaengine.h.

struct list_head channels

Definition at line 542 of file dmaengine.h.

u8 copy_align

Definition at line 547 of file dmaengine.h.

struct device* dev

Definition at line 554 of file dmaengine.h.

int dev_id

Definition at line 553 of file dmaengine.h.

int(* device_alloc_chan_resources)(struct dma_chan *chan)

Definition at line 556 of file dmaengine.h.

int(* device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd, unsigned long arg)

Definition at line 598 of file dmaengine.h.

void(* device_free_chan_resources)(struct dma_chan *chan)

Definition at line 557 of file dmaengine.h.

void(* device_issue_pending)(struct dma_chan *chan)

Definition at line 604 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_cyclic)(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, size_t period_len, enum dma_transfer_direction direction, unsigned long flags, void *context)
read

Definition at line 591 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_interrupt)(struct dma_chan *chan, unsigned long flags)
read

Definition at line 579 of file dmaengine.h.

Definition at line 559 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_memset)(struct dma_chan *chan, dma_addr_t dest, int value, size_t len, unsigned long flags)
read

Definition at line 576 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_pq)(struct dma_chan *chan, dma_addr_t *dst, dma_addr_t *src, unsigned int src_cnt, const unsigned char *scf, size_t len, unsigned long flags)
read

Definition at line 568 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_pq_val)(struct dma_chan *chan, dma_addr_t *pq, dma_addr_t *src, unsigned int src_cnt, const unsigned char *scf, size_t len, enum sum_check_flags *pqres, unsigned long flags)
read

Definition at line 572 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_sg)(struct dma_chan *chan, struct scatterlist *dst_sg, unsigned int dst_nents, struct scatterlist *src_sg, unsigned int src_nents, unsigned long flags)
read

Definition at line 581 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_xor)(struct dma_chan *chan, dma_addr_t dest, dma_addr_t *src, unsigned int src_cnt, size_t len, unsigned long flags)
read

Definition at line 562 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_dma_xor_val)(struct dma_chan *chan, dma_addr_t *src, unsigned int src_cnt, size_t len, enum sum_check_flags *result, unsigned long flags)
read

Definition at line 565 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_interleaved_dma)(struct dma_chan *chan, struct dma_interleaved_template *xt, unsigned long flags)
read

Definition at line 595 of file dmaengine.h.

struct dma_async_tx_descriptor*(* device_prep_slave_sg)(struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, enum dma_transfer_direction direction, unsigned long flags, void *context)
read

Definition at line 587 of file dmaengine.h.

enum dma_status(* device_tx_status)(struct dma_chan *chan, dma_cookie_t cookie, struct dma_tx_state *txstate)

Definition at line 601 of file dmaengine.h.

u8 fill_align

Definition at line 550 of file dmaengine.h.

struct list_head global_node

Definition at line 543 of file dmaengine.h.

unsigned short max_pq

Definition at line 546 of file dmaengine.h.

unsigned short max_xor

Definition at line 545 of file dmaengine.h.

u8 pq_align

Definition at line 549 of file dmaengine.h.

unsigned int privatecnt

Definition at line 541 of file dmaengine.h.

u8 xor_align

Definition at line 548 of file dmaengine.h.


The documentation for this struct was generated from the following file: