| /linux/drivers/gpu/drm/virtio/ |
| H A D | virtgpu_prime.c | 49 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/amd/amdgpu/ |
| H A D | amdgpu_dma_buf.c | 57 static struct amdgpu_device *dma_buf_attach_adev(struct dma_buf_attachment *attach) in dma_buf_attach_adev() argument 59 if (attach->importer_ops == &amdgpu_dma_buf_attach_ops) { in dma_buf_attach_adev() 60 struct drm_gem_object *obj = attach->importer_priv; in dma_buf_attach_adev() 78 struct dma_buf_attachment *attach) in amdgpu_dma_buf_attach() argument 80 struct amdgpu_device *attach_adev = dma_buf_attach_adev(attach); in amdgpu_dma_buf_attach() 96 attach->peer2peer = false; in amdgpu_dma_buf_attach() 108 attach->peer2peer = false; in amdgpu_dma_buf_attach() 111 pci_p2pdma_distance(adev->pdev, attach->dev, false) < 0) in amdgpu_dma_buf_attach() 112 attach->peer2peer = false; in amdgpu_dma_buf_attach() 132 static int amdgpu_dma_buf_pin(struct dma_buf_attachment *attach) in amdgpu_dma_buf_pin() argument [all …]
|
| /linux/drivers/infiniband/core/ |
| H A D | umem_dmabuf.c | 24 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() 158 umem_dmabuf->attach = dma_buf_dynamic_attach( in ib_umem_dmabuf_get_with_dma_device() 163 if (IS_ERR(umem_dmabuf->attach)) { in ib_umem_dmabuf_get_with_dma_device() 164 ret = ERR_CAST(umem_dmabuf->attach); in ib_umem_dmabuf_get_with_dma_device() 188 ib_umem_dmabuf_unsupported_move_notify(struct dma_buf_attachment *attach) in ib_umem_dmabuf_unsupported_move_notify() argument 190 struct ib_umem_dmabuf *umem_dmabuf = attach->importer_priv; in ib_umem_dmabuf_unsupported_move_notify() [all …]
|
| /linux/drivers/media/common/videobuf2/ |
| H A D | videobuf2-vmalloc.c | 215 struct vb2_vmalloc_attachment *attach; in vb2_vmalloc_dmabuf_ops_attach() local 224 attach = kzalloc(sizeof(*attach), GFP_KERNEL); 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 …]
|
| /linux/drivers/dma-buf/ |
| H A D | dma-buf-mapping.c | 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() 197 dma_iova_destroy(attach->dev, dma->state, mapped_len, dir, in dma_buf_phys_vec_to_sgt() [all …]
|
| /linux/drivers/xen/ |
| H A D | gntdev-dmabuf.c | 48 struct dma_buf_attachment *attach; member 221 struct dma_buf_attachment *attach) in dmabuf_exp_ops_attach() argument 231 attach->priv = gntdev_dmabuf_attach; in dmabuf_exp_ops_attach() 236 struct dma_buf_attachment *attach) in dmabuf_exp_ops_detach() argument 238 struct gntdev_dmabuf_attachment *gntdev_dmabuf_attach = attach->priv; in dmabuf_exp_ops_detach() 245 dma_unmap_sgtable(attach->dev, sgt, in dmabuf_exp_ops_detach() 253 attach->priv = NULL; in dmabuf_exp_ops_detach() 258 dmabuf_exp_ops_map_dma_buf(struct dma_buf_attachment *attach, in dmabuf_exp_ops_map_dma_buf() argument 261 struct gntdev_dmabuf_attachment *gntdev_dmabuf_attach = attach->priv; in dmabuf_exp_ops_map_dma_buf() 262 struct gntdev_dmabuf *gntdev_dmabuf = attach->dmabuf->priv; in dmabuf_exp_ops_map_dma_buf() [all …]
|
| /linux/drivers/iommu/iommufd/ |
| H A D | device.c | 355 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() 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() 471 if (attach && attach->hwpt && !attach->hwpt->pasid_compat) in iommufd_hwpt_pasid_compat() [all …]
|
| /linux/include/linux/ |
| H A D | dma-buf.h | 64 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); 478 void (*move_notify)(struct dma_buf_attachment *attach); 589 struct dma_buf_attachment *attach); 590 int dma_buf_pin(struct dma_buf_attachment *attach); 591 void dma_buf_unpin(struct dma_buf_attachment *attach); 609 dma_buf_map_attachment_unlocked(struct dma_buf_attachment *attach, 611 void dma_buf_unmap_attachment_unlocked(struct dma_buf_attachment *attach,
|
| /linux/drivers/gpu/drm/omapdrm/ |
| H A D | omap_gem_dmabuf.c | 100 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/vfio/ |
| H A D | device_cdev.c | 197 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/i915/gem/ |
| H A D | i915_gem_dmabuf.c | 27 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/tools/bpf/bpftool/Documentation/ |
| H A D | bpftool-cgroup.rst | 22 { **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 D | bpftool-net.rst | 21 *COMMANDS* := { **show** | **list** | **attach** | **detach** | **help** } 27 | **bpftool** **net attach** *ATTACH_TYPE* *PROG* **dev** *NAME* [ **overwrite** ] 61 bpftool net attach *ATTACH_TYPE* *PROG* dev *NAME* [ overwrite ] 78 for attach must be specified. Currently, only XDP-related modes are 157 | **# bpftool net attach xdpdrv id 16 dev enp6s0np0** 166 | **# bpftool net attach xdpdrv id 16 dev enp6s0np0** 167 | **# bpftool net attach xdpdrv id 20 dev enp6s0np0 overwrite** 176 | **# bpftool net attach xdpdrv id 16 dev enp6s0np0** 185 | **# bpftool net attach tcx_ingress name tc_prog dev lo** 195 | **# bpftool net attach tcx_ingress name tc_prog dev lo**
|
| /linux/drivers/gpu/drm/vmwgfx/ |
| H A D | vmwgfx_prime.c | 45 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/drivers/iio/ |
| H A D | industrialio-buffer.c | 53 struct dma_buf_attachment *attach; member 1562 struct dma_buf_attachment *attach = priv->attach; in iio_buffer_dmabuf_release() local 1564 struct dma_buf *dmabuf = attach->dmabuf; in iio_buffer_dmabuf_release() 1566 dma_buf_unmap_attachment_unlocked(attach, priv->sgt, priv->dir); in iio_buffer_dmabuf_release() 1570 dma_buf_detach(attach->dmabuf, attach); in iio_buffer_dmabuf_release() 1575 static void iio_buffer_dmabuf_get(struct dma_buf_attachment *attach) in iio_buffer_dmabuf_get() argument 1577 struct iio_dmabuf_priv *priv = attach->importer_priv; in iio_buffer_dmabuf_get() 1582 static void iio_buffer_dmabuf_put(struct dma_buf_attachment *attach) in iio_buffer_dmabuf_put() argument 1584 struct iio_dmabuf_priv *priv = attach->importer_priv; in iio_buffer_dmabuf_put() 1603 iio_buffer_dmabuf_put(priv->attach); in iio_buffer_chrdev_release() [all …]
|
| /linux/drivers/virtio/ |
| H A D | virtio_dma_buf.c | 28 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 D | map_cgroup_storage.rst | 10 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/ |
| H A D | drm_gem_dma_helper.c | 467 struct dma_buf_attachment *attach, in drm_gem_dma_prime_import_sg_table() argument 473 if (drm_prime_get_contiguous_size(sgt) < attach->dmabuf->size) in drm_gem_dma_prime_import_sg_table() 477 dma_obj = __drm_gem_dma_create(dev, attach->dmabuf->size, true); in drm_gem_dma_prime_import_sg_table() 485 attach->dmabuf->size); in drm_gem_dma_prime_import_sg_table() 579 struct dma_buf_attachment *attach, in drm_gem_dma_prime_import_sg_table_vmap() argument 587 ret = dma_buf_vmap_unlocked(attach->dmabuf, &map); in drm_gem_dma_prime_import_sg_table_vmap() 593 obj = drm_gem_dma_prime_import_sg_table(dev, attach, sgt); in drm_gem_dma_prime_import_sg_table_vmap() 595 dma_buf_vunmap_unlocked(attach->dmabuf, &map); in drm_gem_dma_prime_import_sg_table_vmap()
|
| /linux/samples/bpf/ |
| H A D | tcp_bpf.readme | 2 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 D | xdp_fwd_user.c | 129 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 D | flow_dissector_load.c | 62 bool attach = false; in parse_opts() local 71 attach = true; in parse_opts() 74 if (attach) in parse_opts()
|
| /linux/security/apparmor/ |
| H A D | domain.c | 317 struct aa_attachment *attach = &profile->attach; in aa_xattrs_match() local 318 int size, value_size = 0, ret = attach->xattr_count; in aa_xattrs_match() 320 if (!bprm || !attach->xattr_count) in aa_xattrs_match() 325 state = aa_dfa_outofband_transition(attach->xmatch->dfa, state); in aa_xattrs_match() 328 for (i = 0; i < attach->xattr_count; i++) { in aa_xattrs_match() 329 size = vfs_getxattr_alloc(&nop_mnt_idmap, d, attach->xattrs[i], in aa_xattrs_match() 339 state = aa_dfa_null_transition(attach->xmatch->dfa, in aa_xattrs_match() 342 state = aa_dfa_match_len(attach->xmatch->dfa, state, in aa_xattrs_match() 344 perms = aa_lookup_perms(attach->xmatch, state); in aa_xattrs_match() 351 state = aa_dfa_outofband_transition(attach->xmatch->dfa, state); in aa_xattrs_match() [all …]
|
| /linux/drivers/nvdimm/ |
| H A D | claim.c | 43 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 D | radeon_prime.c | 46 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()
|
| /linux/tools/testing/selftests/drivers/usb/usbip/ |
| H A D | usbip_test.sh | 125 src/usbip attach -r localhost -b $busid; 141 src/usbip attach -r localhost -b $busid; 153 src/usbip attach -r localhost -b $busid;
|