Home
last modified time | relevance | path

Searched refs:sgt (Results 1 – 25 of 162) sorted by relevance

1234567

/linux/drivers/media/common/videobuf2/
H A Dvideobuf2-dma-contig.c53 static unsigned long vb2_dc_get_contiguous_size(struct sg_table *sgt) in vb2_dc_get_contiguous_size() argument
56 dma_addr_t expected = sg_dma_address(sgt->sgl); in vb2_dc_get_contiguous_size()
60 for_each_sgtable_dma_sg(sgt, s, i) { in vb2_dc_get_contiguous_size()
126 struct sg_table *sgt = buf->dma_sgt; in vb2_dc_prepare() local
140 dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir); in vb2_dc_prepare()
146 struct sg_table *sgt = buf->dma_sgt; in vb2_dc_finish() local
160 dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir); in vb2_dc_finish()
314 struct sg_table sgt; member
324 struct sg_table *sgt; in vb2_dc_dmabuf_ops_attach() local
332 sgt = &attach->sgt; in vb2_dc_dmabuf_ops_attach()
[all …]
H A Dvideobuf2-vmalloc.c208 struct sg_table sgt; member
218 struct sg_table *sgt; in vb2_vmalloc_dmabuf_ops_attach() local
228 sgt = &attach->sgt; in vb2_vmalloc_dmabuf_ops_attach()
229 ret = sg_alloc_table(sgt, num_pages, GFP_KERNEL); in vb2_vmalloc_dmabuf_ops_attach()
234 for_each_sgtable_sg(sgt, sg, i) { in vb2_vmalloc_dmabuf_ops_attach()
238 sg_free_table(sgt); in vb2_vmalloc_dmabuf_ops_attach()
255 struct sg_table *sgt; in vb2_vmalloc_dmabuf_ops_detach() local
260 sgt = &attach->sgt; in vb2_vmalloc_dmabuf_ops_detach()
264 dma_unmap_sgtable(db_attach->dev, sgt, attach->dma_dir, 0); in vb2_vmalloc_dmabuf_ops_detach()
265 sg_free_table(sgt); in vb2_vmalloc_dmabuf_ops_detach()
[all …]
/linux/drivers/gpu/drm/tests/
H A Ddrm_gem_shmem_test.c75 struct sg_table *sgt; in drm_gem_shmem_test_obj_create_private() local
83 sgt = kzalloc_obj(*sgt); in drm_gem_shmem_test_obj_create_private()
84 KUNIT_ASSERT_NOT_NULL(test, sgt); in drm_gem_shmem_test_obj_create_private()
86 ret = kunit_add_action_or_reset(test, kfree_wrapper, sgt); in drm_gem_shmem_test_obj_create_private()
89 ret = sg_alloc_table(sgt, 1, GFP_KERNEL); in drm_gem_shmem_test_obj_create_private()
92 ret = kunit_add_action_or_reset(test, sg_free_table_wrapper, sgt); in drm_gem_shmem_test_obj_create_private()
95 sg_init_one(sgt->sgl, buf, TEST_SIZE); in drm_gem_shmem_test_obj_create_private()
101 ret = dma_map_sgtable(drm_dev->dev, sgt, DMA_BIDIRECTIONAL, 0); in drm_gem_shmem_test_obj_create_private()
108 gem_obj = drm_gem_shmem_prime_import_sg_table(drm_dev, &attach_mock, sgt); in drm_gem_shmem_test_obj_create_private()
115 kunit_remove_action(test, sg_free_table_wrapper, sgt); in drm_gem_shmem_test_obj_create_private()
[all …]
/linux/drivers/accel/ivpu/
H A Divpu_gem_userptr.c26 struct sg_table *sgt = attachment->dmabuf->priv; in ivpu_gem_userptr_dmabuf_map() local
29 ret = dma_map_sgtable(attachment->dev, sgt, direction, DMA_ATTR_SKIP_CPU_SYNC); in ivpu_gem_userptr_dmabuf_map()
33 return sgt; in ivpu_gem_userptr_dmabuf_map()
37 struct sg_table *sgt, in ivpu_gem_userptr_dmabuf_unmap() argument
40 dma_unmap_sgtable(attachment->dev, sgt, direction, DMA_ATTR_SKIP_CPU_SYNC); in ivpu_gem_userptr_dmabuf_unmap()
45 struct sg_table *sgt = dma_buf->priv; in ivpu_gem_userptr_dmabuf_release() local
49 for_each_sgtable_page(sgt, &page_iter, 0) { in ivpu_gem_userptr_dmabuf_release()
54 sg_free_table(sgt); in ivpu_gem_userptr_dmabuf_release()
55 kfree(sgt); in ivpu_gem_userptr_dmabuf_release()
70 struct sg_table *sgt; in ivpu_create_userptr_dmabuf() local
[all …]
/linux/drivers/gpu/drm/armada/
H A Darmada_gem.c69 if (dobj->sgt) in armada_gem_free_object()
71 dobj->sgt, DMA_TO_DEVICE); in armada_gem_free_object()
393 struct sg_table *sgt; in armada_gem_prime_map_dma_buf() local
396 sgt = kmalloc_obj(*sgt); in armada_gem_prime_map_dma_buf()
397 if (!sgt) in armada_gem_prime_map_dma_buf()
405 if (sg_alloc_table(sgt, count, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
410 for_each_sgtable_sg(sgt, sg, i) { in armada_gem_prime_map_dma_buf()
420 if (dma_map_sgtable(attach->dev, sgt, dir, 0)) in armada_gem_prime_map_dma_buf()
424 if (sg_alloc_table(sgt, 1, GFP_KERNEL)) in armada_gem_prime_map_dma_buf()
427 sg_set_page(sgt->sgl, dobj->page, dobj->obj.size, 0); in armada_gem_prime_map_dma_buf()
[all …]
/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_vram.c86 struct sg_table *sgt; in virtio_gpu_vram_map_dma_buf() local
90 sgt = kzalloc_obj(*sgt); in virtio_gpu_vram_map_dma_buf()
91 if (!sgt) in virtio_gpu_vram_map_dma_buf()
101 return sgt; in virtio_gpu_vram_map_dma_buf()
104 ret = sg_alloc_table(sgt, 1, GFP_KERNEL); in virtio_gpu_vram_map_dma_buf()
115 sg_set_page(sgt->sgl, NULL, vram->vram_node.size, 0); in virtio_gpu_vram_map_dma_buf()
116 sg_dma_address(sgt->sgl) = addr; in virtio_gpu_vram_map_dma_buf()
117 sg_dma_len(sgt->sgl) = vram->vram_node.size; in virtio_gpu_vram_map_dma_buf()
119 return sgt; in virtio_gpu_vram_map_dma_buf()
121 sg_free_table(sgt); in virtio_gpu_vram_map_dma_buf()
[all …]
H A Dvirtgpu_prime.c63 struct sg_table *sgt, in virtgpu_gem_unmap_dma_buf() argument
70 virtio_gpu_vram_unmap_dma_buf(attach->dev, sgt, dir); in virtgpu_gem_unmap_dma_buf()
74 drm_gem_unmap_dma_buf(attach, sgt, dir); in virtgpu_gem_unmap_dma_buf()
153 struct sg_table *sgt; in virtgpu_dma_buf_import_sgt() local
164 sgt = dma_buf_map_attachment(attach, DMA_BIDIRECTIONAL); in virtgpu_dma_buf_import_sgt()
165 if (IS_ERR(sgt)) in virtgpu_dma_buf_import_sgt()
166 return PTR_ERR(sgt); in virtgpu_dma_buf_import_sgt()
168 *ents = kvmalloc_objs(struct virtio_gpu_mem_entry, sgt->nents); in virtgpu_dma_buf_import_sgt()
170 dma_buf_unmap_attachment(attach, sgt, DMA_BIDIRECTIONAL); in virtgpu_dma_buf_import_sgt()
174 *nents = sgt->nents; in virtgpu_dma_buf_import_sgt()
[all …]
/linux/net/ceph/
H A Dcrypto.c206 static int setup_sgtable(struct sg_table *sgt, struct scatterlist *prealloc_sg, in setup_sgtable() argument
218 memset(sgt, 0, sizeof(*sgt)); in setup_sgtable()
228 ret = sg_alloc_table(sgt, chunk_cnt, GFP_NOFS); in setup_sgtable()
234 sgt->sgl = prealloc_sg; in setup_sgtable()
235 sgt->nents = sgt->orig_nents = 1; in setup_sgtable()
238 for_each_sg(sgt->sgl, sg, sgt->orig_nents, i) { in setup_sgtable()
258 static void teardown_sgtable(struct sg_table *sgt) in teardown_sgtable() argument
260 if (sgt->orig_nents > 1) in teardown_sgtable()
261 sg_free_table(sgt); in teardown_sgtable()
268 struct sg_table sgt; in ceph_aes_crypt() local
[all …]
/linux/fs/smb/smbdirect/
H A Dmr.c51 mr->sgt.sgl = kzalloc_objs(struct scatterlist, sp->max_frmr_depth); in smbdirect_connection_create_mr_list()
52 if (!mr->sgt.sgl) { in smbdirect_connection_create_mr_list()
89 if (mr->sgt.nents) in smbdirect_mr_io_disable_locked()
90 ib_dma_unmap_sg(sc->ib.dev, mr->sgt.sgl, mr->sgt.nents, mr->dir); in smbdirect_mr_io_disable_locked()
91 kfree(mr->sgt.sgl); in smbdirect_mr_io_disable_locked()
94 mr->sgt.sgl = NULL; in smbdirect_mr_io_disable_locked()
95 mr->sgt.nents = 0; in smbdirect_mr_io_disable_locked()
242 struct sg_table *sgt, in smbdirect_iter_to_sgt() argument
247 memset(sgt->sgl, 0, max_sg * sizeof(struct scatterlist)); in smbdirect_iter_to_sgt()
249 ret = extract_iter_to_sg(iter, iov_iter_count(iter), sgt, max_sg, 0); in smbdirect_iter_to_sgt()
[all …]
/linux/drivers/xen/
H A Dgntdev-dmabuf.c46 struct sg_table *sgt; member
65 struct sg_table *sgt; member
198 struct sg_table *sgt; in dmabuf_pages_to_sgt() local
201 sgt = kmalloc_obj(*sgt); in dmabuf_pages_to_sgt()
202 if (!sgt) { in dmabuf_pages_to_sgt()
207 ret = sg_alloc_table_from_pages(sgt, pages, nr_pages, 0, in dmabuf_pages_to_sgt()
213 return sgt; in dmabuf_pages_to_sgt()
216 kfree(sgt); in dmabuf_pages_to_sgt()
240 struct sg_table *sgt = gntdev_dmabuf_attach->sgt; in dmabuf_exp_ops_detach() local
242 if (sgt) { in dmabuf_exp_ops_detach()
[all …]
/linux/drivers/hwtracing/intel_th/
H A Dmsu-sink.c51 static int msu_sink_alloc_window(void *data, struct sg_table **sgt, size_t size) in msu_sink_alloc_window() argument
64 ret = sg_alloc_table(*sgt, nents, GFP_KERNEL); in msu_sink_alloc_window()
68 priv->sgts[priv->nr_sgts++] = *sgt; in msu_sink_alloc_window()
70 for_each_sg((*sgt)->sgl, sg_ptr, nents, i) { in msu_sink_alloc_window()
84 static void msu_sink_free_window(void *data, struct sg_table *sgt) in msu_sink_free_window() argument
90 for_each_sg(sgt->sgl, sg_ptr, sgt->nents, i) { in msu_sink_free_window()
95 sg_free_table(sgt); in msu_sink_free_window()
99 static int msu_sink_ready(void *data, struct sg_table *sgt, size_t bytes) in msu_sink_ready() argument
103 intel_th_msc_window_unlock(priv->dev, sgt); in msu_sink_ready()
/linux/rust/kernel/
H A Dscatterlist.rs181 /// - `sgt` is a valid pointer to a `struct sg_table` for the entire lifetime of the
183 /// - `sgt` is always DMA mapped.
185 sgt: NonNull<bindings::sg_table>,
199 /// - `sgt` must be a valid pointer to a `struct sg_table` for the entire lifetime of the
201 /// - The caller must guarantee that `sgt` remains DMA mapped for the entire lifetime of
204 sgt: NonNull<bindings::sg_table>, in new()
211 // - `sgt` is a valid pointer to a `struct sg_table`. in new()
213 bindings::dma_map_sgtable(dev.as_raw(), sgt.as_ptr(), dir.into(), 0) in new()
216 // INVARIANT: By the safety requirements of this function it is guaranteed that `sgt` is in new()
219 sgt, in new()
184 sgt: NonNull<bindings::sg_table>, global() field
272 let sgt = Opaque::zeroed(); new() localVariable
321 sgt: RawSGTable, global() field
369 let sgt = unsafe { &raw mut (*this.as_ptr()).sgt }.cast(); new() localVariable
372 let sgt = unsafe { NonNull::new_unchecked(sgt) }; new() localVariable
[all...]
/linux/drivers/media/platform/nvidia/tegra-vde/
H A Ddmabuf-cache.c27 struct sg_table *sgt; member
41 dma_buf_unmap_attachment_unlocked(entry->a, entry->sgt, entry->dma_dir); in tegra_vde_release_entry()
72 struct sg_table *sgt; in tegra_vde_dmabuf_cache_map() local
93 *addrp = sg_dma_address(entry->sgt->sgl); in tegra_vde_dmabuf_cache_map()
105 sgt = dma_buf_map_attachment_unlocked(attachment, dma_dir); in tegra_vde_dmabuf_cache_map()
106 if (IS_ERR(sgt)) { in tegra_vde_dmabuf_cache_map()
108 err = PTR_ERR(sgt); in tegra_vde_dmabuf_cache_map()
112 if (!vde->domain && sgt->nents > 1) { in tegra_vde_dmabuf_cache_map()
125 err = tegra_vde_iommu_map(vde, sgt, &iova, dmabuf->size); in tegra_vde_dmabuf_cache_map()
131 *addrp = sg_dma_address(sgt->sgl); in tegra_vde_dmabuf_cache_map()
[all …]
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_dmabuf.c31 struct sg_table *sgt; in i915_gem_map_dma_buf() local
39 sgt = kmalloc_obj(*sgt); in i915_gem_map_dma_buf()
40 if (!sgt) { in i915_gem_map_dma_buf()
45 ret = sg_alloc_table(sgt, obj->mm.pages->orig_nents, GFP_KERNEL); in i915_gem_map_dma_buf()
49 dst = sgt->sgl; in i915_gem_map_dma_buf()
55 ret = dma_map_sgtable(attach->dev, sgt, dir, DMA_ATTR_SKIP_CPU_SYNC); in i915_gem_map_dma_buf()
59 return sgt; in i915_gem_map_dma_buf()
62 sg_free_table(sgt); in i915_gem_map_dma_buf()
64 kfree(sgt); in i915_gem_map_dma_buf()
239 struct sg_table *sgt; in i915_gem_object_get_pages_dmabuf() local
[all …]
/linux/kernel/dma/
H A Dmapping.c331 int dma_map_sgtable(struct device *dev, struct sg_table *sgt, in dma_map_sgtable() argument
336 nents = __dma_map_sg_attrs(dev, sgt->sgl, sgt->orig_nents, dir, attrs); in dma_map_sgtable()
339 sgt->nents = nents; in dma_map_sgtable()
515 int dma_get_sgtable_attrs(struct device *dev, struct sg_table *sgt, in dma_get_sgtable_attrs() argument
522 return dma_direct_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs()
525 return iommu_dma_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs()
529 return ops->get_sgtable(dev, sgt, cpu_addr, dma_addr, size, attrs); in dma_get_sgtable_attrs()
796 struct sg_table *sgt; in alloc_single_sgt() local
799 sgt = kmalloc_obj(*sgt, gfp); in alloc_single_sgt()
800 if (!sgt) in alloc_single_sgt()
[all …]
/linux/drivers/dma-buf/
H A Ddma-buf-mapping.c72 struct sg_table sgt; member
147 ret = sg_alloc_table(&dma->sgt, nents, GFP_KERNEL | __GFP_ZERO); in dma_buf_phys_vec_to_sgt()
151 sgl = dma->sgt.sgl; in dma_buf_phys_vec_to_sgt()
194 dma->sgt.orig_nents = 0; in dma_buf_phys_vec_to_sgt()
202 return &dma->sgt; in dma_buf_phys_vec_to_sgt()
211 for_each_sgtable_dma_sg(&dma->sgt, sgl, i) in dma_buf_phys_vec_to_sgt()
215 sg_free_table(&dma->sgt); in dma_buf_phys_vec_to_sgt()
233 void dma_buf_free_sgt(struct dma_buf_attachment *attach, struct sg_table *sgt, in dma_buf_free_sgt() argument
236 struct dma_buf_dma *dma = container_of(sgt, struct dma_buf_dma, sgt); in dma_buf_free_sgt()
249 for_each_sgtable_dma_sg(sgt, sgl, i) in dma_buf_free_sgt()
[all …]
/linux/drivers/gpu/drm/
H A Ddrm_prime.c670 struct sg_table *sgt; in drm_gem_map_dma_buf() local
679 sgt = obj->funcs->get_sg_table(obj); in drm_gem_map_dma_buf()
680 if (IS_ERR(sgt)) in drm_gem_map_dma_buf()
681 return sgt; in drm_gem_map_dma_buf()
683 ret = dma_map_sgtable(attach->dev, sgt, dir, in drm_gem_map_dma_buf()
686 sg_free_table(sgt); in drm_gem_map_dma_buf()
687 kfree(sgt); in drm_gem_map_dma_buf()
688 sgt = ERR_PTR(ret); in drm_gem_map_dma_buf()
691 return sgt; in drm_gem_map_dma_buf()
704 struct sg_table *sgt, in drm_gem_unmap_dma_buf() argument
[all …]
H A Ddrm_gem_shmem_helper.c178 dma_unmap_sgtable(shmem->base.dev->dev, shmem->sgt, DMA_BIDIRECTIONAL, 0); in __drm_gem_shmem_free_sgt_locked()
179 sg_free_table(shmem->sgt); in __drm_gem_shmem_free_sgt_locked()
180 kfree(shmem->sgt); in __drm_gem_shmem_free_sgt_locked()
181 shmem->sgt = NULL; in __drm_gem_shmem_free_sgt_locked()
197 drm_prime_gem_destroy(obj, shmem->sgt); in drm_gem_shmem_release()
203 if (shmem->sgt) in drm_gem_shmem_release()
538 dma_unmap_sgtable(dev->dev, shmem->sgt, DMA_BIDIRECTIONAL, 0); in drm_gem_shmem_purge_locked()
539 sg_free_table(shmem->sgt); in drm_gem_shmem_purge_locked()
540 kfree(shmem->sgt); in drm_gem_shmem_purge_locked()
541 shmem->sgt = NULL; in drm_gem_shmem_purge_locked()
[all …]
/linux/drivers/gpu/drm/panthor/
H A Dpanthor_gem.c300 if (!bo->dmap.sgt) in panthor_gem_dev_map_cleanup_locked()
303 dma_unmap_sgtable(drm_dev_dma_dev(bo->base.dev), bo->dmap.sgt, DMA_BIDIRECTIONAL, 0); in panthor_gem_dev_map_cleanup_locked()
304 sg_free_table(bo->dmap.sgt); in panthor_gem_dev_map_cleanup_locked()
305 kfree(bo->dmap.sgt); in panthor_gem_dev_map_cleanup_locked()
306 bo->dmap.sgt = NULL; in panthor_gem_dev_map_cleanup_locked()
312 struct sg_table *sgt; in panthor_gem_dev_map_get_sgt_locked() local
317 if (bo->dmap.sgt) in panthor_gem_dev_map_get_sgt_locked()
318 return bo->dmap.sgt; in panthor_gem_dev_map_get_sgt_locked()
324 sgt = drm_prime_pages_to_sg(bo->base.dev, bo->backing.pages, in panthor_gem_dev_map_get_sgt_locked()
326 if (IS_ERR(sgt)) in panthor_gem_dev_map_get_sgt_locked()
[all …]
/linux/drivers/gpu/drm/lima/
H A Dlima_gem.c29 struct sg_table sgt; in lima_heap_alloc() local
67 ret = sg_alloc_table_from_pages(&sgt, pages, i, 0, in lima_heap_alloc()
72 if (bo->base.sgt) { in lima_heap_alloc()
73 dma_unmap_sgtable(dev, bo->base.sgt, DMA_BIDIRECTIONAL, 0); in lima_heap_alloc()
74 sg_free_table(bo->base.sgt); in lima_heap_alloc()
76 bo->base.sgt = kmalloc_obj(*bo->base.sgt); in lima_heap_alloc()
77 if (!bo->base.sgt) { in lima_heap_alloc()
83 ret = dma_map_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0); in lima_heap_alloc()
87 *bo->base.sgt = sgt; in lima_heap_alloc()
99 dma_unmap_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0); in lima_heap_alloc()
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_dma_buf.c104 struct sg_table *sgt; in xe_dma_buf_map() local
121 sgt = drm_prime_pages_to_sg(obj->dev, in xe_dma_buf_map()
124 if (IS_ERR(sgt)) in xe_dma_buf_map()
125 return sgt; in xe_dma_buf_map()
127 if (dma_map_sgtable(attach->dev, sgt, dir, in xe_dma_buf_map()
137 dir, &sgt); in xe_dma_buf_map()
145 return sgt; in xe_dma_buf_map()
148 sg_free_table(sgt); in xe_dma_buf_map()
149 kfree(sgt); in xe_dma_buf_map()
154 struct sg_table *sgt, in xe_dma_buf_unmap() argument
[all …]
/linux/drivers/fpga/
H A Dfpga-mgr.c96 struct sg_table *sgt) in fpga_mgr_write_sg() argument
99 return mgr->mops->write_sg(mgr, sgt); in fpga_mgr_write_sg()
182 struct sg_table *sgt) in fpga_mgr_parse_header_sg_first() argument
189 sg_miter_start(&miter, sgt->sgl, sgt->nents, SG_MITER_FROM_SG); in fpga_mgr_parse_header_sg_first()
214 struct sg_table *sgt, size_t *ret_size) in fpga_mgr_parse_header_sg() argument
236 len = sg_pcopy_to_buffer(sgt->sgl, sgt->nents, in fpga_mgr_parse_header_sg()
295 struct sg_table *sgt) in fpga_mgr_prepare_sg() argument
310 ret = fpga_mgr_parse_header_sg_first(mgr, info, sgt); in fpga_mgr_prepare_sg()
313 sg_miter_start(&miter, sgt->sgl, sgt->nents, SG_MITER_FROM_SG); in fpga_mgr_prepare_sg()
333 buf = fpga_mgr_parse_header_sg(mgr, info, sgt, &len); in fpga_mgr_prepare_sg()
[all …]
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_ttm_buffer.c119 __sg_page_iter_start(&viter->iter.base, vsgt->sgt->sgl, in vmw_piter_start()
120 vsgt->sgt->orig_nents, p_offset); in vmw_piter_start()
139 dma_unmap_sgtable(dev, &vmw_tt->sgt, DMA_BIDIRECTIONAL, 0); in vmw_ttm_unmap_from_dma()
140 vmw_tt->sgt.nents = vmw_tt->sgt.orig_nents; in vmw_ttm_unmap_from_dma()
160 return dma_map_sgtable(dev, &vmw_tt->sgt, DMA_BIDIRECTIONAL, 0); in vmw_ttm_map_for_dma()
186 vsgt->sgt = NULL; in vmw_ttm_map_dma()
192 vsgt->sgt = vmw_tt->dma_ttm.sg; in vmw_ttm_map_dma()
194 vsgt->sgt = &vmw_tt->sgt; in vmw_ttm_map_dma()
195 ret = sg_alloc_table_from_pages_segment(&vmw_tt->sgt, in vmw_ttm_map_dma()
218 sg_free_table(vsgt->sgt); in vmw_ttm_map_dma()
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_dma_buf.c225 struct sg_table *sgt; in amdgpu_dma_buf_map() local
246 sgt = drm_prime_pages_to_sg(obj->dev, in amdgpu_dma_buf_map()
249 if (IS_ERR(sgt)) in amdgpu_dma_buf_map()
250 return sgt; in amdgpu_dma_buf_map()
252 if (dma_map_sgtable(attach->dev, sgt, dir, in amdgpu_dma_buf_map()
265 dir, &sgt); in amdgpu_dma_buf_map()
272 attach->dev, dir, &sgt); in amdgpu_dma_buf_map()
281 return sgt; in amdgpu_dma_buf_map()
284 sg_free_table(sgt); in amdgpu_dma_buf_map()
285 kfree(sgt); in amdgpu_dma_buf_map()
[all …]
/linux/drivers/fpga/tests/
H A Dfpga-mgr-test.c147 static int op_write_sg(struct fpga_manager *mgr, struct sg_table *sgt) in op_write_sg() argument
158 sg_miter_start(&miter, sgt->sgl, sgt->nents, SG_MITER_FROM_SG); in op_write_sg()
259 struct sg_table *sgt; in fpga_mgr_test_img_load_sgt() local
265 sgt = kunit_kzalloc(test, sizeof(*sgt), GFP_KERNEL); in fpga_mgr_test_img_load_sgt()
266 KUNIT_ASSERT_NOT_ERR_OR_NULL(test, sgt); in fpga_mgr_test_img_load_sgt()
267 ret = sg_alloc_table(sgt, 1, GFP_KERNEL); in fpga_mgr_test_img_load_sgt()
269 sg_init_one(sgt->sgl, img_buf, IMAGE_SIZE); in fpga_mgr_test_img_load_sgt()
271 ret = kunit_add_action_or_reset(test, sg_free_table_wrapper, sgt); in fpga_mgr_test_img_load_sgt()
274 ctx->img_info->sgt = sgt; in fpga_mgr_test_img_load_sgt()

1234567