/device/soc/rockchip/common/vendor/drivers/media/platform/rockchip/isp/ |
H A D | videobuf2-rdma-sg.c | 68 struct sg_table *sgt;
in vb2_dma_sg_alloc() local 108 sgt = &buf->sg_table;
in vb2_dma_sg_alloc() 113 if (dma_map_sgtable(buf->dev, sgt, buf->dma_dir, DMA_ATTR_SKIP_CPU_SYNC)) {
in vb2_dma_sg_alloc() 141 struct sg_table *sgt = &buf->sg_table;
in vb2_dma_sg_put() local 145 dma_unmap_sgtable(buf->dev, sgt, buf->dma_dir, DMA_ATTR_SKIP_CPU_SYNC);
in vb2_dma_sg_put() 160 struct sg_table *sgt = buf->dma_sgt;
in vb2_dma_sg_prepare() local 162 dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir);
in vb2_dma_sg_prepare() 168 struct sg_table *sgt = buf->dma_sgt;
in vb2_dma_sg_finish() local 170 dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir);
in vb2_dma_sg_finish() 177 struct sg_table *sgt;
in vb2_dma_sg_get_userptr() local 238 struct sg_table *sgt = &buf->sg_table; vb2_dma_sg_put_userptr() local 312 struct sg_table sgt; global() member 321 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_attach() local 357 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_detach() local 379 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_map() local 410 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 425 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_begin_cpu_access() local 434 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_end_cpu_access() local 495 struct sg_table *sgt; vb2_dma_sg_map_dmabuf() local 523 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_unmap_dmabuf() local [all...] |
/device/soc/rockchip/rk3588/kernel/drivers/media/platform/rockchip/isp/ |
H A D | videobuf2-rdma-sg.c | 67 struct sg_table *sgt; in vb2_dma_sg_alloc() local 104 sgt = &buf->sg_table; in vb2_dma_sg_alloc() 109 if (dma_map_sgtable(buf->dev, sgt, buf->dma_dir, in vb2_dma_sg_alloc() 137 struct sg_table *sgt = &buf->sg_table; in vb2_dma_sg_put() local 141 dma_unmap_sgtable(buf->dev, sgt, buf->dma_dir, in vb2_dma_sg_put() 156 struct sg_table *sgt = buf->dma_sgt; in vb2_dma_sg_prepare() local 158 dma_sync_sgtable_for_device(buf->dev, sgt, buf->dma_dir); in vb2_dma_sg_prepare() 164 struct sg_table *sgt = buf->dma_sgt; in vb2_dma_sg_finish() local 166 dma_sync_sgtable_for_cpu(buf->dev, sgt, buf->dma_dir); in vb2_dma_sg_finish() 174 struct sg_table *sgt; in vb2_dma_sg_get_userptr() local 231 struct sg_table *sgt = &buf->sg_table; vb2_dma_sg_put_userptr() local 302 struct sg_table sgt; global() member 312 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_attach() local 348 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_detach() local 369 struct sg_table *sgt; vb2_dma_sg_dmabuf_ops_map() local 400 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 417 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_begin_cpu_access() local 428 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_dmabuf_ops_end_cpu_access() local 490 struct sg_table *sgt; vb2_dma_sg_map_dmabuf() local 518 struct sg_table *sgt = buf->dma_sgt; vb2_dma_sg_unmap_dmabuf() local [all...] |
/device/soc/rockchip/common/sdk_linux/drivers/gpu/drm/rockchip/ |
H A D | rockchip_drm_gem.c | 53 ret = iommu_map_sgtable(private->domain, rk_obj->dma_addr, rk_obj->sgt, prot); in rockchip_gem_iommu_map() 213 rk_obj->sgt = drm_prime_pages_to_sg(rk_obj->base.dev, dst_pages, rk_obj->num_pages); in rockchip_gem_get_pages() 214 if (IS_ERR(rk_obj->sgt)) { in rockchip_gem_get_pages() 215 ret = PTR_ERR(rk_obj->sgt); in rockchip_gem_get_pages() 228 for_each_sgtable_sg(rk_obj->sgt, s, i) sg_dma_address(s) = sg_phys(s); in rockchip_gem_get_pages() 230 dma_sync_sgtable_for_device(drm->dev, rk_obj->sgt, DMA_TO_DEVICE); in rockchip_gem_get_pages() 246 sg_free_table(rk_obj->sgt); in rockchip_gem_put_pages() 247 kfree(rk_obj->sgt); in rockchip_gem_put_pages() 258 struct sg_table *sgt; in rockchip_gem_alloc_dma() local 274 sgt in rockchip_gem_alloc_dma() 342 struct sg_table *sgt; rockchip_gem_alloc_secure() local 776 struct sg_table *sgt; rockchip_gem_prime_get_sg_table() local [all...] |
/device/soc/rockchip/common/kernel/drivers/gpu/arm/mali400/ump/linux/ |
H A D | ump_ukk_ref_wrappers.c | 118 struct sg_table *sgt = NULL; in ump_dmabuf_import_wrapper() local 156 sgt = dma_buf_map_attachment(attach, DMA_BIDIRECTIONAL); in ump_dmabuf_import_wrapper() 157 if (IS_ERR(sgt)) { in ump_dmabuf_import_wrapper() 158 ret = PTR_ERR(sgt); in ump_dmabuf_import_wrapper() 162 blocks = (ump_dd_physical_block *)_mali_osk_malloc(sizeof(ump_dd_physical_block) * sgt->nents); in ump_dmabuf_import_wrapper() 168 for_each_sg(sgt->sgl, sgl, sgt->nents, i) { in ump_dmabuf_import_wrapper() 193 session->mem->sgt = sgt; in ump_dmabuf_import_wrapper() 223 dma_buf_unmap_attachment(attach, sgt, DMA_BIDIRECTIONA in ump_dmabuf_import_wrapper() [all...] |
H A D | ump_kernel_random_mapping.c | 194 if (mem->sgt) in ump_random_mapping_put() 195 dma_buf_unmap_attachment(attach, mem->sgt, in ump_random_mapping_put()
|
/device/soc/rockchip/common/vendor/drivers/gpu/arm/mali400/mali/linux/ |
H A D | mali_memory_secure.c | 45 secure_mem->sgt = dma_buf_map_attachment(secure_mem->attachment, DMA_BIDIRECTIONAL); in mali_mem_secure_attach_dma_buf() 46 if (IS_ERR_OR_NULL(secure_mem->sgt)) { in mali_mem_secure_attach_dma_buf() 73 MALI_DEBUG_ASSERT_POINTER(secure_mem->sgt); in mali_mem_secure_mali_map() 78 for_each_sg(secure_mem->sgt->sgl, sg, secure_mem->sgt->nents, i) in mali_mem_secure_mali_map() 119 for_each_sg(secure_mem->sgt->sgl, sg, secure_mem->sgt->nents, i) in mali_mem_secure_cpu_map() 158 MALI_DEBUG_ASSERT_POINTER(mem->sgt); in mali_mem_secure_release() 162 dma_buf_unmap_attachment(mem->attachment, mem->sgt, DMA_BIDIRECTIONAL); in mali_mem_secure_release()
|
H A D | mali_memory_dma_buf.c | 72 mem->sgt = dma_buf_map_attachment(mem->attachment, DMA_BIDIRECTIONAL); in mali_dma_buf_map() 73 if (IS_ERR_OR_NULL(mem->sgt)) { in mali_dma_buf_map() 91 for_each_sg(mem->sgt->sgl, sg, mem->sgt->nents, i) in mali_dma_buf_map() 109 guard_phys = sg_dma_address(mem->sgt->sgl); in mali_dma_buf_map() 140 dma_buf_unmap_attachment(mem->attachment, mem->sgt, DMA_BIDIRECTIONAL); in mali_dma_buf_unmap()
|
H A D | mali_memory_dma_buf.h | 29 struct sg_table *sgt; member
|
/device/soc/rockchip/common/kernel/drivers/gpu/arm/mali400/mali/linux/ |
H A D | mali_memory_secure.c | 44 secure_mem->sgt = dma_buf_map_attachment(secure_mem->attachment, DMA_BIDIRECTIONAL); in mali_mem_secure_attach_dma_buf() 45 if (IS_ERR_OR_NULL(secure_mem->sgt)) { in mali_mem_secure_attach_dma_buf() 71 MALI_DEBUG_ASSERT_POINTER(secure_mem->sgt); in mali_mem_secure_mali_map() 76 for_each_sg(secure_mem->sgt->sgl, sg, secure_mem->sgt->nents, i) { in mali_mem_secure_mali_map() 118 for_each_sg(secure_mem->sgt->sgl, sg, secure_mem->sgt->nents, i) { in mali_mem_secure_cpu_map() 156 MALI_DEBUG_ASSERT_POINTER(mem->sgt); in mali_mem_secure_release() 160 dma_buf_unmap_attachment(mem->attachment, mem->sgt, DMA_BIDIRECTIONAL); in mali_mem_secure_release()
|
H A D | mali_memory_dma_buf.c | 71 mem->sgt = dma_buf_map_attachment(mem->attachment, DMA_BIDIRECTIONAL); in mali_dma_buf_map() 72 if (IS_ERR_OR_NULL(mem->sgt)) { in mali_dma_buf_map() 90 for_each_sg(mem->sgt->sgl, sg, mem->sgt->nents, i) { in mali_dma_buf_map() 107 guard_phys = sg_dma_address(mem->sgt->sgl); in mali_dma_buf_map() 137 dma_buf_unmap_attachment(mem->attachment, mem->sgt, DMA_BIDIRECTIONAL); in mali_dma_buf_unmap()
|
H A D | mali_memory_dma_buf.h | 28 struct sg_table *sgt; member
|
/device/soc/rockchip/common/sdk_linux/drivers/gpu/drm/ |
H A D | drm_prime.c | 615 struct sg_table *sgt; in drm_gem_map_dma_buf() local 623 sgt = obj->funcs->get_sg_table(obj); in drm_gem_map_dma_buf() 625 sgt = obj->dev->driver->gem_prime_get_sg_table(obj); in drm_gem_map_dma_buf() 628 ret = dma_map_sgtable(attach->dev, sgt, dir, DMA_ATTR_SKIP_CPU_SYNC); in drm_gem_map_dma_buf() 630 sg_free_table(sgt); in drm_gem_map_dma_buf() 631 kfree(sgt); in drm_gem_map_dma_buf() 632 sgt = ERR_PTR(ret); in drm_gem_map_dma_buf() 635 return sgt; in drm_gem_map_dma_buf() 642 * @sgt: scatterlist info of the buffer to unmap 647 void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enu argument 867 drm_prime_get_contiguous_size(struct sg_table *sgt) drm_prime_get_contiguous_size() argument 934 struct sg_table *sgt; drm_gem_prime_import_dev() local 1020 drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages, dma_addr_t *addrs, int max_entries) drm_prime_sg_to_page_addr_arrays() argument [all...] |
/device/soc/rockchip/rk3588/kernel/drivers/video/rockchip/rga3/ |
H A D | rga_dma_buf.c | 444 struct sg_table *sgt = NULL; in rga_iommu_map_virt_addr() local 453 sgt = virt_dma_buf->sgt; in rga_iommu_map_virt_addr() 454 if (sgt == NULL) { in rga_iommu_map_virt_addr() 455 pr_err("can not map iommu, because sgt is null!\n"); in rga_iommu_map_virt_addr() 472 for_each_sg(sgt->sgl, sg, sgt->orig_nents, i) in rga_iommu_map_virt_addr() 476 map_size = iommu_map_sg_atomic(domain, iova, sgt->sgl, sgt->orig_nents, ioprot); in rga_iommu_map_virt_addr() 478 pr_err("iommu can not map sgt t in rga_iommu_map_virt_addr() 504 struct sg_table sgt; rga_viraddr_get_channel_info() local 800 struct sg_table *sgt = NULL; rga_dma_map_fd() local 861 struct sg_table *sgt = NULL; rga_dma_map_buffer() local [all...] |
H A D | rga_mm.c | 188 if (virt_dma_buf->sgt == NULL) in rga_free_sgt() 191 sg_free_table(virt_dma_buf->sgt); in rga_free_sgt() 192 kfree(virt_dma_buf->sgt); in rga_free_sgt() 193 virt_dma_buf->sgt = NULL; in rga_free_sgt() 200 struct sg_table *sgt = NULL; in rga_alloc_sgt() local 202 sgt = kzalloc(sizeof(struct sg_table), GFP_KERNEL); in rga_alloc_sgt() 203 if (sgt == NULL) { in rga_alloc_sgt() 204 pr_err("%s alloc sgt error!\n", __func__); in rga_alloc_sgt() 209 if (sg_alloc_table_from_pages(sgt, virt_addr->pages, in rga_alloc_sgt() 217 virt_dma_buf->sgt in rga_alloc_sgt() 318 rga_mm_check_range_sgt(struct sg_table *sgt) rga_mm_check_range_sgt() argument 812 struct sg_table *sgt; rga_mm_sync_dma_sg_for_device() local 838 struct sg_table *sgt; rga_mm_sync_dma_sg_for_cpu() local [all...] |
H A D | rga2_mmu_info.c | 531 struct sg_table *sgt = NULL; in rga2_mmu_set_channel_internal() local 533 sgt = rga_mm_lookup_sgt(internal_buffer, scheduler->core); in rga2_mmu_set_channel_internal() 534 if (sgt == NULL) { in rga2_mmu_set_channel_internal() 535 pr_err("rga2 cannot get sgt from handle!\n"); in rga2_mmu_set_channel_internal() 540 rga2_sgt_to_page_table(sgt, mmu_base, page_count, false); in rga2_mmu_set_channel_internal() 543 rga2_sgt_to_page_table(sgt, mmu_base, page_count, true); in rga2_mmu_set_channel_internal() 655 ret = rga2_MapION(job->rga_dma_buffer_src0->sgt, in rga2_mmu_info_BitBlt_mode() 707 ret = rga2_MapION(job->rga_dma_buffer_src1->sgt, in rga2_mmu_info_BitBlt_mode() 756 ret = rga2_MapION(job->rga_dma_buffer_dst->sgt, in rga2_mmu_info_BitBlt_mode() 908 ret = rga2_MapION(job->rga_dma_buffer_src0->sgt, in rga2_mmu_info_color_palette_mode() 1001 struct sg_table *sgt; rga2_mmu_info_color_fill_mode() local [all...] |
/device/soc/rockchip/common/sdk_linux/include/linux/ |
H A D | dma-mapping.h | 138 int dma_get_sgtable_attrs(struct device *dev, struct sg_table *sgt, void *cpu_addr, dma_addr_t dma_addr, size_t size, 214 static inline int dma_get_sgtable_attrs(struct device *dev, struct sg_table *sgt, void *cpu_addr, dma_addr_t dma_addr, in dma_get_sgtable_attrs() argument 299 * @sgt: The sg_table object describing the buffer 312 static inline int dma_map_sgtable(struct device *dev, struct sg_table *sgt, enum dma_data_direction dir, in dma_map_sgtable() argument 317 nents = dma_map_sg_attrs(dev, sgt->sgl, sgt->orig_nents, dir, attrs); in dma_map_sgtable() 321 sgt->nents = nents; in dma_map_sgtable() 328 * @sgt: The sg_table object describing the buffer 336 static inline void dma_unmap_sgtable(struct device *dev, struct sg_table *sgt, enum dma_data_direction dir, in dma_unmap_sgtable() argument 339 dma_unmap_sg_attrs(dev, sgt in dma_unmap_sgtable() 354 dma_sync_sgtable_for_cpu(struct device *dev, struct sg_table *sgt, enum dma_data_direction dir) dma_sync_sgtable_for_cpu() argument 370 dma_sync_sgtable_for_device(struct device *dev, struct sg_table *sgt, enum dma_data_direction dir) dma_sync_sgtable_for_device() argument [all...] |
/device/soc/rockchip/common/sdk_linux/include/drm/ |
H A D | drm_prime.h | 76 void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, struct sg_table *sgt, enum dma_data_direction dir); 86 unsigned long drm_prime_get_contiguous_size(struct sg_table *sgt); 95 int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages, dma_addr_t *addrs, int max_pages);
|
/device/soc/rockchip/common/vendor/drivers/video/rockchip/mpp/ |
H A D | mpp_iommu.c | 66 dma_buf_unmap_attachment(buffer->attach, buffer->sgt, buffer->dir); in mpp_dma_release_buffer() 166 struct sg_table *sgt; in mpp_dma_import_fd() local 216 sgt = dma_buf_map_attachment(attach, buffer->dir); in mpp_dma_import_fd() 217 if (IS_ERR(sgt)) { in mpp_dma_import_fd() 219 ret = PTR_ERR(sgt); in mpp_dma_import_fd() 222 buffer->iova = sg_dma_address(sgt->sgl); in mpp_dma_import_fd() 223 buffer->size = sg_dma_len(sgt->sgl); in mpp_dma_import_fd() 225 buffer->sgt = sgt; in mpp_dma_import_fd()
|
/device/soc/rockchip/rk3588/kernel/drivers/video/rockchip/mpp/ |
H A D | mpp_iommu.c | 67 dma_buf_unmap_attachment(buffer->attach, buffer->sgt, buffer->dir); in mpp_dma_release_buffer() 172 struct sg_table *sgt; in mpp_dma_import_fd() local 224 sgt = dma_buf_map_attachment(attach, buffer->dir); in mpp_dma_import_fd() 225 if (IS_ERR(sgt)) { in mpp_dma_import_fd() 227 ret = PTR_ERR(sgt); in mpp_dma_import_fd() 230 buffer->iova = sg_dma_address(sgt->sgl); in mpp_dma_import_fd() 231 buffer->size = sg_dma_len(sgt->sgl); in mpp_dma_import_fd() 233 buffer->sgt = sgt; in mpp_dma_import_fd()
|
/device/soc/rockchip/common/vendor/drivers/video/rockchip/rga2/ |
H A D | rga2_mmu_info.c | 266 struct sg_table *sgt = NULL;
in rga2_map_dma_buffer() local 285 sgt = dma_buf_map_attachment(attach, dir);
in rga2_map_dma_buffer() 286 if (IS_ERR(sgt)) {
in rga2_map_dma_buffer() 294 rga_dma_buffer->sgt = sgt;
in rga2_map_dma_buffer() 295 rga_dma_buffer->size = sg_dma_len(sgt->sgl);
in rga2_map_dma_buffer() 314 if (rga_dma_buffer->attach && rga_dma_buffer->sgt) {
in rga2_unmap_dma_buffer() 315 dma_buf_unmap_attachment(rga_dma_buffer->attach, rga_dma_buffer->sgt, rga_dma_buffer->dir);
in rga2_unmap_dma_buffer() 511 buffer_src0.sgt = ion_sg_table(rga2_drvdata->ion_client, hdl);
in rga2_get_dma_info() 545 buffer_dst.sgt in rga2_get_dma_info() [all...] |
/device/soc/rockchip/common/sdk_linux/drivers/dma-buf/ |
H A D | dma-buf.c | 871 struct sg_table *sgt; in dma_buf_dynamic_attach() local 881 sgt = dmabuf->ops->map_dma_buf(attach, DMA_BIDIRECTIONAL); in dma_buf_dynamic_attach() 882 if (!sgt) { in dma_buf_dynamic_attach() 883 sgt = ERR_PTR(-ENOMEM); in dma_buf_dynamic_attach() 885 if (IS_ERR(sgt)) { in dma_buf_dynamic_attach() 886 ret = PTR_ERR(sgt); in dma_buf_dynamic_attach() 892 attach->sgt = sgt; in dma_buf_dynamic_attach() 945 if (attach->sgt) { in dma_buf_detach() 950 dmabuf->ops->unmap_dma_buf(attach, attach->sgt, attac in dma_buf_detach() [all...] |
/device/soc/rockchip/common/sdk_linux/drivers/iommu/ |
H A D | dma-iommu.c | 663 struct sg_table sgt; in iommu_dma_alloc_remap() local 696 if (sg_alloc_table_from_pages(&sgt, pages, count, 0, size, GFP_KERNEL)) { in iommu_dma_alloc_remap() 704 for_each_sg(sgt.sgl, sg, sgt.orig_nents, i) arch_dma_prep_coherent(sg_page(sg), sg->length); in iommu_dma_alloc_remap() 707 if (iommu_map_sg_atomic(domain, iova, sgt.sgl, sgt.orig_nents, ioprot) < size) { in iommu_dma_alloc_remap() 717 sg_free_table(&sgt); in iommu_dma_alloc_remap() 723 sg_free_table(&sgt); in iommu_dma_alloc_remap() 1198 static int iommu_dma_get_sgtable(struct device *dev, struct sg_table *sgt, void *cpu_addr, dma_addr_t dma_addr, in iommu_dma_get_sgtable() argument 1208 return sg_alloc_table_from_pages(sgt, page in iommu_dma_get_sgtable() [all...] |
/device/soc/rockchip/common/kernel/drivers/gpu/arm/mali400/ump/common/ |
H A D | ump_kernel_types.h | 52 struct sg_table *sgt; member
|
/device/soc/rockchip/common/vendor/drivers/gpu/arm/mali400/ump/common/ |
H A D | ump_kernel_types.h | 53 struct sg_table *sgt; member
|
/device/soc/rockchip/common/vendor/drivers/gpu/arm/bifrost/ |
H A D | mali_kbase_mem_linux.c | 1120 struct sg_table *sgt = reg->gpu_alloc->imported.umm.sgt; in kbase_mem_do_sync_imported() local 1122 dma_sync_sg_for_device(attachment->dev, sgt->sgl, sgt->nents, in kbase_mem_do_sync_imported() 1149 struct sg_table *sgt = reg->gpu_alloc->imported.umm.sgt; in kbase_mem_do_sync_imported() local 1151 dma_sync_sg_for_cpu(attachment->dev, sgt->sgl, sgt->nents, dir); in kbase_mem_do_sync_imported() 1187 alloc->imported.umm.sgt, DMA_BIDIRECTIONAL); in kbase_mem_umm_unmap_attachment() 1188 alloc->imported.umm.sgt in kbase_mem_umm_unmap_attachment() 1212 struct sg_table *sgt; kbase_mem_umm_map_attachment() local [all...] |