dmaengine: add fence support
authorDan Williams <dan.j.williams@intel.com>
Wed, 9 Sep 2009 00:42:50 +0000 (17:42 -0700)
committerDan Williams <dan.j.williams@intel.com>
Wed, 9 Sep 2009 00:42:50 +0000 (17:42 -0700)
commit0403e3827788d878163f9ef0541b748b0f88ca5d
tree2dc73744bd92c268a1310f24668167f130877278
parentf9dd2134374c8de6b911e2b8652c6c9622eaa658
dmaengine: add fence support

Some engines optimize operation by reading ahead in the descriptor chain
such that descriptor2 may start execution before descriptor1 completes.
If descriptor2 depends on the result from descriptor1 then a fence is
required (on descriptor2) to disable this optimization.  The async_tx
api could implicitly identify dependencies via the 'depend_tx'
parameter, but that would constrain cases where the dependency chain
only specifies a completion order rather than a data dependency.  So,
provide an ASYNC_TX_FENCE to explicitly identify data dependencies.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
crypto/async_tx/async_memcpy.c
crypto/async_tx/async_memset.c
crypto/async_tx/async_pq.c
crypto/async_tx/async_raid6_recov.c
crypto/async_tx/async_xor.c
drivers/md/raid5.c
include/linux/async_tx.h
include/linux/dmaengine.h