aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/crypto/async-tx-api.txt
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-04-09 19:16:18 -0400
committerDan Williams <dan.j.williams@intel.com>2009-06-03 17:07:34 -0400
commit88ba2aa586c874681c072101287e15d40de7e6e2 (patch)
tree69a124fcd0a8a75ef9aae0cc4081bad83c770374 /Documentation/crypto/async-tx-api.txt
parent099f53cb50e45ef617a9f1d63ceec799e489418b (diff)
async_tx: kill ASYNC_TX_DEP_ACK flag
In support of inter-channel chaining async_tx utilizes an ack flag to gate whether a dependent operation can be chained to another. While the flag is not set the chain can be considered open for appending. Setting the ack flag closes the chain and flags the descriptor for garbage collection. The ASYNC_TX_DEP_ACK flag essentially means "close the chain after adding this dependency". Since each operation can only have one child the api now implicitly sets the ack flag at dependency submission time. This removes an unnecessary management burden from clients of the api. [ Impact: clean up and enforce one dependency per operation ] Reviewed-by: Andre Noll <maan@systemlinux.org> Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'Documentation/crypto/async-tx-api.txt')
-rw-r--r--Documentation/crypto/async-tx-api.txt9
1 files changed, 4 insertions, 5 deletions
diff --git a/Documentation/crypto/async-tx-api.txt b/Documentation/crypto/async-tx-api.txt
index 4af12180d191..76feda8541dc 100644
--- a/Documentation/crypto/async-tx-api.txt
+++ b/Documentation/crypto/async-tx-api.txt
@@ -80,8 +80,8 @@ acknowledged by the application before the offload engine driver is allowed to
80recycle (or free) the descriptor. A descriptor can be acked by one of the 80recycle (or free) the descriptor. A descriptor can be acked by one of the
81following methods: 81following methods:
821/ setting the ASYNC_TX_ACK flag if no child operations are to be submitted 821/ setting the ASYNC_TX_ACK flag if no child operations are to be submitted
832/ setting the ASYNC_TX_DEP_ACK flag to acknowledge the parent 832/ submitting an unacknowledged descriptor as a dependency to another
84 descriptor of a new operation. 84 async_tx call will implicitly set the acknowledged state.
853/ calling async_tx_ack() on the descriptor. 853/ calling async_tx_ack() on the descriptor.
86 86
873.4 When does the operation execute? 873.4 When does the operation execute?
@@ -136,10 +136,9 @@ int run_xor_copy_xor(struct page **xor_srcs,
136 136
137 tx = async_xor(xor_dest, xor_srcs, 0, xor_src_cnt, xor_len, 137 tx = async_xor(xor_dest, xor_srcs, 0, xor_src_cnt, xor_len,
138 ASYNC_TX_XOR_DROP_DST, NULL, NULL, NULL); 138 ASYNC_TX_XOR_DROP_DST, NULL, NULL, NULL);
139 tx = async_memcpy(copy_dest, copy_src, 0, 0, copy_len, 139 tx = async_memcpy(copy_dest, copy_src, 0, 0, copy_len, tx, NULL, NULL);
140 ASYNC_TX_DEP_ACK, tx, NULL, NULL);
141 tx = async_xor(xor_dest, xor_srcs, 0, xor_src_cnt, xor_len, 140 tx = async_xor(xor_dest, xor_srcs, 0, xor_src_cnt, xor_len,
142 ASYNC_TX_XOR_DROP_DST | ASYNC_TX_DEP_ACK | ASYNC_TX_ACK, 141 ASYNC_TX_XOR_DROP_DST | ASYNC_TX_ACK,
143 tx, complete_xor_copy_xor, NULL); 142 tx, complete_xor_copy_xor, NULL);
144 143
145 async_tx_issue_pending_all(); 144 async_tx_issue_pending_all();