| /linux/drivers/media/common/videobuf2/ |
| H A D | videobuf2-dma-contig.c | 53 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 D | videobuf2-vmalloc.c | 208 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 D | drm_gem_shmem_test.c | 75 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 D | ivpu_gem_userptr.c | 26 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 D | armada_gem.c | 69 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/net/ceph/ |
| H A D | crypto.c | 206 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 D | mr.c | 51 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 …]
|
| H A D | rw.c | 73 msg->sgt.sgl, in smbdirect_connection_rw_io_free() 74 msg->sgt.nents, in smbdirect_connection_rw_io_free() 76 sg_free_table_chained(&msg->sgt, SG_CHUNK_SIZE); in smbdirect_connection_rw_io_free() 186 msg->sgt.sgl = &msg->sg_list[0]; in smbdirect_connection_rdma_xmit() 187 ret = sg_alloc_table_chained(&msg->sgt, in smbdirect_connection_rdma_xmit() 198 msg->sgt.sgl, in smbdirect_connection_rdma_xmit() 199 msg->sgt.orig_nents); in smbdirect_connection_rdma_xmit() 206 msg->sgt.sgl, in smbdirect_connection_rdma_xmit() 250 sg_free_table_chained(&msg->sgt, SG_CHUNK_SIZE); in smbdirect_connection_rdma_xmit()
|
| /linux/drivers/hwtracing/intel_th/ |
| H A D | msu-sink.c | 51 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/drivers/xen/ |
| H A D | gntdev-dmabuf.c | 46 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/media/platform/nvidia/tegra-vde/ |
| H A D | dmabuf-cache.c | 27 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/rust/kernel/ |
| H A D | scatterlist.rs | 181 /// - `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/gpu/drm/i915/gem/ |
| H A D | i915_gem_dmabuf.c | 31 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 D | mapping.c | 331 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 D | dma-buf-mapping.c | 64 struct sg_table sgt; member 136 ret = sg_alloc_table(&dma->sgt, nents, GFP_KERNEL | __GFP_ZERO); in dma_buf_phys_vec_to_sgt() 140 sgl = dma->sgt.sgl; in dma_buf_phys_vec_to_sgt() 183 dma->sgt.orig_nents = 0; in dma_buf_phys_vec_to_sgt() 191 return &dma->sgt; in dma_buf_phys_vec_to_sgt() 200 for_each_sgtable_dma_sg(&dma->sgt, sgl, i) in dma_buf_phys_vec_to_sgt() 204 sg_free_table(&dma->sgt); in dma_buf_phys_vec_to_sgt() 222 void dma_buf_free_sgt(struct dma_buf_attachment *attach, struct sg_table *sgt, in dma_buf_free_sgt() argument 225 struct dma_buf_dma *dma = container_of(sgt, struct dma_buf_dma, sgt); in dma_buf_free_sgt() 238 for_each_sgtable_dma_sg(sgt, sgl, i) in dma_buf_free_sgt() [all …]
|
| /linux/drivers/gpu/drm/lima/ |
| H A D | lima_gem.c | 29 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 D | xe_dma_buf.c | 104 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 D | fpga-mgr.c | 96 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 D | vmwgfx_ttm_buffer.c | 119 __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/accel/amdxdna/ |
| H A D | amdxdna_iommu.c | 42 struct sg_table *sgt; in amdxdna_dma_map_bo() local 50 sgt = drm_gem_shmem_get_pages_sgt(&abo->base); in amdxdna_dma_map_bo() 51 if (IS_ERR(sgt)) { in amdxdna_dma_map_bo() 52 XDNA_ERR(xdna, "Get sgt failed, ret %ld", PTR_ERR(sgt)); in amdxdna_dma_map_bo() 53 return PTR_ERR(sgt); in amdxdna_dma_map_bo() 56 if (!sgt->orig_nents) { in amdxdna_dma_map_bo() 62 if (!sg_page(sgt->sgl)) { in amdxdna_dma_map_bo() 74 size = iommu_map_sgtable(xdna->domain, dma_addr, sgt, in amdxdna_dma_map_bo() 89 contig_sz = drm_prime_get_contiguous_size(sgt); in amdxdna_dma_map_bo() 96 abo->mem.dma_addr = sg_dma_address(sgt->sgl); in amdxdna_dma_map_bo()
|
| /linux/drivers/fpga/tests/ |
| H A D | fpga-mgr-test.c | 147 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()
|
| /linux/drivers/usb/host/ |
| H A D | xhci-sideband.c | 21 struct sg_table *sgt; in xhci_ring_to_sgtable() local 35 sgt = kzalloc_obj(*sgt); in xhci_ring_to_sgtable() 36 if (!sgt) { in xhci_ring_to_sgtable() 51 dma_get_sgtable(dev, sgt, seg->trbs, seg->dma, in xhci_ring_to_sgtable() 53 pages[i] = sg_page(sgt->sgl); in xhci_ring_to_sgtable() 54 sg_free_table(sgt); in xhci_ring_to_sgtable() 58 if (sg_alloc_table_from_pages(sgt, pages, n_pages, 0, sz, GFP_KERNEL)) in xhci_ring_to_sgtable() 67 sg_dma_address(sgt->sgl) = ring->first_seg->dma; in xhci_ring_to_sgtable() 69 return sgt; in xhci_ring_to_sgtable() 73 kfree(sgt); in xhci_ring_to_sgtable()
|
| /linux/drivers/gpu/drm/omapdrm/ |
| H A D | omap_gem_dmabuf.c | 102 struct sg_table *sgt; in omap_gem_prime_import() local 123 sgt = dma_buf_map_attachment_unlocked(attach, DMA_TO_DEVICE); in omap_gem_prime_import() 124 if (IS_ERR(sgt)) { in omap_gem_prime_import() 125 ret = PTR_ERR(sgt); in omap_gem_prime_import() 129 obj = omap_gem_new_dmabuf(dev, dma_buf->size, sgt); in omap_gem_prime_import() 140 dma_buf_unmap_attachment_unlocked(attach, sgt, DMA_TO_DEVICE); in omap_gem_prime_import()
|
| /linux/include/linux/ |
| H A D | intel_th.h | 43 int (*alloc_window)(void *priv, struct sg_table **sgt, 45 void (*free_window)(void *priv, struct sg_table *sgt); 59 int (*ready)(void *priv, struct sg_table *sgt, size_t bytes); 65 void intel_th_msc_window_unlock(struct device *dev, struct sg_table *sgt);
|
| /linux/drivers/accel/rocket/ |
| H A D | rocket_gem.c | 67 struct sg_table *sgt; in rocket_ioctl_create_bo() local 82 sgt = drm_gem_shmem_get_pages_sgt(shmem_obj); in rocket_ioctl_create_bo() 83 if (IS_ERR(sgt)) { in rocket_ioctl_create_bo() 84 ret = PTR_ERR(sgt); in rocket_ioctl_create_bo() 98 shmem_obj->sgt, in rocket_ioctl_create_bo() 160 dma_sync_sgtable_for_cpu(dev->dev, shmem_obj->sgt, DMA_BIDIRECTIONAL); in rocket_ioctl_prep_bo() 186 dma_sync_sgtable_for_device(dev->dev, shmem_obj->sgt, DMA_BIDIRECTIONAL); in rocket_ioctl_fini_bo()
|