Lines Matching refs:sgt

38 static dma_addr_t tegra_bo_pin(struct host1x_bo *bo, struct sg_table **sgt)  in tegra_bo_pin()  argument
45 static void tegra_bo_unpin(struct host1x_bo *bo, struct sg_table *sgt) in tegra_bo_unpin() argument
117 err = iommu_map_sg(tegra->domain, bo->paddr, bo->sgt->sgl, in tegra_bo_iommu_map()
118 bo->sgt->nents, prot); in tegra_bo_iommu_map()
181 sg_free_table(bo->sgt); in tegra_bo_free()
182 kfree(bo->sgt); in tegra_bo_free()
200 bo->sgt = drm_prime_pages_to_sg(bo->pages, bo->num_pages); in tegra_bo_get_pages()
201 if (IS_ERR(bo->sgt)) in tegra_bo_get_pages()
211 for_each_sg(bo->sgt->sgl, s, bo->sgt->nents, i) in tegra_bo_get_pages()
214 dma_sync_sg_for_device(drm->dev, bo->sgt->sgl, bo->sgt->nents, in tegra_bo_get_pages()
221 return PTR_ERR(bo->sgt); in tegra_bo_get_pages()
327 bo->sgt = dma_buf_map_attachment(attach, DMA_TO_DEVICE); in tegra_bo_import()
328 if (!bo->sgt) { in tegra_bo_import()
333 if (IS_ERR(bo->sgt)) { in tegra_bo_import()
334 err = PTR_ERR(bo->sgt); in tegra_bo_import()
343 if (bo->sgt->nents > 1) { in tegra_bo_import()
348 bo->paddr = sg_dma_address(bo->sgt->sgl); in tegra_bo_import()
356 if (!IS_ERR_OR_NULL(bo->sgt)) in tegra_bo_import()
357 dma_buf_unmap_attachment(attach, bo->sgt, DMA_TO_DEVICE); in tegra_bo_import()
376 dma_buf_unmap_attachment(gem->import_attach, bo->sgt, in tegra_bo_free_object()
512 struct sg_table *sgt; in tegra_gem_prime_map_dma_buf() local
514 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in tegra_gem_prime_map_dma_buf()
515 if (!sgt) in tegra_gem_prime_map_dma_buf()
522 if (sg_alloc_table(sgt, bo->num_pages, GFP_KERNEL)) in tegra_gem_prime_map_dma_buf()
525 for_each_sg(sgt->sgl, sg, bo->num_pages, i) in tegra_gem_prime_map_dma_buf()
528 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) in tegra_gem_prime_map_dma_buf()
531 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in tegra_gem_prime_map_dma_buf()
534 sg_dma_address(sgt->sgl) = bo->paddr; in tegra_gem_prime_map_dma_buf()
535 sg_dma_len(sgt->sgl) = gem->size; in tegra_gem_prime_map_dma_buf()
538 return sgt; in tegra_gem_prime_map_dma_buf()
541 sg_free_table(sgt); in tegra_gem_prime_map_dma_buf()
542 kfree(sgt); in tegra_gem_prime_map_dma_buf()
547 struct sg_table *sgt, in tegra_gem_prime_unmap_dma_buf() argument
554 dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents, dir); in tegra_gem_prime_unmap_dma_buf()
556 sg_free_table(sgt); in tegra_gem_prime_unmap_dma_buf()
557 kfree(sgt); in tegra_gem_prime_unmap_dma_buf()