This attach function always creates a SGT mapping type importer.
Signed-off-by: Jason Gunthorpe jgg@nvidia.com --- drivers/dma-buf/dma-buf.c | 14 +++++++------- drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 4 ++-- drivers/gpu/drm/virtio/virtgpu_prime.c | 4 ++-- drivers/gpu/drm/xe/xe_dma_buf.c | 3 ++- drivers/infiniband/core/umem_dmabuf.c | 7 ++----- drivers/iommu/iommufd/pages.c | 5 +++-- include/linux/dma-buf.h | 6 +++--- 7 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c index ded9331a493c36..cfb64d27c1a628 100644 --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c @@ -876,7 +876,7 @@ dma_buf_pin_on_map(struct dma_buf_attachment *attach) * functions: * * - dma_buf_sgt_attach() - * - dma_buf_dynamic_attach() + * - dma_buf_sgt_dynamic_attach() * - dma_buf_detach() * - dma_buf_export() * - dma_buf_fd() @@ -1019,7 +1019,7 @@ struct dma_buf_attachment *dma_buf_sgt_attach(struct dma_buf *dmabuf, EXPORT_SYMBOL_NS_GPL(dma_buf_sgt_attach, "DMA_BUF");
/** - * dma_buf_dynamic_attach - Add the device to dma_buf's attachments list + * dma_buf_sgt_dynamic_attach - Add the device to dma_buf's attachments list * @dmabuf: [in] buffer to attach device to. * @dev: [in] device to be attached. * @importer_ops: [in] importer operations for the attachment @@ -1028,9 +1028,9 @@ EXPORT_SYMBOL_NS_GPL(dma_buf_sgt_attach, "DMA_BUF"); * Wrapper to call dma_buf_mapping_attach() for drivers which only support SGT. */ struct dma_buf_attachment * -dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, - const struct dma_buf_attach_ops *importer_ops, - void *importer_priv) +dma_buf_sgt_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, + const struct dma_buf_attach_ops *importer_ops, + void *importer_priv) { struct dma_buf_mapping_match sgt_match[] = { DMA_BUF_IMAPPING_SGT(dev, importer_ops->allow_peer2peer ? @@ -1041,7 +1041,7 @@ dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, return dma_buf_mapping_attach(dmabuf, sgt_match, ARRAY_SIZE(sgt_match), importer_ops, importer_priv); } -EXPORT_SYMBOL_NS_GPL(dma_buf_dynamic_attach, "DMA_BUF"); +EXPORT_SYMBOL_NS_GPL(dma_buf_sgt_dynamic_attach, "DMA_BUF");
/** * dma_buf_detach - Remove the given attachment from dmabuf's attachments list @@ -1072,7 +1072,7 @@ EXPORT_SYMBOL_NS_GPL(dma_buf_detach, "DMA_BUF"); * dma_buf_pin - Lock down the DMA-buf * @attach: [in] attachment which should be pinned * - * Only dynamic importers (who set up @attach with dma_buf_dynamic_attach()) may + * Only dynamic importers (who set up @attach with dma_buf_sgt_dynamic_attach()) may * call this, and only for limited use cases like scanout and not for temporary * pin operations. It is not permitted to allow userspace to pin arbitrary * amounts of buffers through this interface. diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c index bb9c602c061dc3..8169ebe6ababf1 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c @@ -586,8 +586,8 @@ struct drm_gem_object *amdgpu_gem_prime_import(struct drm_device *dev, if (IS_ERR(obj)) return obj;
- attach = dma_buf_dynamic_attach(dma_buf, dev->dev, - &amdgpu_dma_buf_attach_ops, obj); + attach = dma_buf_sgt_dynamic_attach(dma_buf, dev->dev, + &amdgpu_dma_buf_attach_ops, obj); if (IS_ERR(attach)) { drm_gem_object_put(obj); return ERR_CAST(attach); diff --git a/drivers/gpu/drm/virtio/virtgpu_prime.c b/drivers/gpu/drm/virtio/virtgpu_prime.c index 95582cfbd7e63f..7e9a42eaa96f4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_prime.c +++ b/drivers/gpu/drm/virtio/virtgpu_prime.c @@ -327,8 +327,8 @@ struct drm_gem_object *virtgpu_gem_prime_import(struct drm_device *dev, obj->funcs = &virtgpu_gem_dma_buf_funcs; drm_gem_private_object_init(dev, obj, buf->size);
- attach = dma_buf_dynamic_attach(buf, dev->dev, - &virtgpu_dma_buf_attach_ops, obj); + attach = dma_buf_sgt_dynamic_attach(buf, dev->dev, + &virtgpu_dma_buf_attach_ops, obj); if (IS_ERR(attach)) { kfree(bo); return ERR_CAST(attach); diff --git a/drivers/gpu/drm/xe/xe_dma_buf.c b/drivers/gpu/drm/xe/xe_dma_buf.c index 848532aca432db..ddd865ae0522ca 100644 --- a/drivers/gpu/drm/xe/xe_dma_buf.c +++ b/drivers/gpu/drm/xe/xe_dma_buf.c @@ -358,7 +358,8 @@ struct drm_gem_object *xe_gem_prime_import(struct drm_device *dev, attach_ops = test->attach_ops; #endif
- attach = dma_buf_dynamic_attach(dma_buf, dev->dev, attach_ops, &bo->ttm.base); + attach = dma_buf_sgt_dynamic_attach(dma_buf, dev->dev, attach_ops, + &bo->ttm.base); if (IS_ERR(attach)) { obj = ERR_CAST(attach); goto out_err; diff --git a/drivers/infiniband/core/umem_dmabuf.c b/drivers/infiniband/core/umem_dmabuf.c index 8401cd31763aa4..c8785f6c08a3bd 100644 --- a/drivers/infiniband/core/umem_dmabuf.c +++ b/drivers/infiniband/core/umem_dmabuf.c @@ -155,11 +155,8 @@ ib_umem_dmabuf_get_with_dma_device(struct ib_device *device, if (!ib_umem_num_pages(umem)) goto out_free_umem;
- umem_dmabuf->attach = dma_buf_dynamic_attach( - dmabuf, - dma_device, - ops, - umem_dmabuf); + umem_dmabuf->attach = dma_buf_sgt_dynamic_attach(dmabuf, dma_device, + ops, umem_dmabuf); if (IS_ERR(umem_dmabuf->attach)) { ret = ERR_CAST(umem_dmabuf->attach); goto out_free_umem; diff --git a/drivers/iommu/iommufd/pages.c b/drivers/iommu/iommufd/pages.c index dbe51ecb9a20f8..a487d93dacadab 100644 --- a/drivers/iommu/iommufd/pages.c +++ b/drivers/iommu/iommufd/pages.c @@ -1486,8 +1486,9 @@ static int iopt_map_dmabuf(struct iommufd_ctx *ictx, struct iopt_pages *pages, struct dma_buf_attachment *attach; int rc;
- attach = dma_buf_dynamic_attach(dmabuf, iommufd_global_device(), - &iopt_dmabuf_attach_revoke_ops, pages); + attach = dma_buf_sgt_dynamic_attach(dmabuf, iommufd_global_device(), + &iopt_dmabuf_attach_revoke_ops, + pages); if (IS_ERR(attach)) return PTR_ERR(attach);
diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h index 456ed5767c05eb..11488b1e6936cf 100644 --- a/include/linux/dma-buf.h +++ b/include/linux/dma-buf.h @@ -561,9 +561,9 @@ static inline bool dma_buf_is_dynamic(struct dma_buf *dmabuf) struct dma_buf_attachment *dma_buf_sgt_attach(struct dma_buf *dmabuf, struct device *dev); struct dma_buf_attachment * -dma_buf_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, - const struct dma_buf_attach_ops *importer_ops, - void *importer_priv); +dma_buf_sgt_dynamic_attach(struct dma_buf *dmabuf, struct device *dev, + const struct dma_buf_attach_ops *importer_ops, + void *importer_priv); struct dma_buf_attachment *dma_buf_mapping_attach( struct dma_buf *dmabuf, struct dma_buf_mapping_match *importer_matches, size_t match_len, const struct dma_buf_attach_ops *importer_ops,