Lines Matching refs:sgt

31 static int sg_alloc_table_from_sg(struct sg_table *sgt, struct scatterlist *sg,
38 err = sg_alloc_table(sgt, nents, gfp_mask);
42 dst = sgt->sgl;
57 struct sg_table *sgt;
81 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL);
82 if (!sgt)
90 err = sg_alloc_table_from_pages(sgt, obj->pages, obj->num_pages,
94 } else if (obj->sgt) {
101 err = sg_alloc_table_from_sg(sgt, obj->sgt->sgl,
102 obj->sgt->orig_nents, GFP_KERNEL);
111 err = dma_get_sgtable(dev, sgt, obj->vaddr, obj->iova,
117 return sgt;
120 kfree(sgt);
124 static void tegra_bo_unpin(struct device *dev, struct sg_table *sgt)
126 if (sgt) {
127 sg_free_table(sgt);
128 kfree(sgt);
199 bo->size = iommu_map_sgtable(tegra->domain, bo->iova, bo->sgt, prot);
266 dma_unmap_sgtable(drm->dev, bo->sgt, DMA_FROM_DEVICE, 0);
268 sg_free_table(bo->sgt);
269 kfree(bo->sgt);
285 bo->sgt = drm_prime_pages_to_sg(bo->gem.dev, bo->pages, bo->num_pages);
286 if (IS_ERR(bo->sgt)) {
287 err = PTR_ERR(bo->sgt);
291 err = dma_map_sgtable(drm->dev, bo->sgt, DMA_FROM_DEVICE, 0);
298 sg_free_table(bo->sgt);
299 kfree(bo->sgt);
408 bo->sgt = dma_buf_map_attachment(attach, DMA_TO_DEVICE);
409 if (IS_ERR(bo->sgt)) {
410 err = PTR_ERR(bo->sgt);
425 if (!IS_ERR_OR_NULL(bo->sgt))
426 dma_buf_unmap_attachment(attach, bo->sgt, DMA_TO_DEVICE);
445 dma_buf_unmap_attachment(gem->import_attach, bo->sgt,
553 struct sg_table *sgt;
555 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL);
556 if (!sgt)
560 if (sg_alloc_table_from_pages(sgt, bo->pages, bo->num_pages,
564 if (dma_get_sgtable(attach->dev, sgt, bo->vaddr, bo->iova,
569 if (dma_map_sgtable(attach->dev, sgt, dir, 0))
572 return sgt;
575 sg_free_table(sgt);
576 kfree(sgt);
581 struct sg_table *sgt,
588 dma_unmap_sgtable(attach->dev, sgt, dir, 0);
590 sg_free_table(sgt);
591 kfree(sgt);
607 dma_sync_sgtable_for_cpu(drm->dev, bo->sgt, DMA_FROM_DEVICE);
620 dma_sync_sgtable_for_device(drm->dev, bo->sgt, DMA_TO_DEVICE);