Lines Matching full:attach
73 * @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()
197 dma_iova_destroy(attach->dev, dma->state, mapped_len, dir, in dma_buf_phys_vec_to_sgt()
201 dma_unmap_phys(attach->dev, sg_dma_address(sgl), in dma_buf_phys_vec_to_sgt()
215 * @attach: [in] attachment to unmap buffer from
222 void dma_buf_free_sgt(struct dma_buf_attachment *attach, struct sg_table *sgt, in dma_buf_free_sgt() argument
228 dma_resv_assert_held(attach->dmabuf->resv); in dma_buf_free_sgt()
233 dma_iova_destroy(attach->dev, dma->state, dma->size, dir, in dma_buf_free_sgt()
239 dma_unmap_phys(attach->dev, sg_dma_address(sgl), in dma_buf_free_sgt()