Home
last modified time | relevance | path

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

1234

/Linux-v5.15/drivers/dma-buf/
Ddma-buf.c45 struct dma_buf *dmabuf; in dmabuffs_dname() local
49 dmabuf = dentry->d_fsdata; in dmabuffs_dname()
50 spin_lock(&dmabuf->name_lock); in dmabuffs_dname()
51 if (dmabuf->name) in dmabuffs_dname()
52 ret = strlcpy(name, dmabuf->name, DMA_BUF_NAME_LEN); in dmabuffs_dname()
53 spin_unlock(&dmabuf->name_lock); in dmabuffs_dname()
61 struct dma_buf *dmabuf; in dma_buf_release() local
63 dmabuf = dentry->d_fsdata; in dma_buf_release()
64 if (unlikely(!dmabuf)) in dma_buf_release()
67 BUG_ON(dmabuf->vmapping_counter); in dma_buf_release()
[all …]
Ddma-buf-sysfs-stats.c55 ssize_t (*show)(struct dma_buf *dmabuf,
66 struct dma_buf *dmabuf; in dma_buf_stats_attribute_show() local
70 dmabuf = sysfs_entry->dmabuf; in dma_buf_stats_attribute_show()
72 if (!dmabuf || !attribute->show) in dma_buf_stats_attribute_show()
75 return attribute->show(dmabuf, attribute, buf); in dma_buf_stats_attribute_show()
82 static ssize_t exporter_name_show(struct dma_buf *dmabuf, in exporter_name_show() argument
86 return sysfs_emit(buf, "%s\n", dmabuf->exp_name); in exporter_name_show()
89 static ssize_t size_show(struct dma_buf *dmabuf, in size_show() argument
93 return sysfs_emit(buf, "%zu\n", dmabuf->size); in size_show()
121 void dma_buf_stats_teardown(struct dma_buf *dmabuf) in dma_buf_stats_teardown() argument
[all …]
Ddma-buf-sysfs-stats.h16 int dma_buf_stats_setup(struct dma_buf *dmabuf);
18 void dma_buf_stats_teardown(struct dma_buf *dmabuf);
28 static inline int dma_buf_stats_setup(struct dma_buf *dmabuf) in dma_buf_stats_setup() argument
33 static inline void dma_buf_stats_teardown(struct dma_buf *dmabuf) {} in dma_buf_stats_teardown() argument
Ddma-heap.c55 struct dma_buf *dmabuf; in dma_heap_buffer_alloc() local
66 dmabuf = heap->ops->allocate(heap, len, fd_flags, heap_flags); in dma_heap_buffer_alloc()
67 if (IS_ERR(dmabuf)) in dma_heap_buffer_alloc()
68 return PTR_ERR(dmabuf); in dma_heap_buffer_alloc()
70 fd = dma_buf_fd(dmabuf, fd_flags); in dma_heap_buffer_alloc()
72 dma_buf_put(dmabuf); in dma_heap_buffer_alloc()
/Linux-v5.15/drivers/gpu/drm/i915/gem/selftests/
Di915_gem_dmabuf.c17 struct dma_buf *dmabuf; in igt_dmabuf_export() local
23 dmabuf = i915_gem_prime_export(&obj->base, 0); in igt_dmabuf_export()
25 if (IS_ERR(dmabuf)) { in igt_dmabuf_export()
27 (int)PTR_ERR(dmabuf)); in igt_dmabuf_export()
28 return PTR_ERR(dmabuf); in igt_dmabuf_export()
31 dma_buf_put(dmabuf); in igt_dmabuf_export()
40 struct dma_buf *dmabuf; in igt_dmabuf_import_self() local
47 dmabuf = i915_gem_prime_export(&obj->base, 0); in igt_dmabuf_import_self()
48 if (IS_ERR(dmabuf)) { in igt_dmabuf_import_self()
50 (int)PTR_ERR(dmabuf)); in igt_dmabuf_import_self()
[all …]
Dmock_dmabuf.c12 struct mock_dmabuf *mock = to_mock(attachment->dmabuf); in mock_map_dma_buf()
102 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-v5.15/drivers/hid/
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-v5.15/samples/vfio-mdev/
Dmbochs.c793 struct mbochs_dmabuf *dmabuf = vma->vm_private_data; in mbochs_dmabuf_vm_fault() local
795 if (WARN_ON(vmf->pgoff >= dmabuf->pagecount)) in mbochs_dmabuf_vm_fault()
798 vmf->page = dmabuf->pages[vmf->pgoff]; in mbochs_dmabuf_vm_fault()
809 struct mbochs_dmabuf *dmabuf = buf->priv; in mbochs_mmap_dmabuf() local
810 struct device *dev = mdev_dev(dmabuf->mdev_state->mdev); in mbochs_mmap_dmabuf()
812 dev_dbg(dev, "%s: %d\n", __func__, dmabuf->id); in mbochs_mmap_dmabuf()
818 vma->vm_private_data = dmabuf; in mbochs_mmap_dmabuf()
822 static void mbochs_print_dmabuf(struct mbochs_dmabuf *dmabuf, in mbochs_print_dmabuf() argument
825 struct device *dev = mdev_dev(dmabuf->mdev_state->mdev); in mbochs_print_dmabuf()
826 u32 fourcc = dmabuf->mode.drm_format; in mbochs_print_dmabuf()
[all …]
/Linux-v5.15/include/linux/
Ddma-buf.h286 int (*vmap)(struct dma_buf *dmabuf, struct dma_buf_map *map);
287 void (*vunmap)(struct dma_buf *dmabuf, struct dma_buf_map *map);
446 struct dma_buf *dmabuf; member
509 struct dma_buf *dmabuf; member
563 static inline void get_dma_buf(struct dma_buf *dmabuf) in get_dma_buf() argument
565 get_file(dmabuf->file); in get_dma_buf()
576 static inline bool dma_buf_is_dynamic(struct dma_buf *dmabuf) in dma_buf_is_dynamic() argument
578 return !!dmabuf->ops->pin; in dma_buf_is_dynamic()
595 struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf,
598 dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev,
[all …]
/Linux-v5.15/drivers/infiniband/core/
Dumem_dmabuf.c21 dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); in ib_umem_dmabuf_map_pages()
68 fence = dma_resv_excl_fence(umem_dmabuf->attach->dmabuf->resv); in ib_umem_dmabuf_map_pages()
78 dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); in ib_umem_dmabuf_unmap_pages()
111 struct dma_buf *dmabuf; in ib_umem_dmabuf_get() local
123 dmabuf = dma_buf_get(fd); in ib_umem_dmabuf_get()
124 if (IS_ERR(dmabuf)) in ib_umem_dmabuf_get()
125 return ERR_CAST(dmabuf); in ib_umem_dmabuf_get()
127 if (dmabuf->size < end) in ib_umem_dmabuf_get()
147 dmabuf, in ib_umem_dmabuf_get()
161 dma_buf_put(dmabuf); in ib_umem_dmabuf_get()
[all …]
/Linux-v5.15/drivers/dma-buf/heaps/
Dcma_heap.c50 static int cma_heap_attach(struct dma_buf *dmabuf, in cma_heap_attach() argument
53 struct cma_heap_buffer *buffer = dmabuf->priv; in cma_heap_attach()
83 static void cma_heap_detach(struct dma_buf *dmabuf, in cma_heap_detach() argument
86 struct cma_heap_buffer *buffer = dmabuf->priv; in cma_heap_detach()
121 static int cma_heap_dma_buf_begin_cpu_access(struct dma_buf *dmabuf, in cma_heap_dma_buf_begin_cpu_access() argument
124 struct cma_heap_buffer *buffer = dmabuf->priv; in cma_heap_dma_buf_begin_cpu_access()
141 static int cma_heap_dma_buf_end_cpu_access(struct dma_buf *dmabuf, in cma_heap_dma_buf_end_cpu_access() argument
144 struct cma_heap_buffer *buffer = dmabuf->priv; in cma_heap_dma_buf_end_cpu_access()
179 static int cma_heap_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma) in cma_heap_mmap() argument
181 struct cma_heap_buffer *buffer = dmabuf->priv; in cma_heap_mmap()
[all …]
Dsystem_heap.c82 static int system_heap_attach(struct dma_buf *dmabuf, in system_heap_attach() argument
85 struct system_heap_buffer *buffer = dmabuf->priv; in system_heap_attach()
113 static void system_heap_detach(struct dma_buf *dmabuf, in system_heap_detach() argument
116 struct system_heap_buffer *buffer = dmabuf->priv; in system_heap_detach()
153 static int system_heap_dma_buf_begin_cpu_access(struct dma_buf *dmabuf, in system_heap_dma_buf_begin_cpu_access() argument
156 struct system_heap_buffer *buffer = dmabuf->priv; in system_heap_dma_buf_begin_cpu_access()
174 static int system_heap_dma_buf_end_cpu_access(struct dma_buf *dmabuf, in system_heap_dma_buf_end_cpu_access() argument
177 struct system_heap_buffer *buffer = dmabuf->priv; in system_heap_dma_buf_end_cpu_access()
195 static int system_heap_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma) in system_heap_mmap() argument
197 struct system_heap_buffer *buffer = dmabuf->priv; in system_heap_mmap()
[all …]
/Linux-v5.15/drivers/gpu/drm/
Ddrm_prime.c379 struct dma_buf *dmabuf; in export_and_register_object() local
383 dmabuf = ERR_PTR(-ENOENT); in export_and_register_object()
384 return dmabuf; in export_and_register_object()
388 dmabuf = obj->funcs->export(obj, flags); in export_and_register_object()
390 dmabuf = drm_gem_prime_export(obj, flags); in export_and_register_object()
391 if (IS_ERR(dmabuf)) { in export_and_register_object()
395 return dmabuf; in export_and_register_object()
403 obj->dma_buf = dmabuf; in export_and_register_object()
406 return dmabuf; in export_and_register_object()
429 struct dma_buf *dmabuf; in drm_gem_prime_handle_to_fd() local
[all …]
Ddrm_gem_cma_helper.c210 dma_buf_vunmap(gem_obj->import_attach->dmabuf, &map); in drm_gem_cma_free_object()
445 if (drm_prime_get_contiguous_size(sgt) < attach->dmabuf->size) in drm_gem_cma_prime_import_sg_table()
449 cma_obj = __drm_gem_cma_create(dev, attach->dmabuf->size, true); in drm_gem_cma_prime_import_sg_table()
456 DRM_DEBUG_PRIME("dma_addr = %pad, size = %zu\n", &cma_obj->paddr, attach->dmabuf->size); in drm_gem_cma_prime_import_sg_table()
563 ret = dma_buf_vmap(attach->dmabuf, &map); in drm_gem_cma_prime_import_sg_table_vmap()
571 dma_buf_vunmap(attach->dmabuf, &map); in drm_gem_cma_prime_import_sg_table_vmap()
/Linux-v5.15/drivers/staging/media/tegra-vde/
Ddmabuf-cache.c31 struct dma_buf *dmabuf = entry->a->dmabuf; in tegra_vde_release_entry() local
39 dma_buf_detach(dmabuf, entry->a); in tegra_vde_release_entry()
40 dma_buf_put(dmabuf); in tegra_vde_release_entry()
61 struct dma_buf *dmabuf, in tegra_vde_dmabuf_cache_map() argument
76 if (entry->a->dmabuf != dmabuf) in tegra_vde_dmabuf_cache_map()
85 dma_buf_put(dmabuf); in tegra_vde_dmabuf_cache_map()
95 attachment = dma_buf_attach(dmabuf, dev); in tegra_vde_dmabuf_cache_map()
122 err = tegra_vde_iommu_map(vde, sgt, &iova, dmabuf->size); in tegra_vde_dmabuf_cache_map()
154 dma_buf_detach(dmabuf, attachment); in tegra_vde_dmabuf_cache_map()
/Linux-v5.15/drivers/tee/
Dtee_shm.c79 static void tee_shm_op_release(struct dma_buf *dmabuf) in tee_shm_op_release() argument
81 struct tee_shm *shm = dmabuf->priv; in tee_shm_op_release()
86 static int tee_shm_op_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma) in tee_shm_op_mmap() argument
88 struct tee_shm *shm = dmabuf->priv; in tee_shm_op_mmap()
170 shm->dmabuf = dma_buf_export(&exp_info); in tee_shm_alloc()
171 if (IS_ERR(shm->dmabuf)) { in tee_shm_alloc()
172 ret = ERR_CAST(shm->dmabuf); in tee_shm_alloc()
314 shm->dmabuf = dma_buf_export(&exp_info); in tee_shm_register()
315 if (IS_ERR(shm->dmabuf)) { in tee_shm_register()
316 ret = ERR_CAST(shm->dmabuf); in tee_shm_register()
[all …]
/Linux-v5.15/drivers/comedi/drivers/
Daddi_apci_3120.c150 struct apci3120_dmabuf dmabuf[2]; member
172 struct apci3120_dmabuf *dmabuf) in apci3120_init_dma() argument
189 apci3120_addon_write(dev, dmabuf->hw, AMCC_OP_REG_AMWAR); in apci3120_init_dma()
192 apci3120_addon_write(dev, dmabuf->use_size, AMCC_OP_REG_AMWTC); in apci3120_init_dma()
208 struct apci3120_dmabuf *dmabuf0 = &devpriv->dmabuf[0]; in apci3120_setup_dma()
209 struct apci3120_dmabuf *dmabuf1 = &devpriv->dmabuf[1]; in apci3120_setup_dma()
430 struct apci3120_dmabuf *dmabuf; in apci3120_interrupt_dma() local
434 dmabuf = &devpriv->dmabuf[devpriv->cur_dmabuf]; in apci3120_interrupt_dma()
436 nbytes = dmabuf->use_size - inl(devpriv->amcc + AMCC_OP_REG_MWTC); in apci3120_interrupt_dma()
438 if (nbytes < dmabuf->use_size) in apci3120_interrupt_dma()
[all …]
Dadl_pci9118.c228 struct pci9118_dmabuf dmabuf[2]; member
247 struct pci9118_dmabuf *dmabuf = &devpriv->dmabuf[buf]; in pci9118_amcc_setup_dma() local
250 outl(dmabuf->hw, devpriv->iobase_a + AMCC_OP_REG_MWAR); in pci9118_amcc_setup_dma()
251 outl(dmabuf->use_size, devpriv->iobase_a + AMCC_OP_REG_MWTC); in pci9118_amcc_setup_dma()
394 struct pci9118_dmabuf *dmabuf = &devpriv->dmabuf[next_buf]; in pci9118_ai_mode4_switch() local
399 comedi_8254_load(dev->pacer, 0, dmabuf->hw >> 1, in pci9118_ai_mode4_switch()
641 struct pci9118_dmabuf *dmabuf = &devpriv->dmabuf[devpriv->dma_actbuf]; in pci9118_ai_get_dma() local
642 unsigned int n_all = comedi_bytes_to_samples(s, dmabuf->use_size); in pci9118_ai_get_dma()
659 pci9118_ai_dma_xfer(dev, s, dmabuf->virt, n_all); in pci9118_ai_get_dma()
804 struct pci9118_dmabuf *dmabuf0 = &devpriv->dmabuf[0]; in pci9118_ai_setup_dma()
[all …]
/Linux-v5.15/Documentation/ABI/testing/
Dsysfs-kernel-dmabuf-buffers1 What: /sys/kernel/dmabuf/buffers
5 Description: The /sys/kernel/dmabuf/buffers directory contains a
7 /sys/kernel/dmabuf/buffers/<inode_number> will contain the
12 What: /sys/kernel/dmabuf/buffers/<inode_number>/exporter_name
19 What: /sys/kernel/dmabuf/buffers/<inode_number>/size
/Linux-v5.15/drivers/gpu/drm/savage/
Dsavage_state.c287 const struct drm_buf * dmabuf) in savage_dispatch_dma_prim() argument
297 if (!dmabuf) { in savage_dispatch_dma_prim()
350 if (start + n > dmabuf->total / 32) { in savage_dispatch_dma_prim()
352 start, start + n - 1, dmabuf->total / 32); in savage_dispatch_dma_prim()
361 if (dmabuf->bus_address != dev_priv->state.common.vbaddr) { in savage_dispatch_dma_prim()
364 BCI_WRITE(dmabuf->bus_address | dev_priv->dma_type); in savage_dispatch_dma_prim()
365 dev_priv->state.common.vbaddr = dmabuf->bus_address; in savage_dispatch_dma_prim()
548 const struct drm_buf * dmabuf) in savage_dispatch_dma_idx() argument
557 if (!dmabuf) { in savage_dispatch_dma_idx()
613 if (dmabuf->bus_address != dev_priv->state.common.vbaddr) { in savage_dispatch_dma_idx()
[all …]
/Linux-v5.15/drivers/scsi/lpfc/
Dlpfc_bsg.c915 struct lpfc_dmabuf *dmabuf = NULL; in lpfc_bsg_ct_unsol_event() local
997 dmabuf = bdeBuf1; in lpfc_bsg_ct_unsol_event()
1003 dmabuf = bdeBuf2; in lpfc_bsg_ct_unsol_event()
1013 dmabuf = lpfc_sli_ringpostbuf_get(phba, in lpfc_bsg_ct_unsol_event()
1016 if (!dmabuf) { in lpfc_bsg_ct_unsol_event()
1031 dmabuf->virt, size); in lpfc_bsg_ct_unsol_event()
1037 dmabuf); in lpfc_bsg_ct_unsol_event()
1045 *)dmabuf); in lpfc_bsg_ct_unsol_event()
1054 dmabuf); in lpfc_bsg_ct_unsol_event()
1149 lpfc_bsg_ct_unsol_abort(struct lpfc_hba *phba, struct hbq_dmabuf *dmabuf) in lpfc_bsg_ct_unsol_abort() argument
[all …]
/Linux-v5.15/drivers/gpu/drm/amd/amdgpu/
Damdgpu_dma_buf.c53 static int amdgpu_dma_buf_attach(struct dma_buf *dmabuf, in amdgpu_dma_buf_attach() argument
56 struct drm_gem_object *obj = dmabuf->priv; in amdgpu_dma_buf_attach()
86 static void amdgpu_dma_buf_detach(struct dma_buf *dmabuf, in amdgpu_dma_buf_detach() argument
89 struct drm_gem_object *obj = dmabuf->priv; in amdgpu_dma_buf_detach()
106 struct drm_gem_object *obj = attach->dmabuf->priv; in amdgpu_dma_buf_pin()
134 struct drm_gem_object *obj = attach->dmabuf->priv; in amdgpu_dma_buf_unpin()
156 struct dma_buf *dma_buf = attach->dmabuf; in amdgpu_dma_buf_map()
495 struct dma_buf *dma_buf = obj->import_attach->dmabuf; in amdgpu_dmabuf_is_xgmi_accessible()
/Linux-v5.15/sound/ppc/
Dbeep.c213 void *dmabuf; in snd_pmac_attach_beep() local
219 dmabuf = dma_alloc_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4, in snd_pmac_attach_beep()
222 if (! dmabuf || ! input_dev) in snd_pmac_attach_beep()
240 beep->buf = dmabuf; in snd_pmac_attach_beep()
259 if (dmabuf) in snd_pmac_attach_beep()
261 dmabuf, beep->addr); in snd_pmac_attach_beep()
/Linux-v5.15/drivers/xen/
Dgntdev-dmabuf.c35 struct dma_buf *dmabuf; member
267 struct gntdev_dmabuf *gntdev_dmabuf = attach->dmabuf->priv; in dmabuf_exp_ops_map_dma_buf()
390 gntdev_dmabuf->dmabuf = dma_buf_export(&exp_info); in dmabuf_exp_from_pages()
391 if (IS_ERR(gntdev_dmabuf->dmabuf)) { in dmabuf_exp_from_pages()
392 ret = PTR_ERR(gntdev_dmabuf->dmabuf); in dmabuf_exp_from_pages()
393 gntdev_dmabuf->dmabuf = NULL; in dmabuf_exp_from_pages()
397 ret = dma_buf_fd(gntdev_dmabuf->dmabuf, O_CLOEXEC); in dmabuf_exp_from_pages()
413 if (gntdev_dmabuf->dmabuf) in dmabuf_exp_from_pages()
414 dma_buf_put(gntdev_dmabuf->dmabuf); in dmabuf_exp_from_pages()
624 if (attach->dmabuf->size != gntdev_dmabuf->nr_pages << PAGE_SHIFT) { in dmabuf_imp_to_refs()
[all …]
/Linux-v5.15/drivers/usb/serial/
Dcp210x.c634 void *dmabuf; in cp210x_read_reg_block() local
637 dmabuf = kmalloc(bufsize, GFP_KERNEL); in cp210x_read_reg_block()
638 if (!dmabuf) in cp210x_read_reg_block()
643 port_priv->bInterfaceNumber, dmabuf, bufsize, in cp210x_read_reg_block()
646 memcpy(buf, dmabuf, bufsize); in cp210x_read_reg_block()
655 kfree(dmabuf); in cp210x_read_reg_block()
675 void *dmabuf; in cp210x_read_vendor_block() local
678 dmabuf = kmalloc(bufsize, GFP_KERNEL); in cp210x_read_vendor_block()
679 if (!dmabuf) in cp210x_read_vendor_block()
684 cp210x_interface_num(serial), dmabuf, bufsize, in cp210x_read_vendor_block()
[all …]

1234