Lines Matching full:attach

169  * amdgpu_dma_buf_attach - &dma_buf_ops.attach implementation
171 * @dmabuf: DMA-buf where we attach to
172 * @attach: attachment to add
177 struct dma_buf_attachment *attach) in amdgpu_dma_buf_attach() argument
184 if (pci_p2pdma_distance_many(adev->pdev, &attach->dev, 1, true) < 0) in amdgpu_dma_buf_attach()
185 attach->peer2peer = false; in amdgpu_dma_buf_attach()
187 if (attach->dev->driver == adev->dev->driver) in amdgpu_dma_buf_attach()
215 * @attach: the attachment to remove
220 struct dma_buf_attachment *attach) in amdgpu_dma_buf_detach() argument
226 if (attach->dev->driver != adev->dev->driver && bo->prime_shared_count) in amdgpu_dma_buf_detach()
233 * @attach: attachment to pin down
237 static int amdgpu_dma_buf_pin(struct dma_buf_attachment *attach) in amdgpu_dma_buf_pin() argument
239 struct drm_gem_object *obj = attach->dmabuf->priv; in amdgpu_dma_buf_pin()
249 * @attach: attachment to unpin
253 static void amdgpu_dma_buf_unpin(struct dma_buf_attachment *attach) in amdgpu_dma_buf_unpin() argument
255 struct drm_gem_object *obj = attach->dmabuf->priv; in amdgpu_dma_buf_unpin()
263 * @attach: DMA-buf attachment
274 static struct sg_table *amdgpu_dma_buf_map(struct dma_buf_attachment *attach, in amdgpu_dma_buf_map() argument
277 struct dma_buf *dma_buf = attach->dmabuf; in amdgpu_dma_buf_map()
290 attach->peer2peer) { in amdgpu_dma_buf_map()
312 if (dma_map_sgtable(attach->dev, sgt, dir, in amdgpu_dma_buf_map()
318 r = amdgpu_vram_mgr_alloc_sgt(adev, &bo->tbo.mem, attach->dev, in amdgpu_dma_buf_map()
337 * @attach: DMA-buf attachment
344 static void amdgpu_dma_buf_unmap(struct dma_buf_attachment *attach, in amdgpu_dma_buf_unmap() argument
348 struct dma_buf *dma_buf = attach->dmabuf; in amdgpu_dma_buf_unmap()
354 dma_unmap_sgtable(attach->dev, sgt, dir, 0); in amdgpu_dma_buf_unmap()
358 amdgpu_vram_mgr_free_sgt(adev, attach->dev, dir, sgt); in amdgpu_dma_buf_unmap()
403 .attach = amdgpu_dma_buf_attach,
494 * amdgpu_dma_buf_move_notify - &attach.move_notify implementation
496 * @attach: the DMA-buf attachment
502 amdgpu_dma_buf_move_notify(struct dma_buf_attachment *attach) in amdgpu_dma_buf_move_notify() argument
504 struct drm_gem_object *obj = attach->importer_priv; in amdgpu_dma_buf_move_notify()
574 struct dma_buf_attachment *attach; in amdgpu_gem_prime_import() local
593 attach = dma_buf_dynamic_attach(dma_buf, dev->dev, in amdgpu_gem_prime_import()
595 if (IS_ERR(attach)) { in amdgpu_gem_prime_import()
597 return ERR_CAST(attach); in amdgpu_gem_prime_import()
601 obj->import_attach = attach; in amdgpu_gem_prime_import()