| /linux/drivers/dma-buf/ |
| H A D | dma-buf.c | 51 guard(spinlock)(&dmabuf->name_lock); \ 67 static void __dma_buf_list_add(struct dma_buf *dmabuf) in __dma_buf_list_add() argument 70 list_add(&dmabuf->list_node, &dmabuf_list); in __dma_buf_list_add() 74 static void __dma_buf_list_del(struct dma_buf *dmabuf) in __dma_buf_list_del() argument 76 if (!dmabuf) in __dma_buf_list_del() 80 list_del(&dmabuf->list_node); in __dma_buf_list_del() 98 struct dma_buf *ret = NULL, *dmabuf; in dma_buf_iter_begin() local 106 list_for_each_entry(dmabuf, &dmabuf_list, list_node) { in dma_buf_iter_begin() 107 if (file_ref_get(&dmabuf->file->f_ref)) { in dma_buf_iter_begin() 108 ret = dmabuf; in dma_buf_iter_begin() [all …]
|
| H A D | dma-buf-mapping.c | 105 dma_resv_assert_held(attach->dmabuf->resv); in dma_buf_phys_vec_to_sgt() 107 if (WARN_ON(!attach || !attach->dmabuf || !provider)) in dma_buf_phys_vec_to_sgt() 228 dma_resv_assert_held(attach->dmabuf->resv); in dma_buf_free_sgt()
|
| /linux/kernel/bpf/ |
| H A D | dmabuf_iter.c | 16 struct dma_buf *dmabuf; member 24 struct dma_buf *dmabuf = p->dmabuf; in dmabuf_iter_seq_start() local 26 if (!dmabuf) in dmabuf_iter_seq_start() 33 p->dmabuf = NULL; in dmabuf_iter_seq_start() 34 return dmabuf; in dmabuf_iter_seq_start() 42 struct dma_buf *dmabuf = v; in dmabuf_iter_seq_next() local 46 return dma_buf_iter_next(dmabuf); in dmabuf_iter_seq_next() 51 __bpf_md_ptr(struct dma_buf *, dmabuf); 61 .dmabuf = v, in __dmabuf_seq_show() 78 struct dma_buf *dmabuf = v; in dmabuf_iter_seq_stop() local [all …]
|
| /linux/drivers/gpu/drm/i915/gem/selftests/ |
| H A D | i915_gem_dmabuf.c | 22 struct dma_buf *dmabuf; in igt_dmabuf_export() local 28 dmabuf = i915_gem_prime_export(&obj->base, 0); in igt_dmabuf_export() 30 if (IS_ERR(dmabuf)) { in igt_dmabuf_export() 32 (int)PTR_ERR(dmabuf)); in igt_dmabuf_export() 33 return PTR_ERR(dmabuf); in igt_dmabuf_export() 36 dma_buf_put(dmabuf); in igt_dmabuf_export() 45 struct dma_buf *dmabuf; in igt_dmabuf_import_self() local 52 dmabuf = i915_gem_prime_export(&obj->base, 0); in igt_dmabuf_import_self() 53 if (IS_ERR(dmabuf)) { in igt_dmabuf_import_self() 55 (int)PTR_ERR(dmabuf)); in igt_dmabuf_import_self() [all …]
|
| H A D | mock_dmabuf.c | 13 struct mock_dmabuf *mock = to_mock(attachment->dmabuf); in mock_map_dma_buf() 103 struct dma_buf *dmabuf; in mock_dmabuf() local 122 dmabuf = dma_buf_export(&exp_info); in mock_dmabuf() 123 if (IS_ERR(dmabuf)) in mock_dmabuf() 126 return dmabuf; in mock_dmabuf()
|
| /linux/drivers/hid/ |
| H A D | hid-elan.c | 80 unsigned char *dmabuf, unsigned char param) in elan_get_device_param() argument 84 dmabuf[0] = ELAN_FEATURE_REPORT; in elan_get_device_param() 85 dmabuf[1] = 0x05; in elan_get_device_param() 86 dmabuf[2] = 0x03; in elan_get_device_param() 87 dmabuf[3] = param; in elan_get_device_param() 88 dmabuf[4] = 0x01; in elan_get_device_param() 90 ret = hid_hw_raw_request(hdev, ELAN_FEATURE_REPORT, dmabuf, in elan_get_device_param() 98 ret = hid_hw_raw_request(hdev, ELAN_FEATURE_REPORT, dmabuf, in elan_get_device_param() 121 unsigned char *dmabuf; in elan_get_device_params() local 124 dmabuf = kmalloc(ELAN_FEATURE_SIZE, GFP_KERNEL); in elan_get_device_params() [all …]
|
| /linux/samples/vfio-mdev/ |
| H A D | mbochs.c | 815 struct mbochs_dmabuf *dmabuf = vma->vm_private_data; in mbochs_dmabuf_vm_fault() local 817 if (WARN_ON(vmf->pgoff >= dmabuf->pagecount)) in mbochs_dmabuf_vm_fault() 820 vmf->page = dmabuf->pages[vmf->pgoff]; in mbochs_dmabuf_vm_fault() 831 struct mbochs_dmabuf *dmabuf = buf->priv; in mbochs_mmap_dmabuf() local 832 struct device *dev = mdev_dev(dmabuf->mdev_state->mdev); in mbochs_mmap_dmabuf() 834 dev_dbg(dev, "%s: %d\n", __func__, dmabuf->id); in mbochs_mmap_dmabuf() 840 vma->vm_private_data = dmabuf; in mbochs_mmap_dmabuf() 844 static void mbochs_print_dmabuf(struct mbochs_dmabuf *dmabuf, in mbochs_print_dmabuf() argument 847 struct device *dev = mdev_dev(dmabuf->mdev_state->mdev); in mbochs_print_dmabuf() 848 u32 fourcc = dmabuf->mode.drm_format; in mbochs_print_dmabuf() [all …]
|
| /linux/include/linux/ |
| H A D | dma-buf.h | 278 int (*vmap)(struct dma_buf *dmabuf, struct iosys_map *map); 279 void (*vunmap)(struct dma_buf *dmabuf, struct iosys_map *map); 486 struct dma_buf *dmabuf; member 538 static inline void get_dma_buf(struct dma_buf *dmabuf) in get_dma_buf() argument 540 get_file(dmabuf->file); in get_dma_buf() 551 static inline bool dma_buf_is_dynamic(struct dma_buf *dmabuf) in dma_buf_is_dynamic() argument 553 return !!dmabuf->ops->pin; in dma_buf_is_dynamic() 556 struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf, 559 dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, 562 void dma_buf_detach(struct dma_buf *dmabuf, [all …]
|
| /linux/drivers/infiniband/core/ |
| H A D | uverbs_std_types_dmabuf.c | 15 static int uverbs_dmabuf_attach(struct dma_buf *dmabuf, in uverbs_dmabuf_attach() argument 28 struct ib_uverbs_dmabuf_file *priv = attachment->dmabuf->priv; in uverbs_dmabuf_map() 31 dma_resv_assert_held(priv->dmabuf->resv); in uverbs_dmabuf_map() 50 struct ib_uverbs_dmabuf_file *priv = attachment->dmabuf->priv; in uverbs_dmabuf_unmap() 52 dma_resv_assert_held(priv->dmabuf->resv); in uverbs_dmabuf_unmap() 66 static void uverbs_dmabuf_release(struct dma_buf *dmabuf) in uverbs_dmabuf_release() argument 68 struct ib_uverbs_dmabuf_file *priv = dmabuf->priv; in uverbs_dmabuf_release() 120 uverbs_dmabuf->dmabuf = dma_buf_export(&exp_info); in UVERBS_HANDLER() 121 if (IS_ERR(uverbs_dmabuf->dmabuf)) { in UVERBS_HANDLER() 122 ret = PTR_ERR(uverbs_dmabuf->dmabuf); in UVERBS_HANDLER() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | dmabuf_iter.c | 33 const struct dma_buf *dmabuf = ctx->dmabuf; in dmabuf_collector() local 40 if (!dmabuf) in dmabuf_collector() 43 if (BPF_CORE_READ_INTO(&inode, dmabuf, file, f_inode, i_ino) || in dmabuf_collector() 44 bpf_core_read(&size, sizeof(size), &dmabuf->size) || in dmabuf_collector() 45 bpf_core_read(&pname, sizeof(pname), &dmabuf->name) || in dmabuf_collector() 46 bpf_core_read(&exporter, sizeof(exporter), &dmabuf->exp_name)) in dmabuf_collector() 67 bpf_for_each(dmabuf, d) { in iter_dmabuf_for_each()
|
| /linux/drivers/media/platform/nvidia/tegra-vde/ |
| H A D | dmabuf-cache.c | 34 struct dma_buf *dmabuf = entry->a->dmabuf; in tegra_vde_release_entry() local 42 dma_buf_detach(dmabuf, entry->a); in tegra_vde_release_entry() 43 dma_buf_put(dmabuf); in tegra_vde_release_entry() 64 struct dma_buf *dmabuf, in tegra_vde_dmabuf_cache_map() argument 79 if (entry->a->dmabuf != dmabuf) in tegra_vde_dmabuf_cache_map() 88 dma_buf_put(dmabuf); in tegra_vde_dmabuf_cache_map() 98 attachment = dma_buf_attach(dmabuf, dev); in tegra_vde_dmabuf_cache_map() 125 err = tegra_vde_iommu_map(vde, sgt, &iova, dmabuf->size); in tegra_vde_dmabuf_cache_map() 157 dma_buf_detach(dmabuf, attachment); in tegra_vde_dmabuf_cache_map()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_dma_buf.c | 25 static int xe_dma_buf_attach(struct dma_buf *dmabuf, in xe_dma_buf_attach() argument 28 struct drm_gem_object *obj = attach->dmabuf->priv; in xe_dma_buf_attach() 41 static void xe_dma_buf_detach(struct dma_buf *dmabuf, in xe_dma_buf_detach() argument 44 struct drm_gem_object *obj = attach->dmabuf->priv; in xe_dma_buf_detach() 51 struct dma_buf *dmabuf = attach->dmabuf; in xe_dma_buf_pin() local 52 struct drm_gem_object *obj = dmabuf->priv; in xe_dma_buf_pin() 59 list_for_each_entry(attach, &dmabuf->attachments, node) { in xe_dma_buf_pin() 91 struct drm_gem_object *obj = attach->dmabuf->priv; in xe_dma_buf_unpin() 100 struct dma_buf *dma_buf = attach->dmabuf; in xe_dma_buf_map() 196 static void xe_dma_buf_release(struct dma_buf *dmabuf) in xe_dma_buf_release() argument [all …]
|
| /linux/drivers/tee/ |
| H A D | tee_heap.c | 90 static int tee_heap_attach(struct dma_buf *dmabuf, in tee_heap_attach() argument 93 struct tee_heap_buffer *buf = dmabuf->priv; in tee_heap_attach() 113 static void tee_heap_detach(struct dma_buf *dmabuf, in tee_heap_detach() argument 149 static void tee_heap_buf_free(struct dma_buf *dmabuf) in tee_heap_buf_free() argument 151 struct tee_heap_buffer *buf = dmabuf->priv; in tee_heap_buf_free() 177 struct dma_buf *dmabuf; in tee_dma_heap_alloc() local 193 dmabuf = ERR_PTR(-ENOMEM); in tee_dma_heap_alloc() 201 dmabuf = ERR_PTR(rc); in tee_dma_heap_alloc() 209 dmabuf = dma_buf_export(&exp_info); in tee_dma_heap_alloc() 210 if (IS_ERR(dmabuf)) in tee_dma_heap_alloc() [all …]
|
| /linux/net/core/ |
| H A D | devmem.c | 79 dma_buf_detach(binding->dmabuf, binding->attachment); in __net_devmem_dmabuf_binding_free() 80 dma_buf_put(binding->dmabuf); in __net_devmem_dmabuf_binding_free() 200 struct dma_buf *dmabuf; in net_devmem_bind_dmabuf() local 210 dmabuf = dma_buf_get(dmabuf_fd); in net_devmem_bind_dmabuf() 211 if (IS_ERR(dmabuf)) in net_devmem_bind_dmabuf() 212 return ERR_CAST(dmabuf); in net_devmem_bind_dmabuf() 234 binding->dmabuf = dmabuf; in net_devmem_bind_dmabuf() 237 binding->attachment = dma_buf_attach(binding->dmabuf, dma_dev); in net_devmem_bind_dmabuf() 253 if (!IS_ALIGNED(dmabuf->size, PAGE_SIZE)) { in net_devmem_bind_dmabuf() 259 dmabuf->size / PAGE_SIZE); in net_devmem_bind_dmabuf() [all …]
|
| /linux/drivers/scsi/lpfc/ |
| H A D | lpfc_bsg.c | 907 struct lpfc_dmabuf *dmabuf = NULL; in lpfc_bsg_ct_unsol_event() local 997 dmabuf = bdeBuf1; in lpfc_bsg_ct_unsol_event() 1000 dmabuf = bdeBuf2; in lpfc_bsg_ct_unsol_event() 1010 dmabuf = lpfc_sli_ringpostbuf_get(phba, in lpfc_bsg_ct_unsol_event() 1013 if (!dmabuf) { in lpfc_bsg_ct_unsol_event() 1028 dmabuf->virt, size); in lpfc_bsg_ct_unsol_event() 1034 dmabuf); in lpfc_bsg_ct_unsol_event() 1042 *)dmabuf); in lpfc_bsg_ct_unsol_event() 1051 dmabuf); in lpfc_bsg_ct_unsol_event() 1147 lpfc_bsg_ct_unsol_abort(struct lpfc_hba *phba, struct hbq_dmabuf *dmabuf) in lpfc_bsg_ct_unsol_abort() argument [all …]
|
| H A D | lpfc_sli.c | 81 struct hbq_dmabuf *dmabuf); 2387 struct lpfc_dmabuf *dmabuf, *next_dmabuf; in lpfc_sli_hbqbuf_free_all() local 2396 list_for_each_entry_safe(dmabuf, next_dmabuf, in lpfc_sli_hbqbuf_free_all() 2398 hbq_buf = container_of(dmabuf, struct hbq_dmabuf, dbuf); in lpfc_sli_hbqbuf_free_all() 4513 struct hbq_dmabuf *dmabuf; in lpfc_sli_handle_slow_ring_event_s4() local 4540 dmabuf = container_of(cq_event, struct hbq_dmabuf, in lpfc_sli_handle_slow_ring_event_s4() 4542 lpfc_sli4_handle_received_buffer(phba, dmabuf); in lpfc_sli_handle_slow_ring_event_s4() 5869 struct lpfc_dmabuf *dmabuf; in lpfc_sli4_read_rev() local 5872 dmabuf = kzalloc_obj(struct lpfc_dmabuf); in lpfc_sli4_read_rev() 5873 if (!dmabuf) in lpfc_sli4_read_rev() [all …]
|
| /linux/drivers/iommu/iommufd/ |
| H A D | pages.c | 1085 static int pfn_reader_dmabuf_init(struct pfn_reader_dmabuf *dmabuf, in pfn_reader_dmabuf_init() argument 1092 dmabuf->phys = pages->dmabuf.phys; in pfn_reader_dmabuf_init() 1093 dmabuf->start_offset = pages->dmabuf.start; in pfn_reader_dmabuf_init() 1097 static int pfn_reader_fill_dmabuf(struct pfn_reader_dmabuf *dmabuf, in pfn_reader_fill_dmabuf() argument 1102 unsigned long start = dmabuf->start_offset + start_index * PAGE_SIZE; in pfn_reader_fill_dmabuf() 1110 batch_add_pfn_num(batch, PHYS_PFN(dmabuf->phys.paddr + start), in pfn_reader_fill_dmabuf() 1135 struct pfn_reader_dmabuf dmabuf; member 1205 return pfn_reader_fill_dmabuf(&pfns->dmabuf, &pfns->batch, in pfn_reader_fill_span() 1279 pfn_reader_dmabuf_init(&pfns->dmabuf, pages); in pfn_reader_init() 1443 list_for_each_entry(track, &pages->dmabuf.tracker, elm) { in iopt_revoke_notify() [all …]
|
| /linux/sound/ppc/ |
| H A D | beep.c | 208 void *dmabuf; in snd_pmac_attach_beep() local 214 dmabuf = dma_alloc_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4, in snd_pmac_attach_beep() 217 if (! dmabuf || ! input_dev) in snd_pmac_attach_beep() 235 beep->buf = dmabuf; in snd_pmac_attach_beep() 254 if (dmabuf) in snd_pmac_attach_beep() 256 dmabuf, beep->addr); in snd_pmac_attach_beep()
|
| /linux/drivers/crypto/xilinx/ |
| H A D | zynqmp-aes-gcm.c | 149 void *dmabuf; in zynqmp_aes_aead_cipher() local 157 dmabuf = kmalloc(sizeof(*hwreq) + GCM_AES_IV_SIZE, GFP_KERNEL); in zynqmp_aes_aead_cipher() 158 if (!dmabuf) { in zynqmp_aes_aead_cipher() 162 hwreq = dmabuf; in zynqmp_aes_aead_cipher() 165 memcpy(dmabuf + sizeof(struct zynqmp_aead_hw_req), req->iv, GCM_AES_IV_SIZE); in zynqmp_aes_aead_cipher() 187 dma_addr_hw_req = dma_map_single(dev, dmabuf, sizeof(struct zynqmp_aead_hw_req) + in zynqmp_aes_aead_cipher() 235 memzero_explicit(dmabuf, sizeof(struct zynqmp_aead_hw_req) + GCM_AES_IV_SIZE); in zynqmp_aes_aead_cipher() 236 kfree(dmabuf); in zynqmp_aes_aead_cipher() 254 void *dmabuf; in versal_aes_aead_cipher() local 267 dmabuf = kmalloc(dmabuf_size, GFP_KERNEL); in versal_aes_aead_cipher() [all …]
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_gem_prime.c | 68 dma_buf_vunmap_unlocked(etnaviv_obj->base.import_attach->dmabuf, &map); in etnaviv_gem_prime_release() 85 ret = dma_buf_vmap(etnaviv_obj->base.import_attach->dmabuf, &map); in etnaviv_gem_prime_vmap_impl() 116 size_t size = PAGE_ALIGN(attach->dmabuf->size); in etnaviv_gem_prime_import_sg_table()
|
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_dmabuf.c | 30 struct drm_i915_gem_object *obj = dma_buf_to_obj(attach->dmabuf); in i915_gem_map_dma_buf() 166 static int i915_gem_dmabuf_attach(struct dma_buf *dmabuf, in i915_gem_dmabuf_attach() argument 169 struct drm_i915_gem_object *obj = dma_buf_to_obj(dmabuf); in i915_gem_dmabuf_attach() 195 static void i915_gem_dmabuf_detach(struct dma_buf *dmabuf, in i915_gem_dmabuf_detach() argument 198 struct drm_i915_gem_object *obj = dma_buf_to_obj(dmabuf); in i915_gem_dmabuf_detach()
|
| /linux/drivers/xen/ |
| H A D | gntdev-dmabuf.c | 30 struct dma_buf *dmabuf; member 261 struct gntdev_dmabuf *gntdev_dmabuf = attach->dmabuf->priv; in dmabuf_exp_ops_map_dma_buf() 387 gntdev_dmabuf->dmabuf = dma_buf_export(&exp_info); in dmabuf_exp_from_pages() 388 if (IS_ERR(gntdev_dmabuf->dmabuf)) in dmabuf_exp_from_pages() 389 return PTR_ERR(gntdev_dmabuf->dmabuf); in dmabuf_exp_from_pages() 401 fd_install(take_fd(ret), no_free_ptr(gntdev_dmabuf)->dmabuf->file); in dmabuf_exp_from_pages() 603 if (attach->dmabuf->size != gntdev_dmabuf->nr_pages << PAGE_SHIFT) { in dmabuf_imp_to_refs() 606 attach->dmabuf->size, gntdev_dmabuf->nr_pages); in dmabuf_imp_to_refs() 703 dma_buf = attach->dmabuf; in dmabuf_imp_release() 704 dma_buf_detach(attach->dmabuf, attach); in dmabuf_imp_release()
|
| /linux/drivers/gpu/drm/i915/gvt/ |
| H A D | dmabuf.c | 506 struct dma_buf *dmabuf; in intel_vgpu_get_dmabuf() local 528 dmabuf = i915_gem_prime_export(&obj->base, DRM_CLOEXEC | DRM_RDWR); in intel_vgpu_get_dmabuf() 529 if (IS_ERR(dmabuf)) { in intel_vgpu_get_dmabuf() 531 ret = PTR_ERR(dmabuf); in intel_vgpu_get_dmabuf() 535 ret = dma_buf_fd(dmabuf, DRM_CLOEXEC | DRM_RDWR); in intel_vgpu_get_dmabuf() 556 file_count(dmabuf->file), in intel_vgpu_get_dmabuf() 564 dma_buf_put(dmabuf); in intel_vgpu_get_dmabuf()
|
| /linux/drivers/gpu/drm/radeon/ |
| H A D | radeon_prime.c | 49 struct dma_resv *resv = attach->dmabuf->resv; in radeon_gem_prime_import_sg_table() 55 ret = radeon_bo_create(rdev, attach->dmabuf->size, PAGE_SIZE, false, in radeon_gem_prime_import_sg_table()
|
| /linux/drivers/gpu/drm/omapdrm/ |
| H A D | omap_gem_dmabuf.c | 24 struct drm_gem_object *obj = attachment->dmabuf->priv; in omap_gem_map_dma_buf() 36 struct drm_gem_object *obj = attachment->dmabuf->priv; in omap_gem_unmap_dma_buf()
|