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()
167 struct dmaengine_unmap_data *unmap = NULL; in async_xor() local
172 unmap = dmaengine_get_unmap_data(device->dev, src_cnt+1, GFP_NOWAIT); in async_xor()
174 if (unmap && is_dma_xor_aligned(device, offset, 0, len)) { in async_xor()
181 unmap->len = len; in async_xor()
185 unmap->to_cnt++; in async_xor()
186 unmap->addr[j++] = dma_map_page(device->dev, src_list[i], in async_xor()
191 unmap->addr[j] = dma_map_page(device->dev, dest, offset, len, in async_xor()
193 unmap->bidi_cnt = 1; in async_xor()
195 tx = do_async_xor(chan, unmap, submit); in async_xor()
196 dmaengine_unmap_put(unmap); in async_xor()
199 dmaengine_unmap_put(unmap); in async_xor()
263 struct dmaengine_unmap_data *unmap = NULL; in async_xor_val() local
268 unmap = dmaengine_get_unmap_data(device->dev, src_cnt, GFP_NOWAIT); in async_xor_val()
270 if (unmap && src_cnt <= device->max_xor && in async_xor_val()
283 unmap->addr[i] = dma_map_page(device->dev, src_list[i], in async_xor_val()
285 unmap->to_cnt++; in async_xor_val()
287 unmap->len = len; in async_xor_val()
289 tx = device->device_prep_dma_xor_val(chan, unmap->addr, src_cnt, in async_xor_val()
298 unmap->addr, src_cnt, len, result, in async_xor_val()
302 dma_set_unmap(tx, unmap); in async_xor_val()
324 dmaengine_unmap_put(unmap); in async_xor_val()