Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Enumerations | Functions
async_tx.c File Reference
#include <linux/rculist.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/async_tx.h>

Go to the source code of this file.

Enumerations

enum  submit_disposition { ASYNC_TX_SUBMITTED, ASYNC_TX_CHANNEL_SWITCH, ASYNC_TX_DIRECT_SUBMIT }
 

Functions

void async_tx_submit (struct dma_chan *chan, struct dma_async_tx_descriptor *tx, struct async_submit_ctl *submit)
 
 EXPORT_SYMBOL_GPL (async_tx_submit)
 
struct dma_async_tx_descriptorasync_trigger_callback (struct async_submit_ctl *submit)
 
 EXPORT_SYMBOL_GPL (async_trigger_callback)
 
void async_tx_quiesce (struct dma_async_tx_descriptor **tx)
 
 EXPORT_SYMBOL_GPL (async_tx_quiesce)
 
 MODULE_AUTHOR ("Intel Corporation")
 
 MODULE_DESCRIPTION ("Asynchronous Bulk Memory Transactions API")
 
 MODULE_LICENSE ("GPL")
 

Enumeration Type Documentation

submit_disposition - flags for routing an incoming operation : we were able to append the new operation under the lock : when the lock is dropped schedule a channel switch : when the lock is dropped submit directly

while holding depend_tx->lock we must avoid submitting new operations to prevent a circular locking dependency with drivers that already hold a channel lock when calling async_tx_run_dependencies.

Enumerator:
ASYNC_TX_SUBMITTED 
ASYNC_TX_CHANNEL_SWITCH 
ASYNC_TX_DIRECT_SUBMIT 

Definition at line 149 of file async_tx.c.

Function Documentation

struct dma_async_tx_descriptor* async_trigger_callback ( struct async_submit_ctl submit)
read

async_trigger_callback - schedules the callback function to be run : submission and completion parameters

honored flags: ASYNC_TX_ACK

The callback is run after any dependent operations have completed.

Definition at line 234 of file async_tx.c.

void async_tx_quiesce ( struct dma_async_tx_descriptor **  tx)

async_tx_quiesce - ensure tx is complete and freeable upon return - transaction to quiesce

Definition at line 276 of file async_tx.c.

void async_tx_submit ( struct dma_chan chan,
struct dma_async_tx_descriptor tx,
struct async_submit_ctl submit 
)

Definition at line 156 of file async_tx.c.

EXPORT_SYMBOL_GPL ( async_tx_submit  )
EXPORT_SYMBOL_GPL ( async_trigger_callback  )
EXPORT_SYMBOL_GPL ( async_tx_quiesce  )
MODULE_AUTHOR ( "Intel Corporation"  )
MODULE_DESCRIPTION ( "Asynchronous Bulk Memory Transactions API"  )
MODULE_LICENSE ( "GPL"  )