Home
last modified time | relevance | path

Searched full:attach (Results 1 – 25 of 1599) sorted by relevance

12345678910>>...64

/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_prime.c49 virtgpu_gem_map_dma_buf(struct dma_buf_attachment *attach, in virtgpu_gem_map_dma_buf() argument
52 struct drm_gem_object *obj = attach->dmabuf->priv; in virtgpu_gem_map_dma_buf()
56 return virtio_gpu_vram_map_dma_buf(bo, attach->dev, dir); in virtgpu_gem_map_dma_buf()
58 return drm_gem_map_dma_buf(attach, dir); in virtgpu_gem_map_dma_buf()
61 static void virtgpu_gem_unmap_dma_buf(struct dma_buf_attachment *attach, in virtgpu_gem_unmap_dma_buf() argument
65 struct drm_gem_object *obj = attach->dmabuf->priv; in virtgpu_gem_unmap_dma_buf()
69 virtio_gpu_vram_unmap_dma_buf(attach->dev, sgt, dir); in virtgpu_gem_unmap_dma_buf()
73 drm_gem_unmap_dma_buf(attach, sgt, dir); in virtgpu_gem_unmap_dma_buf()
78 .attach = virtio_dma_buf_attach,
149 struct dma_buf_attachment *attach) in virtgpu_dma_buf_import_sgt() argument
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_dma_buf.c26 struct dma_buf_attachment *attach) in xe_dma_buf_attach() argument
28 struct drm_gem_object *obj = attach->dmabuf->priv; in xe_dma_buf_attach()
30 if (attach->peer2peer && in xe_dma_buf_attach()
31 pci_p2pdma_distance(to_pci_dev(obj->dev->dev), attach->dev, false) < 0) in xe_dma_buf_attach()
32 attach->peer2peer = false; in xe_dma_buf_attach()
34 if (!attach->peer2peer && !xe_bo_can_migrate(gem_to_xe_bo(obj), XE_PL_TT)) in xe_dma_buf_attach()
42 struct dma_buf_attachment *attach) in xe_dma_buf_detach() argument
44 struct drm_gem_object *obj = attach->dmabuf->priv; in xe_dma_buf_detach()
49 static int xe_dma_buf_pin(struct dma_buf_attachment *attach) in xe_dma_buf_pin() argument
51 struct dma_buf *dmabuf = attach->dmabuf; in xe_dma_buf_pin()
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_dma_buf.c52 * @attach: attachment
58 static struct amdgpu_device *dma_buf_attach_adev(struct dma_buf_attachment *attach) in dma_buf_attach_adev() argument
60 if (attach->importer_ops == &amdgpu_dma_buf_attach_ops) { in dma_buf_attach_adev()
61 struct drm_gem_object *obj = attach->importer_priv; in dma_buf_attach_adev()
71 * amdgpu_dma_buf_attach - &dma_buf_ops.attach implementation
73 * @dmabuf: DMA-buf where we attach to
74 * @attach: attachment to add
79 struct dma_buf_attachment *attach) in amdgpu_dma_buf_attach() argument
81 struct amdgpu_device *attach_adev = dma_buf_attach_adev(attach); in amdgpu_dma_buf_attach()
97 attach->peer2peer = false; in amdgpu_dma_buf_attach()
[all …]
/linux/drivers/dma-buf/
H A Ddma-buf.c910 dma_buf_attachment_is_dynamic(struct dma_buf_attachment *attach) in dma_buf_attachment_is_dynamic() argument
912 return !!attach->importer_ops; in dma_buf_attachment_is_dynamic()
916 dma_buf_pin_on_map(struct dma_buf_attachment *attach) in dma_buf_pin_on_map() argument
918 return attach->dmabuf->ops->pin && in dma_buf_pin_on_map()
919 (!dma_buf_attachment_is_dynamic(attach) || in dma_buf_pin_on_map()
964 * - &dma_buf_ops.attach()
989 * @dmabuf: [in] buffer to attach device to.
997 * Optionally this calls &dma_buf_ops.attach to allow device-specific attach
1014 struct dma_buf_attachment *attach; in dma_buf_dynamic_attach() local
1023 attach = kzalloc_obj(*attach); in dma_buf_dynamic_attach()
[all …]
H A Ddma-buf-mapping.c73 * @attach: [in] attachment whose scatterlist is to be returned
92 struct sg_table *dma_buf_phys_vec_to_sgt(struct dma_buf_attachment *attach, in dma_buf_phys_vec_to_sgt() argument
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()
115 switch (pci_p2pdma_map_type(provider, attach->dev)) { in dma_buf_phys_vec_to_sgt()
128 dma_iova_try_alloc(attach->dev, dma->state, 0, size); in dma_buf_phys_vec_to_sgt()
147 ret = dma_iova_link(attach->dev, dma->state, in dma_buf_phys_vec_to_sgt()
156 addr = dma_map_phys(attach->dev, phys_vec[i].paddr, in dma_buf_phys_vec_to_sgt()
159 ret = dma_mapping_error(attach->dev, addr); in dma_buf_phys_vec_to_sgt()
170 ret = dma_iova_sync(attach->dev, dma->state, 0, mapped_len); in dma_buf_phys_vec_to_sgt()
[all …]
/linux/drivers/infiniband/core/
H A Dumem_dmabuf.c24 dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); in ib_umem_dmabuf_map_pages()
32 sgt = dma_buf_map_attachment(umem_dmabuf->attach, in ib_umem_dmabuf_map_pages()
75 ret = dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, in ib_umem_dmabuf_map_pages()
88 dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); in ib_umem_dmabuf_unmap_pages()
109 dma_buf_unmap_attachment(umem_dmabuf->attach, umem_dmabuf->sgt, in ib_umem_dmabuf_unmap_pages()
155 umem_dmabuf->attach = dma_buf_dynamic_attach( in ib_umem_dmabuf_get_with_dma_device()
160 if (IS_ERR(umem_dmabuf->attach)) { in ib_umem_dmabuf_get_with_dma_device()
161 ret = ERR_CAST(umem_dmabuf->attach); in ib_umem_dmabuf_get_with_dma_device()
185 ib_umem_dmabuf_unsupported_move_notify(struct dma_buf_attachment *attach) in ib_umem_dmabuf_unsupported_move_notify() argument
187 struct ib_umem_dmabuf *umem_dmabuf = attach->importer_priv; in ib_umem_dmabuf_unsupported_move_notify()
[all …]
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dcgroup_getset_retval.c30 /* Attach setsockopt that sets EUNATCH, assert that in test_setsockopt_set()
35 if (!ASSERT_OK_PTR(link_set_eunatch, "cg-attach-set_eunatch")) in test_setsockopt_set()
66 /* Attach setsockopt that sets EUNATCH, and one that gets the in test_setsockopt_set_and_get()
71 if (!ASSERT_OK_PTR(link_set_eunatch, "cg-attach-set_eunatch")) in test_setsockopt_set_and_get()
75 if (!ASSERT_OK_PTR(link_get_retval, "cg-attach-get_retval")) in test_setsockopt_set_and_get()
109 /* Attach setsockopt that gets the previously set errno. in test_setsockopt_default_zero()
114 if (!ASSERT_OK_PTR(link_get_retval, "cg-attach-get_retval")) in test_setsockopt_default_zero()
145 /* Attach setsockopt that gets the previously set errno, and then in test_setsockopt_default_zero_and_set()
151 if (!ASSERT_OK_PTR(link_get_retval, "cg-attach-get_retval")) in test_setsockopt_default_zero_and_set()
155 if (!ASSERT_OK_PTR(link_set_eunatch, "cg-attach-set_eunatch")) in test_setsockopt_default_zero_and_set()
[all …]
H A Dcg_storage_multi.c102 /* Attach to parent cgroup, trigger packet from child. in test_egress_only()
109 if (!ASSERT_OK_PTR(parent_link, "parent-cg-attach")) in test_egress_only()
126 /* Attach to parent and child cgroup, trigger packet from child. in test_egress_only()
132 if (!ASSERT_OK_PTR(child_link, "child-cg-attach")) in test_egress_only()
172 /* Attach to parent cgroup, trigger packet from child. in test_isolated()
179 if (!ASSERT_OK_PTR(parent_egress1_link, "parent-egress1-cg-attach")) in test_isolated()
183 if (!ASSERT_OK_PTR(parent_egress2_link, "parent-egress2-cg-attach")) in test_isolated()
187 if (!ASSERT_OK_PTR(parent_ingress_link, "parent-ingress-cg-attach")) in test_isolated()
214 /* Attach to parent and child cgroup, trigger packet from child. in test_isolated()
221 if (!ASSERT_OK_PTR(child_egress1_link, "child-egress1-cg-attach")) in test_isolated()
[all …]
H A Dcgroup_attach_override.c48 "attach prog to %s failed, errno=%d\n", FOO, errno)) in serial_test_cgroup_attach_override()
66 "attach prog to %s failed, errno=%d\n", BAR, errno)) in serial_test_cgroup_attach_override()
84 "attach prog to %s failed, errno=%d\n", BAR, errno)) in serial_test_cgroup_attach_override()
98 "attach prog to %s failed, errno=%d\n", BAR, errno)) in serial_test_cgroup_attach_override()
103 "attach prog to %s unexpectedly succeeded\n", BAR)) in serial_test_cgroup_attach_override()
118 "attach prog to %s failed, errno=%d\n", FOO, errno)) in serial_test_cgroup_attach_override()
123 "attach prog to %s unexpectedly succeeded\n", BAR)) in serial_test_cgroup_attach_override()
129 "attach prog to %s unexpectedly succeeded\n", BAR)) in serial_test_cgroup_attach_override()
135 "attach prog to %s unexpectedly succeeded\n", FOO)) in serial_test_cgroup_attach_override()
140 "attach prog to %s failed, errno=%d\n", FOO, errno)) in serial_test_cgroup_attach_override()
H A Dtrace_ext.c33 /* open/load/attach test_pkt_md_access */ in test_trace_ext()
39 if (CHECK(err, "setup", "classifier/test_pkt_md_access attach failed: %d\n", err)) in test_trace_ext()
50 /* set extension's attach target - test_pkt_md_access */ in test_trace_ext()
54 /* load/attach extension */ in test_trace_ext()
63 if (CHECK(err, "setup", "freplace/test_pkt_md_access attach failed: %d\n", err)) in test_trace_ext()
74 /* set tracing's attach target - fentry */ in test_trace_ext()
78 /* set tracing's attach target - fexit */ in test_trace_ext()
82 /* load/attach tracing */ in test_trace_ext()
91 if (!ASSERT_OK(err, "tracing/test_pkt_md_access_new attach")) in test_trace_ext()
H A Drecursive_attach.c13 * - Recursive loading of tracing progs, without attaching (attach = false,
19 * - Recursive attach of tracing progs (attach = true, detach = false). The
23 * attach fentry1 -> target
26 * - Recursive attach and detach of tracing progs (attach = true, detach =
32 * attach fentry1 -> target
36 static void test_recursive_fentry_chain(bool attach, bool detach) in test_recursive_fentry_chain() argument
69 /* The first attach should succeed, the second fail */ in test_recursive_fentry_chain()
74 if (attach) { in test_recursive_fentry_chain()
101 if (test__start_subtest("attach")) in test_recursive_fentry()
/linux/drivers/media/common/videobuf2/
H A Dvideobuf2-vmalloc.c215 struct vb2_vmalloc_attachment *attach; in vb2_vmalloc_dmabuf_ops_attach() local
224 attach = kzalloc_obj(*attach); in vb2_vmalloc_dmabuf_ops_attach()
225 if (!attach) in vb2_vmalloc_dmabuf_ops_attach()
228 sgt = &attach->sgt; in vb2_vmalloc_dmabuf_ops_attach()
231 kfree(attach); in vb2_vmalloc_dmabuf_ops_attach()
239 kfree(attach); in vb2_vmalloc_dmabuf_ops_attach()
246 attach->dma_dir = DMA_NONE; in vb2_vmalloc_dmabuf_ops_attach()
247 dbuf_attach->priv = attach; in vb2_vmalloc_dmabuf_ops_attach()
254 struct vb2_vmalloc_attachment *attach = db_attach->priv; in vb2_vmalloc_dmabuf_ops_detach() local
257 if (!attach) in vb2_vmalloc_dmabuf_ops_detach()
[all …]
H A Dvideobuf2-dma-sg.c371 struct vb2_dma_sg_attachment *attach; in vb2_dma_sg_dmabuf_ops_attach() local
378 attach = kzalloc_obj(*attach); in vb2_dma_sg_dmabuf_ops_attach()
379 if (!attach) in vb2_dma_sg_dmabuf_ops_attach()
382 sgt = &attach->sgt; in vb2_dma_sg_dmabuf_ops_attach()
388 kfree(attach); in vb2_dma_sg_dmabuf_ops_attach()
400 attach->dma_dir = DMA_NONE; in vb2_dma_sg_dmabuf_ops_attach()
401 dbuf_attach->priv = attach; in vb2_dma_sg_dmabuf_ops_attach()
409 struct vb2_dma_sg_attachment *attach = db_attach->priv; in vb2_dma_sg_dmabuf_ops_detach() local
412 if (!attach) in vb2_dma_sg_dmabuf_ops_detach()
415 sgt = &attach->sgt; in vb2_dma_sg_dmabuf_ops_detach()
[all …]
/linux/drivers/xen/
H A Dgntdev-dmabuf.c48 struct dma_buf_attachment *attach; member
221 struct dma_buf_attachment *attach) in dmabuf_exp_ops_attach() argument
230 attach->priv = gntdev_dmabuf_attach; in dmabuf_exp_ops_attach()
235 struct dma_buf_attachment *attach) in dmabuf_exp_ops_detach() argument
237 struct gntdev_dmabuf_attachment *gntdev_dmabuf_attach = attach->priv; in dmabuf_exp_ops_detach()
244 dma_unmap_sgtable(attach->dev, sgt, in dmabuf_exp_ops_detach()
252 attach->priv = NULL; in dmabuf_exp_ops_detach()
257 dmabuf_exp_ops_map_dma_buf(struct dma_buf_attachment *attach, in dmabuf_exp_ops_map_dma_buf() argument
260 struct gntdev_dmabuf_attachment *gntdev_dmabuf_attach = attach->priv; in dmabuf_exp_ops_map_dma_buf()
261 struct gntdev_dmabuf *gntdev_dmabuf = attach->dmabuf->priv; in dmabuf_exp_ops_map_dma_buf()
[all …]
/linux/Documentation/bpf/
H A Dmap_cgroup_storage.rst10 attach to cgroups; the programs are made available by the same Kconfig. The
34 ``attach_type`` is the program's attach type.
37 When this key type is used, then all attach types of the particular cgroup and
39 ``struct bpf_cgroup_storage_key``, then programs of different attach types
133 multiple attach types, and each attach creates a fresh zeroed storage. The
145 does not already contain an entry for the cgroup and attach type pair, or else
146 the old storage is reused for the new attachment. If the map is attach type
147 shared, then attach type is simply ignored during comparison. Storage is freed
158 In all versions, userspace may use the attach parameters of cgroup and
159 attach type pair in ``struct bpf_cgroup_storage_key`` as the key to the BPF map
[all …]
/linux/drivers/iommu/iommufd/
H A Ddevice.c355 struct iommufd_attach *attach; in iommufd_group_device_num() local
362 attach = xa_load(&igroup->pasid_attach, pasid); in iommufd_group_device_num()
363 if (attach) in iommufd_group_device_num()
364 xa_for_each(&attach->device_array, index, idev) in iommufd_group_device_num()
438 /* The device attach/detach/replace helpers for attach_handle */
443 struct iommufd_attach *attach; in iommufd_device_is_attached() local
445 attach = xa_load(&idev->igroup->pasid_attach, pasid); in iommufd_device_is_attached()
446 return xa_load(&attach->device_array, idev->obj.id); in iommufd_device_is_attached()
465 struct iommufd_attach *attach; in iommufd_hwpt_pasid_compat() local
470 attach = xa_load(&igroup->pasid_attach, IOMMU_NO_PASID); in iommufd_hwpt_pasid_compat()
[all …]
/linux/drivers/vfio/
H A Ddevice_cdev.c197 struct vfio_device_attach_iommufd_pt attach; in vfio_df_ioctl_attach_pt() local
204 if (copy_from_user(&attach, arg, minsz)) in vfio_df_ioctl_attach_pt()
207 if (attach.argsz < minsz) in vfio_df_ioctl_attach_pt()
210 if (attach.flags & ~VFIO_DEVICE_ATTACH_PASID) in vfio_df_ioctl_attach_pt()
213 if (attach.flags & VFIO_DEVICE_ATTACH_PASID) { in vfio_df_ioctl_attach_pt()
220 if (attach.argsz < xend) in vfio_df_ioctl_attach_pt()
223 if (copy_from_user((void *)&attach + minsz, in vfio_df_ioctl_attach_pt()
229 if (attach.flags & VFIO_DEVICE_ATTACH_PASID) in vfio_df_ioctl_attach_pt()
231 attach.pasid, in vfio_df_ioctl_attach_pt()
232 &attach.pt_id); in vfio_df_ioctl_attach_pt()
[all …]
/linux/drivers/gpu/drm/tegra/
H A Dgem.c82 map->attach = dma_buf_attach(buf, dev); in tegra_bo_pin()
83 if (IS_ERR(map->attach)) { in tegra_bo_pin()
84 err = PTR_ERR(map->attach); in tegra_bo_pin()
88 map->sgt = dma_buf_map_attachment_unlocked(map->attach, direction); in tegra_bo_pin()
90 dma_buf_detach(buf, map->attach); in tegra_bo_pin()
163 if (map->attach) { in tegra_bo_unpin()
164 dma_buf_unmap_attachment_unlocked(map->attach, map->sgt, in tegra_bo_unpin()
166 dma_buf_detach(map->attach->dmabuf, map->attach); in tegra_bo_unpin()
460 struct dma_buf_attachment *attach; in tegra_bo_import() local
473 attach = dma_buf_attach(buf, drm->dev); in tegra_bo_import()
[all …]
/linux/tools/usb/usbip/doc/
H A Dusbip.829 Connect to PORT on remote host (used for attach and list --remote).
47 \fBattach\fR \-\-remote=<\fIhost\fR> \-\-busid=<\fIbus_id\fR>
49 Attach a remote USB device.
53 \fBattach\fR \-\-remote=<\fIhost\fR> \-\-device=<\fIdev_id\fR>
55 Attach a remote USB gadget.
111 client:# usbip attach --remote=server --busid=1-2
127 client:# usbip attach --remote=server --device=usbip-vudc.0
/linux/tools/bpf/bpftool/Documentation/
H A Dbpftool-cgroup.rst22 { **show** | **list** | **tree** | **attach** | **detach** | **help** }
29 | **bpftool** **cgroup attach** *CGROUP* *ATTACH_TYPE* *PROG* [*ATTACH_FLAGS*]
55 Output will start with program ID followed by attach type, attach flags and
67 with absolute cgroup path, followed by program ID, attach type, attach
74 bpftool cgroup attach *CGROUP* *ATTACH_TYPE* *PROG* [*ATTACH_FLAGS*]
75 Attach program *PROG* to the cgroup *CGROUP* with attach type *ATTACH_TYPE*
83 Only one program is allowed to be attached to a cgroup with no attach flags
85 program and attach the new one.
125 Detach *PROG* from the cgroup *CGROUP* and attach type *ATTACH_TYPE*.
143 | **# bpftool cgroup attach /sys/fs/cgroup/test.slice/ device id 1 allow_multi**
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_dmabuf.c27 static struct sg_table *i915_gem_map_dma_buf(struct dma_buf_attachment *attach, in i915_gem_map_dma_buf() argument
30 struct drm_i915_gem_object *obj = dma_buf_to_obj(attach->dmabuf); in i915_gem_map_dma_buf()
55 ret = dma_map_sgtable(attach->dev, sgt, dir, DMA_ATTR_SKIP_CPU_SYNC); in i915_gem_map_dma_buf()
167 struct dma_buf_attachment *attach) in i915_gem_dmabuf_attach() argument
196 struct dma_buf_attachment *attach) in i915_gem_dmabuf_detach() argument
204 .attach = i915_gem_dmabuf_attach,
285 struct dma_buf_attachment *attach; in i915_gem_prime_import() local
306 /* need to attach */ in i915_gem_prime_import()
307 attach = dma_buf_attach(dma_buf, dev->dev); in i915_gem_prime_import()
308 if (IS_ERR(attach)) in i915_gem_prime_import()
[all …]
/linux/drivers/media/usb/cx231xx/
H A Dcx231xx-dvb.c381 dev_err(dev->dev, "%s/2: dvb frontend not attached. Can't attach xc5000\n",
388 dev_err(dev->dev, "%s/2: xc5000 attach failed\n", dev->name);
657 "Failed to attach s5h1432 front end\n"); in dvb_init()
682 "Failed to attach s5h1411 front end\n"); in dvb_init()
705 "Failed to attach s5h1432 front end\n"); in dvb_init()
729 "Failed to attach s5h1411 front end\n"); in dvb_init()
756 "Failed to attach LG3305 front end\n"); in dvb_init()
773 /* attach demod */ in dvb_init()
778 /* perform probe/init/attach */ in dvb_init()
805 /* attach demod */ in dvb_init()
[all …]
/linux/tools/perf/tests/
H A Devent-times.c161 static int test_times(int (attach)(struct evlist *), in test_times()
186 err = attach(evlist); in test_times()
193 TEST_ASSERT_VAL("failed to attach", !err); in test_times()
222 #define _T(attach, detach) \ in test__event_times() argument
223 err = test_times(attach, detach); \ in test__event_times()
227 /* attach on newly spawned process after exec */ in test__event_times()
229 /* attach on current process as enabled */ in test__event_times()
231 /* attach on current process as disabled */ in test__event_times()
233 /* attach on cpu as disabled */ in test__event_times()
235 /* attach on cpu as enabled */ in test__event_times()
/linux/drivers/virtio/
H A Dvirtio_dma_buf.c28 exp_info->ops->attach != &virtio_dma_buf_attach || in virtio_dma_buf_export()
38 * virtio_dma_buf_attach - mandatory attach callback for virtio dma-bufs
39 * @dma_buf: [in] buffer to attach
40 * @attach: [in] attachment structure
43 struct dma_buf_attachment *attach) in virtio_dma_buf_attach() argument
51 ret = ops->device_attach(dma_buf, attach); in virtio_dma_buf_attach()
65 return dma_buf->ops->attach == &virtio_dma_buf_attach; in is_virtio_dma_buf()
/linux/drivers/gpu/drm/
H A Ddrm_prime.c563 * Optional pinning of buffers is handled at dma-buf attach and detach time in
591 * drm_gem_map_attach - dma_buf attach implementation for GEM
592 * @dma_buf: buffer to attach device to
593 * @attach: buffer attachment data
596 * used as the &dma_buf_ops.attach callback. Must be used together with
602 struct dma_buf_attachment *attach) in drm_gem_map_attach() argument
631 * @attach: attachment to be detached
638 struct dma_buf_attachment *attach) in drm_gem_map_detach() argument
656 * @attach: attachment whose scatterlist is to be returned
666 struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach, in drm_gem_map_dma_buf() argument
[all …]

12345678910>>...64