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