/kernel/linux/linux-5.10/drivers/media/common/videobuf2/ |
H A D | videobuf2-dma-contig.c | 49 static unsigned long vb2_dc_get_contiguous_size(struct sg_table *sgt) in vb2_dc_get_contiguous_size() argument 52 dma_addr_t expected = sg_dma_address(sgt->sgl); in vb2_dc_get_contiguous_size() 56 for_each_sgtable_dma_sg(sgt, s, i) { in vb2_dc_get_contiguous_size() 96 struct sg_table *sgt = buf->dma_sgt; in vb2_dc_prepare() local 98 if (!sgt) in vb2_dc_prepare() 101 dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir); in vb2_dc_prepare() 107 struct sg_table *sgt = buf->dma_sgt; in vb2_dc_finish() local 109 if (!sgt) in vb2_dc_finish() 112 dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir); in vb2_dc_finish() 211 struct sg_table sgt; member 221 struct sg_table *sgt; vb2_dc_dmabuf_ops_attach() local 257 struct sg_table *sgt; vb2_dc_dmabuf_ops_detach() local 285 struct sg_table *sgt; vb2_dc_dmabuf_ops_map() local 321 vb2_dc_dmabuf_ops_unmap(struct dma_buf_attachment *db_attach, struct sg_table *sgt, enum dma_data_direction dma_dir) vb2_dc_dmabuf_ops_unmap() argument 375 struct sg_table *sgt; vb2_dc_get_base_sgt() local 428 struct sg_table *sgt = buf->dma_sgt; vb2_dc_put_userptr() local 464 struct sg_table *sgt; vb2_dc_get_userptr() local 582 struct sg_table *sgt; vb2_dc_map_dmabuf() local 621 struct sg_table *sgt = buf->dma_sgt; vb2_dc_unmap_dmabuf() local [all...] |
H A D | videobuf2-dma-sg.c | 104 struct sg_table *sgt; in vb2_dma_sg_alloc() local 145 sgt = &buf->sg_table; in vb2_dma_sg_alloc() 150 if (dma_map_sgtable(buf->dev, sgt, buf->dma_dir, in vb2_dma_sg_alloc() 181 struct sg_table *sgt = &buf->sg_table; in vb2_dma_sg_put() local 187 dma_unmap_sgtable(buf->dev, sgt, buf->dma_dir, in vb2_dma_sg_put() 203 struct sg_table *sgt = buf->dma_sgt; in vb2_dma_sg_prepare() local 205 dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir); in vb2_dma_sg_prepare() 211 struct sg_table *sgt = buf->dma_sgt; in vb2_dma_sg_finish() local 213 dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir); in vb2_dma_sg_finish() 221 struct sg_table *sgt; in vb2_dma_sg_get_userptr() local 278 struct sg_table *sgt = &buf->sg_table; vb2_dma_sg_put_userptr() local 351 struct sg_table sgt; global() member 361 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_attach() local 397 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_detach() local 418 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_map() local 449 vb2_dma_sg_dmabuf_ops_unmap(struct dma_buf_attachment *db_attach, struct sg_table *sgt, enum dma_data_direction dma_dir) vb2_dma_sg_dmabuf_ops_unmap() argument 466 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_begin_cpu_access() local 477 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_end_cpu_access() local 539 struct sg_table *sgt; vb2_dma_sg_map_dmabuf() local 567 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_unmap_dmabuf() local [all...] |
/kernel/linux/linux-6.6/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() 313 struct sg_table sgt; member 323 struct sg_table *sgt; in vb2_dc_dmabuf_ops_attach() local 331 sgt in vb2_dc_dmabuf_ops_attach() 359 struct sg_table *sgt; vb2_dc_dmabuf_ops_detach() local 385 struct sg_table *sgt; vb2_dc_dmabuf_ops_map() local 414 vb2_dc_dmabuf_ops_unmap(struct dma_buf_attachment *db_attach, struct sg_table *sgt, enum dma_data_direction dma_dir) vb2_dc_dmabuf_ops_unmap() argument 476 struct sg_table *sgt; vb2_dc_get_base_sgt() local 534 struct sg_table *sgt = buf->dma_sgt; vb2_dc_put_userptr() local 570 struct sg_table *sgt; vb2_dc_get_userptr() local 692 struct sg_table *sgt; vb2_dc_map_dmabuf() local 732 struct sg_table *sgt = buf->dma_sgt; vb2_dc_unmap_dmabuf() local [all...] |
H A D | videobuf2-dma-sg.c | 105 struct sg_table *sgt; in vb2_dma_sg_alloc() local 145 sgt = &buf->sg_table; in vb2_dma_sg_alloc() 150 if (dma_map_sgtable(buf->dev, sgt, buf->dma_dir, in vb2_dma_sg_alloc() 182 struct sg_table *sgt = &buf->sg_table; in vb2_dma_sg_put() local 188 dma_unmap_sgtable(buf->dev, sgt, buf->dma_dir, in vb2_dma_sg_put() 204 struct sg_table *sgt = buf->dma_sgt; in vb2_dma_sg_prepare() local 209 dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir); in vb2_dma_sg_prepare() 215 struct sg_table *sgt = buf->dma_sgt; in vb2_dma_sg_finish() local 220 dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir); in vb2_dma_sg_finish() 227 struct sg_table *sgt; in vb2_dma_sg_get_userptr() local 287 struct sg_table *sgt = &buf->sg_table; vb2_dma_sg_put_userptr() local 364 struct sg_table sgt; global() member 374 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_attach() local 410 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_detach() local 429 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_map() local 453 vb2_dma_sg_dmabuf_ops_unmap(struct dma_buf_attachment *db_attach, struct sg_table *sgt, enum dma_data_direction dma_dir) vb2_dma_sg_dmabuf_ops_unmap() argument 470 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_begin_cpu_access() local 481 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_end_cpu_access() local 554 struct sg_table *sgt; vb2_dma_sg_map_dmabuf() local 582 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_unmap_dmabuf() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/tegra/ |
H A D | gem.c | 31 static int sg_alloc_table_from_sg(struct sg_table *sgt, struct scatterlist *sg, in sg_alloc_table_from_sg() argument 38 err = sg_alloc_table(sgt, nents, gfp_mask); in sg_alloc_table_from_sg() 42 dst = sgt->sgl; in sg_alloc_table_from_sg() 57 struct sg_table *sgt; in tegra_bo_pin() local 81 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL); in tegra_bo_pin() 82 if (!sgt) in tegra_bo_pin() 90 err = sg_alloc_table_from_pages(sgt, obj->pages, obj->num_pages, in tegra_bo_pin() 94 } else if (obj->sgt) { in tegra_bo_pin() 101 err = sg_alloc_table_from_sg(sgt, ob in tegra_bo_pin() 124 tegra_bo_unpin(struct device *dev, struct sg_table *sgt) tegra_bo_unpin() argument 553 struct sg_table *sgt; tegra_gem_prime_map_dma_buf() local 580 tegra_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir) tegra_gem_prime_unmap_dma_buf() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/tegra/ |
H A D | gem.c | 47 static inline unsigned int sgt_dma_count_chunks(struct sg_table *sgt) in sgt_dma_count_chunks() argument 49 return sg_dma_count_chunks(sgt->sgl, sgt->nents); in sgt_dma_count_chunks() 88 map->sgt = dma_buf_map_attachment_unlocked(map->attach, direction); in tegra_bo_pin() 89 if (IS_ERR(map->sgt)) { in tegra_bo_pin() 91 err = PTR_ERR(map->sgt); in tegra_bo_pin() 92 map->sgt = NULL; in tegra_bo_pin() 96 err = sgt_dma_count_chunks(map->sgt); in tegra_bo_pin() 106 map->sgt = kzalloc(sizeof(*map->sgt), GFP_KERNE in tegra_bo_pin() 620 struct sg_table *sgt; tegra_gem_prime_map_dma_buf() local 647 tegra_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir) tegra_gem_prime_unmap_dma_buf() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/virtio/ |
H A D | virtgpu_vram.c | 75 struct sg_table *sgt; in virtio_gpu_vram_map_dma_buf() local 79 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL); in virtio_gpu_vram_map_dma_buf() 80 if (!sgt) in virtio_gpu_vram_map_dma_buf() 90 return sgt; in virtio_gpu_vram_map_dma_buf() 93 ret = sg_alloc_table(sgt, 1, GFP_KERNEL); in virtio_gpu_vram_map_dma_buf() 104 sg_set_page(sgt->sgl, NULL, vram->vram_node.size, 0); in virtio_gpu_vram_map_dma_buf() 105 sg_dma_address(sgt->sgl) = addr; in virtio_gpu_vram_map_dma_buf() 106 sg_dma_len(sgt->sgl) = vram->vram_node.size; in virtio_gpu_vram_map_dma_buf() 108 return sgt; in virtio_gpu_vram_map_dma_buf() 115 virtio_gpu_vram_unmap_dma_buf(struct device *dev, struct sg_table *sgt, enum dma_data_direction dir) virtio_gpu_vram_unmap_dma_buf() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/armada/ |
H A D | armada_gem.c | 66 if (dobj->sgt) in armada_gem_free_object() 68 dobj->sgt, DMA_TO_DEVICE); in armada_gem_free_object() 381 struct sg_table *sgt; in armada_gem_prime_map_dma_buf() local 384 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in armada_gem_prime_map_dma_buf() 385 if (!sgt) in armada_gem_prime_map_dma_buf() 393 if (sg_alloc_table(sgt, count, GFP_KERNEL)) in armada_gem_prime_map_dma_buf() 398 for_each_sgtable_sg(sgt, sg, i) { in armada_gem_prime_map_dma_buf() 408 if (dma_map_sgtable(attach->dev, sgt, dir, 0)) in armada_gem_prime_map_dma_buf() 412 if (sg_alloc_table(sgt, in armada_gem_prime_map_dma_buf() 441 armada_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir) armada_gem_prime_unmap_dma_buf() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/armada/ |
H A D | armada_gem.c | 68 if (dobj->sgt) in armada_gem_free_object() 70 dobj->sgt, DMA_TO_DEVICE); in armada_gem_free_object() 392 struct sg_table *sgt; in armada_gem_prime_map_dma_buf() local 395 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in armada_gem_prime_map_dma_buf() 396 if (!sgt) in armada_gem_prime_map_dma_buf() 404 if (sg_alloc_table(sgt, count, GFP_KERNEL)) in armada_gem_prime_map_dma_buf() 409 for_each_sgtable_sg(sgt, sg, i) { in armada_gem_prime_map_dma_buf() 419 if (dma_map_sgtable(attach->dev, sgt, dir, 0)) in armada_gem_prime_map_dma_buf() 423 if (sg_alloc_table(sgt, in armada_gem_prime_map_dma_buf() 452 armada_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir) armada_gem_prime_unmap_dma_buf() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
H A D | i915_mm.c | 36 struct sgt_iter sgt; member 56 return (r->sgt.dma + r->sgt.curr + r->iobase) >> PAGE_SHIFT; in sgt_pfn() 58 return r->sgt.pfn + (r->sgt.curr >> PAGE_SHIFT); in sgt_pfn() 65 if (GEM_WARN_ON(!r->sgt.pfn)) in remap_sg() 73 r->sgt.curr += PAGE_SIZE; in remap_sg() 74 if (r->sgt.curr >= r->sgt.max) in remap_sg() 75 r->sgt in remap_sg() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/ |
H A D | i915_mm.c | 37 struct sgt_iter sgt; member 46 return (r->sgt.dma + r->sgt.curr + r->iobase) >> PAGE_SHIFT; in sgt_pfn() 48 return r->sgt.pfn + (r->sgt.curr >> PAGE_SHIFT); in sgt_pfn() 55 if (GEM_WARN_ON(!r->sgt.sgp)) in remap_sg() 63 r->sgt.curr += PAGE_SIZE; in remap_sg() 64 if (r->sgt.curr >= r->sgt.max) in remap_sg() 65 r->sgt in remap_sg() [all...] |
/kernel/linux/linux-6.6/kernel/dma/ |
H A D | mapping.c | 246 * @sgt: The sg_table object describing the buffer 270 int dma_map_sgtable(struct device *dev, struct sg_table *sgt, in dma_map_sgtable() argument 275 nents = __dma_map_sg_attrs(dev, sgt->sgl, sgt->orig_nents, dir, attrs); in dma_map_sgtable() 278 sgt->nents = nents; in dma_map_sgtable() 399 int dma_get_sgtable_attrs(struct device *dev, struct sg_table *sgt, in dma_get_sgtable_attrs() argument 406 return dma_direct_get_sgtable(dev, sgt, cpu_addr, dma_addr, in dma_get_sgtable_attrs() 410 return ops->get_sgtable(dev, sgt, cpu_addr, dma_addr, size, attrs); in dma_get_sgtable_attrs() 625 struct sg_table *sgt; in alloc_single_sgt() local 628 sgt in alloc_single_sgt() 650 struct sg_table *sgt; dma_alloc_noncontiguous() local 670 free_single_sgt(struct device *dev, size_t size, struct sg_table *sgt, enum dma_data_direction dir) free_single_sgt() argument 679 dma_free_noncontiguous(struct device *dev, size_t size, struct sg_table *sgt, enum dma_data_direction dir) dma_free_noncontiguous() argument 692 dma_vmap_noncontiguous(struct device *dev, size_t size, struct sg_table *sgt) dma_vmap_noncontiguous() argument 713 dma_mmap_noncontiguous(struct device *dev, struct vm_area_struct *vma, size_t size, struct sg_table *sgt) dma_mmap_noncontiguous() argument [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | scatterlist.h | 46 struct sg_table sgt; /* The scatter list table */ member 201 #define for_each_sgtable_sg(sgt, sg, i) \ 202 for_each_sg((sgt)->sgl, sg, (sgt)->orig_nents, i) 209 #define for_each_sgtable_dma_sg(sgt, sg, i) \ 210 for_each_sg((sgt)->sgl, sg, (sgt)->nents, i) 437 void sg_free_append_table(struct sg_append_table *sgt); 441 int sg_alloc_append_table_from_pages(struct sg_append_table *sgt, 446 int sg_alloc_table_from_pages_segment(struct sg_table *sgt, struc 471 sg_alloc_table_from_pages(struct sg_table *sgt, struct page **pages, unsigned int n_pages, unsigned int offset, unsigned long size, gfp_t gfp_mask) sg_alloc_table_from_pages() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/mediatek/ |
H A D | mtk_drm_gem.c | 193 struct sg_table *sgt; in mtk_gem_prime_get_sg_table() local 196 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL); in mtk_gem_prime_get_sg_table() 197 if (!sgt) in mtk_gem_prime_get_sg_table() 200 ret = dma_get_sgtable_attrs(priv->dma_dev, sgt, mtk_gem->cookie, in mtk_gem_prime_get_sg_table() 204 DRM_ERROR("failed to allocate sgt, %d\n", ret); in mtk_gem_prime_get_sg_table() 205 kfree(sgt); in mtk_gem_prime_get_sg_table() 209 return sgt; in mtk_gem_prime_get_sg_table() 236 struct sg_table *sgt = NULL; in mtk_drm_gem_prime_vmap() local 242 sgt in mtk_drm_gem_prime_vmap() [all...] |
/kernel/linux/linux-5.10/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() [all...] |
/kernel/linux/linux-6.6/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() [all...] |
/kernel/linux/linux-5.10/drivers/xen/ |
H A D | gntdev-dmabuf.c | 52 struct sg_table *sgt; member 71 struct sg_table *sgt; member 204 struct sg_table *sgt; in dmabuf_pages_to_sgt() local 207 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in dmabuf_pages_to_sgt() 208 if (!sgt) { in dmabuf_pages_to_sgt() 213 ret = sg_alloc_table_from_pages(sgt, pages, nr_pages, 0, in dmabuf_pages_to_sgt() 219 return sgt; in dmabuf_pages_to_sgt() 222 kfree(sgt); in dmabuf_pages_to_sgt() 247 struct sg_table *sgt in dmabuf_exp_ops_detach() local 269 struct sg_table *sgt; dmabuf_exp_ops_map_dma_buf() local 306 dmabuf_exp_ops_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir) dmabuf_exp_ops_unmap_dma_buf() argument 578 struct sg_table *sgt; dmabuf_imp_to_refs() local [all...] |
/kernel/linux/linux-6.6/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(sizeof(*sgt), GFP_KERNEL); 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() 241 struct sg_table *sgt in dmabuf_exp_ops_detach() local 263 struct sg_table *sgt; dmabuf_exp_ops_map_dma_buf() local 300 dmabuf_exp_ops_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir) dmabuf_exp_ops_unmap_dma_buf() argument 572 struct sg_table *sgt; dmabuf_imp_to_refs() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/ |
H A D | drm_gem_shmem_helper.c | 126 drm_prime_gem_destroy(obj, shmem->sgt); in drm_gem_shmem_free_object() 128 if (shmem->sgt) { in drm_gem_shmem_free_object() 129 dma_unmap_sgtable(obj->dev->dev, shmem->sgt, in drm_gem_shmem_free_object() 131 sg_free_table(shmem->sgt); in drm_gem_shmem_free_object() 132 kfree(shmem->sgt); in drm_gem_shmem_free_object() 428 dma_unmap_sgtable(obj->dev->dev, shmem->sgt, DMA_BIDIRECTIONAL, 0); in drm_gem_shmem_purge_locked() 429 sg_free_table(shmem->sgt); in drm_gem_shmem_purge_locked() 430 kfree(shmem->sgt); in drm_gem_shmem_purge_locked() 431 shmem->sgt = NULL; in drm_gem_shmem_purge_locked() 714 struct sg_table *sgt; in drm_gem_shmem_get_pages_sgt() local 764 drm_gem_shmem_prime_import_sg_table(struct drm_device *dev, struct dma_buf_attachment *attach, struct sg_table *sgt) drm_gem_shmem_prime_import_sg_table() argument [all...] |
/kernel/linux/linux-5.10/net/ceph/ |
H A D | crypto.c | 153 * Dispose of @sgt with teardown_sgtable(). 160 static int setup_sgtable(struct sg_table *sgt, struct scatterlist *prealloc_sg, in setup_sgtable() argument 172 memset(sgt, 0, sizeof(*sgt)); in setup_sgtable() 182 ret = sg_alloc_table(sgt, chunk_cnt, GFP_NOFS); in setup_sgtable() 188 sgt->sgl = prealloc_sg; in setup_sgtable() 189 sgt->nents = sgt->orig_nents = 1; in setup_sgtable() 192 for_each_sg(sgt->sgl, sg, sgt in setup_sgtable() 212 teardown_sgtable(struct sg_table *sgt) teardown_sgtable() argument 222 struct sg_table sgt; ceph_aes_crypt() local [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_dmabuf.c | 32 struct sg_table *sgt; in i915_gem_map_dma_buf() local 37 * Make a copy of the object's sgt, so that we can make an independent in i915_gem_map_dma_buf() 40 sgt = kmalloc(sizeof(*sgt), GFP_KERNEL); in i915_gem_map_dma_buf() 41 if (!sgt) { in i915_gem_map_dma_buf() 46 ret = sg_alloc_table(sgt, obj->mm.pages->orig_nents, GFP_KERNEL); in i915_gem_map_dma_buf() 50 dst = sgt->sgl; in i915_gem_map_dma_buf() 56 ret = dma_map_sgtable(attach->dev, sgt, dir, DMA_ATTR_SKIP_CPU_SYNC); in i915_gem_map_dma_buf() 60 return sgt; in i915_gem_map_dma_buf() 63 sg_free_table(sgt); in i915_gem_map_dma_buf() 240 struct sg_table *sgt; i915_gem_object_get_pages_dmabuf() local 269 i915_gem_object_put_pages_dmabuf(struct drm_i915_gem_object *obj, struct sg_table *sgt) i915_gem_object_put_pages_dmabuf() argument [all...] |
/kernel/linux/linux-6.6/net/ceph/ |
H A D | crypto.c | 154 * Dispose of @sgt with teardown_sgtable(). 161 static int setup_sgtable(struct sg_table *sgt, struct scatterlist *prealloc_sg, in setup_sgtable() argument 173 memset(sgt, 0, sizeof(*sgt)); in setup_sgtable() 183 ret = sg_alloc_table(sgt, chunk_cnt, GFP_NOFS); in setup_sgtable() 189 sgt->sgl = prealloc_sg; in setup_sgtable() 190 sgt->nents = sgt->orig_nents = 1; in setup_sgtable() 193 for_each_sg(sgt->sgl, sg, sgt in setup_sgtable() 213 teardown_sgtable(struct sg_table *sgt) teardown_sgtable() argument 223 struct sg_table sgt; ceph_aes_crypt() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/mediatek/ |
H A D | mtk_drm_gem.c | 190 struct sg_table *sgt; in mtk_gem_prime_get_sg_table() local 193 sgt = kzalloc(sizeof(*sgt), GFP_KERNEL); in mtk_gem_prime_get_sg_table() 194 if (!sgt) in mtk_gem_prime_get_sg_table() 197 ret = dma_get_sgtable_attrs(priv->dma_dev, sgt, mtk_gem->cookie, in mtk_gem_prime_get_sg_table() 201 DRM_ERROR("failed to allocate sgt, %d\n", ret); in mtk_gem_prime_get_sg_table() 202 kfree(sgt); in mtk_gem_prime_get_sg_table() 206 return sgt; in mtk_gem_prime_get_sg_table() 233 struct sg_table *sgt; in mtk_drm_gem_prime_vmap() local 239 sgt in mtk_drm_gem_prime_vmap() [all...] |
/kernel/linux/linux-5.10/drivers/staging/media/tegra-vde/ |
H A D | dmabuf-cache.c | 24 struct sg_table *sgt; member 38 dma_buf_unmap_attachment(entry->a, entry->sgt, entry->dma_dir); in tegra_vde_release_entry() 69 struct sg_table *sgt; in tegra_vde_dmabuf_cache_map() local 90 *addrp = sg_dma_address(entry->sgt->sgl); in tegra_vde_dmabuf_cache_map() 102 sgt = dma_buf_map_attachment(attachment, dma_dir); in tegra_vde_dmabuf_cache_map() 103 if (IS_ERR(sgt)) { in tegra_vde_dmabuf_cache_map() 105 err = PTR_ERR(sgt); in tegra_vde_dmabuf_cache_map() 109 if (!vde->domain && sgt->nents > 1) { in tegra_vde_dmabuf_cache_map() 122 err = tegra_vde_iommu_map(vde, sgt, &iova, dmabuf->size); in tegra_vde_dmabuf_cache_map() 128 *addrp = sg_dma_address(sgt in tegra_vde_dmabuf_cache_map() [all...] |
/kernel/linux/linux-6.6/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 in tegra_vde_dmabuf_cache_map() [all...] |