Lines Matching refs:sgt

30 static dma_addr_t tegra_bo_pin(struct host1x_bo *bo, struct sg_table **sgt)  in tegra_bo_pin()  argument
34 *sgt = obj->sgt; in tegra_bo_pin()
39 static void tegra_bo_unpin(struct host1x_bo *bo, struct sg_table *sgt) in tegra_bo_unpin() argument
138 bo->size = iommu_map_sg(tegra->domain, bo->paddr, bo->sgt->sgl, in tegra_bo_iommu_map()
139 bo->sgt->nents, prot); in tegra_bo_iommu_map()
206 dma_unmap_sg(drm->dev, bo->sgt->sgl, bo->sgt->nents, in tegra_bo_free()
209 sg_free_table(bo->sgt); in tegra_bo_free()
210 kfree(bo->sgt); in tegra_bo_free()
226 bo->sgt = drm_prime_pages_to_sg(bo->pages, bo->num_pages); in tegra_bo_get_pages()
227 if (IS_ERR(bo->sgt)) { in tegra_bo_get_pages()
228 err = PTR_ERR(bo->sgt); in tegra_bo_get_pages()
232 err = dma_map_sg(drm->dev, bo->sgt->sgl, bo->sgt->nents, in tegra_bo_get_pages()
242 sg_free_table(bo->sgt); in tegra_bo_get_pages()
243 kfree(bo->sgt); in tegra_bo_get_pages()
352 bo->sgt = dma_buf_map_attachment(attach, DMA_TO_DEVICE); in tegra_bo_import()
353 if (IS_ERR(bo->sgt)) { in tegra_bo_import()
354 err = PTR_ERR(bo->sgt); in tegra_bo_import()
363 if (bo->sgt->nents > 1) { in tegra_bo_import()
368 bo->paddr = sg_dma_address(bo->sgt->sgl); in tegra_bo_import()
376 if (!IS_ERR_OR_NULL(bo->sgt)) in tegra_bo_import()
377 dma_buf_unmap_attachment(attach, bo->sgt, DMA_TO_DEVICE); in tegra_bo_import()
396 dma_buf_unmap_attachment(gem->import_attach, bo->sgt, in tegra_bo_free_object()
504 struct sg_table *sgt; in tegra_gem_prime_map_dma_buf() local
506 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in tegra_gem_prime_map_dma_buf()
507 if (!sgt) in tegra_gem_prime_map_dma_buf()
514 if (sg_alloc_table(sgt, bo->num_pages, GFP_KERNEL)) in tegra_gem_prime_map_dma_buf()
517 for_each_sg(sgt->sgl, sg, bo->num_pages, i) in tegra_gem_prime_map_dma_buf()
520 if (dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir) == 0) in tegra_gem_prime_map_dma_buf()
523 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in tegra_gem_prime_map_dma_buf()
526 sg_dma_address(sgt->sgl) = bo->paddr; in tegra_gem_prime_map_dma_buf()
527 sg_dma_len(sgt->sgl) = gem->size; in tegra_gem_prime_map_dma_buf()
530 return sgt; in tegra_gem_prime_map_dma_buf()
533 sg_free_table(sgt); in tegra_gem_prime_map_dma_buf()
534 kfree(sgt); in tegra_gem_prime_map_dma_buf()
539 struct sg_table *sgt, in tegra_gem_prime_unmap_dma_buf() argument
546 dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents, dir); in tegra_gem_prime_unmap_dma_buf()
548 sg_free_table(sgt); in tegra_gem_prime_unmap_dma_buf()
549 kfree(sgt); in tegra_gem_prime_unmap_dma_buf()
565 dma_sync_sg_for_cpu(drm->dev, bo->sgt->sgl, bo->sgt->nents, in tegra_gem_prime_begin_cpu_access()
579 dma_sync_sg_for_device(drm->dev, bo->sgt->sgl, bo->sgt->nents, in tegra_gem_prime_end_cpu_access()