Linux Kernel
3.7.1
|
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/dma-mapping.h>
#include <linux/raid/xor.h>
#include <linux/async_tx.h>
Go to the source code of this file.
Functions | |
struct dma_async_tx_descriptor * | async_xor (struct page *dest, struct page **src_list, unsigned int offset, int src_cnt, size_t len, struct async_submit_ctl *submit) |
EXPORT_SYMBOL_GPL (async_xor) | |
struct dma_async_tx_descriptor * | async_xor_val (struct page *dest, struct page **src_list, unsigned int offset, int src_cnt, size_t len, enum sum_check_flags *result, struct async_submit_ctl *submit) |
EXPORT_SYMBOL_GPL (async_xor_val) | |
MODULE_AUTHOR ("Intel Corporation") | |
MODULE_DESCRIPTION ("asynchronous xor/xor-zero-sum api") | |
MODULE_LICENSE ("GPL") | |
|
read |
async_xor - attempt to xor a set of blocks with a dma engine. : destination page : array of source pages : common src/dst offset to start transaction : number of source pages : length in bytes : submission / completion modifiers
honored flags: ASYNC_TX_ACK, ASYNC_TX_XOR_ZERO_DST, ASYNC_TX_XOR_DROP_DST
xor_blocks always uses the dest as a source so the ASYNC_TX_XOR_ZERO_DST flag must be set to not include dest data in the calculation. The assumption with dma eninges is that they only use the destination buffer as a source when it is explicity specified in the source list.
src_list note: if the dest is also a source it must be at index zero. The contents of this array will be overwritten if a scribble region is not specified.
Definition at line 186 of file async_xor.c.
|
read |
async_xor_val - attempt a xor parity check with a dma engine. : destination page used if the xor is performed synchronously : array of source pages : offset in pages to start transaction : number of source pages : length in bytes
honored flags: ASYNC_TX_ACK
src_list note: if the dest is also a source it must be at index zero. The contents of this array will be overwritten if a scribble region is not specified.
Definition at line 266 of file async_xor.c.
EXPORT_SYMBOL_GPL | ( | async_xor | ) |
EXPORT_SYMBOL_GPL | ( | async_xor_val | ) |
MODULE_AUTHOR | ( | "Intel Corporation" | ) |
MODULE_LICENSE | ( | "GPL" | ) |