Home
last modified time | relevance | path

Searched refs:dmabuf (Results 1 – 25 of 69) sorted by relevance

123

/linux/drivers/dma-buf/
H A Ddma-buf.c51 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 Ddma-buf-mapping.c105 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 Ddmabuf_iter.c16 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 Di915_gem_dmabuf.c22 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 Dmock_dmabuf.c13 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 Dhid-elan.c80 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 Dmbochs.c815 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 Ddma-buf.h278 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 Duverbs_std_types_dmabuf.c15 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 Ddmabuf_iter.c33 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 Ddmabuf-cache.c34 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 Dxe_dma_buf.c25 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 Dtee_heap.c90 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 Ddevmem.c79 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 Dlpfc_bsg.c907 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 Dlpfc_sli.c81 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 Dpages.c1085 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 Dbeep.c208 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 Dzynqmp-aes-gcm.c149 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 Detnaviv_gem_prime.c68 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 Di915_gem_dmabuf.c30 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 Dgntdev-dmabuf.c30 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 Ddmabuf.c506 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 Dradeon_prime.c49 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 Domap_gem_dmabuf.c24 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()

123