Lines Matching refs:xfer
109 /* Initiated by device to continue the DMA xfer of a large piece of data */
228 /* Total number of bytes transferred for a DMA xfer request */
230 /* Header of transaction message received from user. Used during DMA xfer request. */
325 struct dma_xfer *xfer;
329 list_for_each_entry_safe(xfer, x, &resources->dma_xfers, list) {
330 dma_unmap_sgtable(&qdev->pdev->dev, xfer->sgt, DMA_TO_DEVICE, 0);
331 sg_free_table(xfer->sgt);
332 kfree(xfer->sgt);
333 for (i = 0; i < xfer->nr_pages; ++i)
334 put_page(xfer->page_list[i]);
335 kfree(xfer->page_list);
336 list_del(&xfer->list);
337 kfree(xfer);
393 struct ioctl_resources *resources, struct dma_xfer *xfer)
461 xfer->sgt = sgt;
462 xfer->page_list = page_list;
463 xfer->nr_pages = nr_pages;
480 static int encode_addr_size_pairs(struct dma_xfer *xfer, struct wrapper_list *wrappers,
485 struct sg_table *sgt = xfer->sgt;
548 static void cleanup_xfer(struct qaic_device *qdev, struct dma_xfer *xfer)
552 dma_unmap_sgtable(&qdev->pdev->dev, xfer->sgt, DMA_TO_DEVICE, 0);
553 sg_free_table(xfer->sgt);
554 kfree(xfer->sgt);
555 for (i = 0; i < xfer->nr_pages; ++i)
556 put_page(xfer->page_list[i]);
557 kfree(xfer->page_list);
566 struct dma_xfer *xfer;
582 xfer = kmalloc(sizeof(*xfer), GFP_KERNEL);
583 if (!xfer)
586 ret = find_and_map_user_pages(qdev, in_trans, resources, xfer);
592 ret = encode_addr_size_pairs(xfer, wrappers, resources, msg_hdr_len, &size, &out_trans);
619 list_add(&xfer->list, &resources->dma_xfers);
623 cleanup_xfer(qdev, xfer);
625 kfree(xfer);