Lines Matching refs:sgt
623 struct sg_table *sgt; in drm_gem_map_dma_buf() local
630 sgt = obj->funcs->get_sg_table(obj); in drm_gem_map_dma_buf()
632 sgt = obj->dev->driver->gem_prime_get_sg_table(obj); in drm_gem_map_dma_buf()
634 ret = dma_map_sgtable(attach->dev, sgt, dir, in drm_gem_map_dma_buf()
637 sg_free_table(sgt); in drm_gem_map_dma_buf()
638 kfree(sgt); in drm_gem_map_dma_buf()
639 sgt = ERR_PTR(ret); in drm_gem_map_dma_buf()
642 return sgt; in drm_gem_map_dma_buf()
655 struct sg_table *sgt, in drm_gem_unmap_dma_buf() argument
658 if (!sgt) in drm_gem_unmap_dma_buf()
661 dma_unmap_sgtable(attach->dev, sgt, dir, DMA_ATTR_SKIP_CPU_SYNC); in drm_gem_unmap_dma_buf()
662 sg_free_table(sgt); in drm_gem_unmap_dma_buf()
663 kfree(sgt); in drm_gem_unmap_dma_buf()
871 unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt) in drm_prime_get_contiguous_size() argument
873 dma_addr_t expected = sg_dma_address(sgt->sgl); in drm_prime_get_contiguous_size()
878 for_each_sgtable_dma_sg(sgt, sg, i) { in drm_prime_get_contiguous_size()
938 struct sg_table *sgt; in drm_gem_prime_import_dev() local
963 sgt = dma_buf_map_attachment(attach, DMA_BIDIRECTIONAL); in drm_gem_prime_import_dev()
964 if (IS_ERR(sgt)) { in drm_gem_prime_import_dev()
965 ret = PTR_ERR(sgt); in drm_gem_prime_import_dev()
969 obj = dev->driver->gem_prime_import_sg_table(dev, attach, sgt); in drm_gem_prime_import_dev()
981 dma_buf_unmap_attachment(attach, sgt, DMA_BIDIRECTIONAL); in drm_gem_prime_import_dev()
1023 int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages, in drm_prime_sg_to_page_addr_arrays() argument
1032 for_each_sgtable_page(sgt, &page_iter, 0) { in drm_prime_sg_to_page_addr_arrays()
1039 for_each_sgtable_dma_page(sgt, &dma_iter, 0) { in drm_prime_sg_to_page_addr_arrays()