Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

async_tx: remove depend_tx from async_tx_sync_epilog

All callers of async_tx_sync_epilog have called async_tx_quiesce on the
depend_tx, so async_tx_sync_epilog need only call the callback to
complete the operation.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>

+7 -15
+1 -1
crypto/async_tx/async_memcpy.c
··· 83 83 kunmap_atomic(dest_buf, KM_USER0); 84 84 kunmap_atomic(src_buf, KM_USER1); 85 85 86 - async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); 86 + async_tx_sync_epilog(cb_fn, cb_param); 87 87 } 88 88 89 89 return tx;
+1 -1
crypto/async_tx/async_memset.c
··· 76 76 77 77 memset(dest_buf, val, len); 78 78 79 - async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); 79 + async_tx_sync_epilog(cb_fn, cb_param); 80 80 } 81 81 82 82 return tx;
+1 -1
crypto/async_tx/async_tx.c
··· 609 609 /* wait for any prerequisite operations */ 610 610 async_tx_quiesce(&depend_tx); 611 611 612 - async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); 612 + async_tx_sync_epilog(cb_fn, cb_param); 613 613 } 614 614 615 615 return tx;
+3 -4
crypto/async_tx/async_xor.c
··· 121 121 static void 122 122 do_sync_xor(struct page *dest, struct page **src_list, unsigned int offset, 123 123 int src_cnt, size_t len, enum async_tx_flags flags, 124 - struct dma_async_tx_descriptor *depend_tx, 125 124 dma_async_tx_callback cb_fn, void *cb_param) 126 125 { 127 126 int i; ··· 149 150 src_off += xor_src_cnt; 150 151 } 151 152 152 - async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); 153 + async_tx_sync_epilog(cb_fn, cb_param); 153 154 } 154 155 155 156 /** ··· 203 204 async_tx_quiesce(&depend_tx); 204 205 205 206 do_sync_xor(dest, src_list, offset, src_cnt, len, 206 - flags, depend_tx, cb_fn, cb_param); 207 + flags, cb_fn, cb_param); 207 208 208 209 return NULL; 209 210 } ··· 286 287 287 288 *result = page_is_zero(dest, offset, len) ? 0 : 1; 288 289 289 - async_tx_sync_epilog(flags, depend_tx, cb_fn, cb_param); 290 + async_tx_sync_epilog(cb_fn, cb_param); 290 291 } 291 292 292 293 return tx;
+1 -8
include/linux/async_tx.h
··· 101 101 102 102 /** 103 103 * async_tx_sync_epilog - actions to take if an operation is run synchronously 104 - * @flags: async_tx flags 105 - * @depend_tx: transaction depends on depend_tx 106 104 * @cb_fn: function to call when the transaction completes 107 105 * @cb_fn_param: parameter to pass to the callback routine 108 106 */ 109 107 static inline void 110 - async_tx_sync_epilog(unsigned long flags, 111 - struct dma_async_tx_descriptor *depend_tx, 112 - dma_async_tx_callback cb_fn, void *cb_fn_param) 108 + async_tx_sync_epilog(dma_async_tx_callback cb_fn, void *cb_fn_param) 113 109 { 114 110 if (cb_fn) 115 111 cb_fn(cb_fn_param); 116 - 117 - if (depend_tx && (flags & ASYNC_TX_DEP_ACK)) 118 - async_tx_ack(depend_tx); 119 112 } 120 113 121 114 void