Home
last modified time | relevance | path

Searched refs:attach (Results 1 – 25 of 323) sorted by relevance

12345678910>>...13

/linux/drivers/gpu/drm/virtio/
H A Dvirtgpu_prime.c50 virtgpu_gem_map_dma_buf(struct dma_buf_attachment *attach, in virtgpu_gem_map_dma_buf() argument
53 struct drm_gem_object *obj = attach->dmabuf->priv; in virtgpu_gem_map_dma_buf()
57 return virtio_gpu_vram_map_dma_buf(bo, attach->dev, dir); in virtgpu_gem_map_dma_buf()
59 return drm_gem_map_dma_buf(attach, dir); in virtgpu_gem_map_dma_buf()
62 static void virtgpu_gem_unmap_dma_buf(struct dma_buf_attachment *attach, in virtgpu_gem_unmap_dma_buf() argument
66 struct drm_gem_object *obj = attach->dmabuf->priv; in virtgpu_gem_unmap_dma_buf()
70 virtio_gpu_vram_unmap_dma_buf(attach->dev, sgt, dir); in virtgpu_gem_unmap_dma_buf()
74 drm_gem_unmap_dma_buf(attach, sgt, dir); in virtgpu_gem_unmap_dma_buf()
79 .attach = virtio_dma_buf_attach,
150 struct dma_buf_attachment *attach) in virtgpu_dma_buf_import_sgt() argument
[all …]
/linux/drivers/dma-buf/
H A Ddma-buf.c933 dma_buf_attachment_is_dynamic(struct dma_buf_attachment *attach) in dma_buf_attachment_is_dynamic() argument
935 return !!attach->importer_ops; in dma_buf_attachment_is_dynamic()
939 dma_buf_pin_on_map(struct dma_buf_attachment *attach) in dma_buf_pin_on_map() argument
941 return attach->dmabuf->ops->pin && in dma_buf_pin_on_map()
942 !dma_buf_attachment_is_dynamic(attach); in dma_buf_pin_on_map()
1036 struct dma_buf_attachment *attach; in dma_buf_dynamic_attach() local
1042 attach = kzalloc_obj(*attach); in dma_buf_dynamic_attach()
1043 if (!attach) in dma_buf_dynamic_attach()
1046 attach->dev = dev; in dma_buf_dynamic_attach()
1047 attach->dmabuf = dmabuf; in dma_buf_dynamic_attach()
[all …]
H A Ddma-buf-mapping.c100 struct sg_table *dma_buf_phys_vec_to_sgt(struct dma_buf_attachment *attach, in dma_buf_phys_vec_to_sgt() argument
114 dma_resv_assert_held(attach->dmabuf->resv); in dma_buf_phys_vec_to_sgt()
116 if (WARN_ON(!attach || !attach->dmabuf || !provider)) in dma_buf_phys_vec_to_sgt()
124 switch (pci_p2pdma_map_type(provider, attach->dev)) { in dma_buf_phys_vec_to_sgt()
137 dma_iova_try_alloc(attach->dev, dma->state, 0, size); in dma_buf_phys_vec_to_sgt()
158 ret = dma_iova_link(attach->dev, dma->state, in dma_buf_phys_vec_to_sgt()
167 addr = dma_map_phys(attach->dev, phys_vec[i].paddr, in dma_buf_phys_vec_to_sgt()
170 ret = dma_mapping_error(attach->dev, addr); in dma_buf_phys_vec_to_sgt()
181 ret = dma_iova_sync(attach->dev, dma->state, 0, mapped_len); in dma_buf_phys_vec_to_sgt()
208 dma_iova_destroy(attach->dev, dma->state, mapped_len, dir, in dma_buf_phys_vec_to_sgt()
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_dma_buf.c59 static struct amdgpu_device *dma_buf_attach_adev(struct dma_buf_attachment *attach) in dma_buf_attach_adev() argument
61 if (attach->importer_ops == &amdgpu_dma_buf_attach_ops) { in dma_buf_attach_adev()
62 struct drm_gem_object *obj = attach->importer_priv; in dma_buf_attach_adev()
80 struct dma_buf_attachment *attach) in amdgpu_dma_buf_attach() argument
82 struct amdgpu_device *attach_adev = dma_buf_attach_adev(attach); in amdgpu_dma_buf_attach()
98 attach->peer2peer = false; in amdgpu_dma_buf_attach()
101 pci_p2pdma_distance(adev->pdev, attach->dev, false) < 0) in amdgpu_dma_buf_attach()
102 attach->peer2peer = false; in amdgpu_dma_buf_attach()
109 if (attach->peer2peer) { in amdgpu_dma_buf_attach()
114 attach->peer2peer = false; in amdgpu_dma_buf_attach()
[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/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-contig.c321 struct vb2_dc_attachment *attach; in vb2_dc_dmabuf_ops_attach() local
328 attach = kzalloc_obj(*attach); in vb2_dc_dmabuf_ops_attach()
329 if (!attach) in vb2_dc_dmabuf_ops_attach()
332 sgt = &attach->sgt; in vb2_dc_dmabuf_ops_attach()
338 kfree(attach); in vb2_dc_dmabuf_ops_attach()
350 attach->dma_dir = DMA_NONE; in vb2_dc_dmabuf_ops_attach()
351 dbuf_attach->priv = attach; in vb2_dc_dmabuf_ops_attach()
359 struct vb2_dc_attachment *attach = db_attach->priv; in vb2_dc_dmabuf_ops_detach() local
362 if (!attach) in vb2_dc_dmabuf_ops_detach()
365 sgt = &attach->sgt; in vb2_dc_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/include/linux/
H A Ddma-buf.h64 int (*attach)(struct dma_buf *, struct dma_buf_attachment *); member
101 int (*pin)(struct dma_buf_attachment *attach);
114 void (*unpin)(struct dma_buf_attachment *attach);
462 void (*invalidate_mappings)(struct dma_buf_attachment *attach);
563 struct dma_buf_attachment *attach);
564 int dma_buf_pin(struct dma_buf_attachment *attach);
565 void dma_buf_unpin(struct dma_buf_attachment *attach);
579 bool dma_buf_attach_revocable(struct dma_buf_attachment *attach);
585 dma_buf_map_attachment_unlocked(struct dma_buf_attachment *attach,
587 void dma_buf_unmap_attachment_unlocked(struct dma_buf_attachment *attach,
/linux/drivers/iommu/iommufd/
H A Ddevice.c421 struct iommufd_attach *attach; in iommufd_group_device_num() local
428 attach = xa_load(&igroup->pasid_attach, pasid); in iommufd_group_device_num()
429 if (attach) in iommufd_group_device_num()
430 xa_for_each(&attach->device_array, index, idev) in iommufd_group_device_num()
509 struct iommufd_attach *attach; in iommufd_device_is_attached() local
511 attach = xa_load(&idev->igroup->pasid_attach, pasid); in iommufd_device_is_attached()
512 return xa_load(&attach->device_array, idev->obj.id); in iommufd_device_is_attached()
531 struct iommufd_attach *attach; in iommufd_hwpt_pasid_compat() local
536 attach = xa_load(&igroup->pasid_attach, IOMMU_NO_PASID); in iommufd_hwpt_pasid_compat()
537 if (attach && attach->hwpt && !attach->hwpt->pasid_compat) in iommufd_hwpt_pasid_compat()
[all …]
/linux/drivers/gpu/drm/omapdrm/
H A Domap_gem_dmabuf.c100 struct dma_buf_attachment *attach; in omap_gem_prime_import() local
117 attach = dma_buf_attach(dma_buf, dev->dev); in omap_gem_prime_import()
118 if (IS_ERR(attach)) in omap_gem_prime_import()
119 return ERR_CAST(attach); in omap_gem_prime_import()
123 sgt = dma_buf_map_attachment_unlocked(attach, DMA_TO_DEVICE); in omap_gem_prime_import()
135 obj->import_attach = attach; in omap_gem_prime_import()
140 dma_buf_unmap_attachment_unlocked(attach, sgt, DMA_TO_DEVICE); in omap_gem_prime_import()
142 dma_buf_detach(dma_buf, attach); in omap_gem_prime_import()
/linux/drivers/gpu/drm/
H A Ddrm_prime.c602 struct dma_buf_attachment *attach) in drm_gem_map_attach() argument
638 struct dma_buf_attachment *attach) in drm_gem_map_detach() argument
666 struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach, in drm_gem_map_dma_buf() argument
669 struct drm_gem_object *obj = attach->dmabuf->priv; in drm_gem_map_dma_buf()
683 ret = dma_map_sgtable(attach->dev, sgt, dir, in drm_gem_map_dma_buf()
703 void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach, in drm_gem_unmap_dma_buf() argument
710 dma_unmap_sgtable(attach->dev, sgt, dir, DMA_ATTR_SKIP_CPU_SYNC); in drm_gem_unmap_dma_buf()
828 .attach = drm_gem_map_attach,
972 struct dma_buf_attachment *attach; in drm_gem_prime_import_dev() local
990 attach = dma_buf_attach(dma_buf, attach_dev); in drm_gem_prime_import_dev()
[all …]
/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
307 attach = dma_buf_attach(dma_buf, dev->dev); in i915_gem_prime_import()
308 if (IS_ERR(attach)) in i915_gem_prime_import()
309 return ERR_CAST(attach); in i915_gem_prime_import()
[all …]
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_prime.c45 struct dma_buf_attachment *attach) in vmw_prime_map_attach() argument
51 struct dma_buf_attachment *attach) in vmw_prime_map_detach() argument
55 static struct sg_table *vmw_prime_map_dma_buf(struct dma_buf_attachment *attach, in vmw_prime_map_dma_buf() argument
61 static void vmw_prime_unmap_dma_buf(struct dma_buf_attachment *attach, in vmw_prime_unmap_dma_buf() argument
68 .attach = vmw_prime_map_attach,
/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**
H A Dbpftool-net.rst21 *COMMANDS* := { **show** | **list** | **attach** | **detach** | **help** }
27 | **bpftool** **net attach** *ATTACH_TYPE* *PROG* **dev** *NAME* [ **overwrite** | **prepend** ]
61 bpftool net attach *ATTACH_TYPE* *PROG* dev *NAME* [ overwrite | prepend ]
73 For XDP-related attach types (**xdp**, **xdpgeneric**, **xdpdrv**,
77 For **tcx_ingress** and **tcx_egress** attach types, the **prepend** option
78 can be used to attach the program at the beginning of the chain instead of
84 for attach must be specified.
162 | **# bpftool net attach xdpdrv id 16 dev enp6s0np0**
171 | **# bpftool net attach xdpdrv id 16 dev enp6s0np0**
172 | **# bpftool net attach xdpdr
[all...]
/linux/drivers/virtio/
H A Dvirtio_dma_buf.c28 exp_info->ops->attach != &virtio_dma_buf_attach || in virtio_dma_buf_export()
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/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/gpu/drm/armada/
H A Darmada_gem.c387 armada_gem_prime_map_dma_buf(struct dma_buf_attachment *attach, in armada_gem_prime_map_dma_buf() argument
390 struct drm_gem_object *obj = attach->dmabuf->priv; in armada_gem_prime_map_dma_buf()
420 if (dma_map_sgtable(attach->dev, sgt, dir, 0)) in armada_gem_prime_map_dma_buf()
429 if (dma_map_sgtable(attach->dev, sgt, dir, 0)) in armada_gem_prime_map_dma_buf()
453 static void armada_gem_prime_unmap_dma_buf(struct dma_buf_attachment *attach, in armada_gem_prime_unmap_dma_buf() argument
456 struct drm_gem_object *obj = attach->dmabuf->priv; in armada_gem_prime_unmap_dma_buf()
461 dma_unmap_sgtable(attach->dev, sgt, dir, 0); in armada_gem_prime_unmap_dma_buf()
503 struct dma_buf_attachment *attach; in armada_gem_prime_import() local
518 attach = dma_buf_attach(buf, dev->dev); in armada_gem_prime_import()
519 if (IS_ERR(attach)) in armada_gem_prime_import()
[all …]
/linux/samples/bpf/
H A Dtcp_bpf.readme2 programs. These programs attach to a cgroupv2. The following commands create
3 a cgroupv2 and attach a bash shell to the group.
12 (attach) one of the tcp_*_kern.o programs:
15 bpftool cgroup attach /tmp/cgroupv2/foo sock_ops pinned /sys/fs/bpf/tcp_prog
H A Dxdp_fwd_user.c129 int attach = 1; in main() local
135 attach = 0; in main()
160 if (attach) { in main()
214 if (!attach) { in main()
/linux/tools/testing/selftests/bpf/
H A Dflow_dissector_load.c62 bool attach = false; in parse_opts() local
71 attach = true; in parse_opts()
74 if (attach) in parse_opts()
/linux/security/apparmor/
H A Ddomain.c322 const struct aa_attachment *attach = &profile->attach; in aa_xattrs_match() local
323 int size, value_size = 0, ret = attach->xattr_count; in aa_xattrs_match()
325 if (!attach->xattr_count) in aa_xattrs_match()
330 state = aa_dfa_outofband_transition(attach->xmatch->dfa, state); in aa_xattrs_match()
333 for (i = 0; i < attach->xattr_count; i++) { in aa_xattrs_match()
334 size = vfs_getxattr_alloc(&nop_mnt_idmap, d, attach->xattrs[i], in aa_xattrs_match()
344 state = aa_dfa_null_transition(attach->xmatch->dfa, in aa_xattrs_match()
347 state = aa_dfa_match_len(attach->xmatch->dfa, state, in aa_xattrs_match()
349 perms = aa_lookup_perms(attach->xmatch, state); in aa_xattrs_match()
356 state = aa_dfa_outofband_transition(attach->xmatch->dfa, state); in aa_xattrs_match()
[all …]
/linux/drivers/nvdimm/
H A Dclaim.c43 bool __nd_attach_ndns(struct device *dev, struct nd_namespace_common *attach, in __nd_attach_ndns() argument
46 struct nvdimm_bus *nvdimm_bus = walk_to_nvdimm_bus(&attach->dev); in __nd_attach_ndns()
48 if (attach->claim) in __nd_attach_ndns()
52 attach->claim = dev; in __nd_attach_ndns()
53 *_ndns = attach; in __nd_attach_ndns()
54 get_device(&attach->dev); in __nd_attach_ndns()
/linux/drivers/gpu/drm/radeon/
H A Dradeon_prime.c46 struct dma_buf_attachment *attach, in radeon_gem_prime_import_sg_table() argument
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()

12345678910>>...13