Lines Matching refs:unmap

23 do_async_xor(struct dma_chan *chan, struct dmaengine_unmap_data *unmap,  in do_async_xor()  argument
32 int src_cnt = unmap->to_cnt; in do_async_xor()
34 dma_addr_t dma_dest = unmap->addr[unmap->to_cnt]; in do_async_xor()
35 dma_addr_t *src_list = unmap->addr; in do_async_xor()
63 if (src_list > unmap->addr) in do_async_xor()
66 xor_src_cnt, unmap->len, in do_async_xor()
77 xor_src_cnt, unmap->len, in do_async_xor()
82 dma_set_unmap(tx, unmap); in do_async_xor()
190 struct dmaengine_unmap_data *unmap = NULL; in async_xor_offs() local
195 unmap = dmaengine_get_unmap_data(device->dev, src_cnt+1, GFP_NOWAIT); in async_xor_offs()
197 if (unmap && dma_xor_aligned_offsets(device, offset, in async_xor_offs()
205 unmap->len = len; in async_xor_offs()
209 unmap->to_cnt++; in async_xor_offs()
210 unmap->addr[j++] = dma_map_page(device->dev, src_list[i], in async_xor_offs()
216 unmap->addr[j] = dma_map_page(device->dev, dest, offset, len, in async_xor_offs()
218 unmap->bidi_cnt = 1; in async_xor_offs()
220 tx = do_async_xor(chan, unmap, submit); in async_xor_offs()
221 dmaengine_unmap_put(unmap); in async_xor_offs()
224 dmaengine_unmap_put(unmap); in async_xor_offs()
323 struct dmaengine_unmap_data *unmap = NULL; in async_xor_val_offs() local
328 unmap = dmaengine_get_unmap_data(device->dev, src_cnt, GFP_NOWAIT); in async_xor_val_offs()
330 if (unmap && src_cnt <= device->max_xor && in async_xor_val_offs()
343 unmap->addr[i] = dma_map_page(device->dev, src_list[i], in async_xor_val_offs()
346 unmap->to_cnt++; in async_xor_val_offs()
348 unmap->len = len; in async_xor_val_offs()
350 tx = device->device_prep_dma_xor_val(chan, unmap->addr, src_cnt, in async_xor_val_offs()
359 unmap->addr, src_cnt, len, result, in async_xor_val_offs()
363 dma_set_unmap(tx, unmap); in async_xor_val_offs()
386 dmaengine_unmap_put(unmap); in async_xor_val_offs()