Re: [PATCH v3 04/21] vhost-vdpa: Use iommu_paging_domain_alloc()

Michael S. Tsirkin
2024-07-03T16:32:18Z

On Mon, Jun 10, 2024 at 04:55:38PM +0800, Lu Baolu wrote:
> Replace iommu_domain_alloc() with iommu_paging_domain_alloc().
>
> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>

Acked-by: Michael S. Tsirkin <mst@redhat.com>

I assume it's merged with the rest of the stuff, right?

> ---
> drivers/vhost/vdpa.c | 14 ++++++--------
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index 63a53680a85c..e31ec9ebc4ce 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -1312,26 +1312,24 @@ static int vhost_vdpa_alloc_domain(struct vhost_vdpa *v)
> struct vdpa_device *vdpa = v->vdpa;
> const struct vdpa_config_ops *ops = vdpa->config;
> struct device *dma_dev = vdpa_get_dma_dev(vdpa);
> - const struct bus_type *bus;
> int ret;
>
> /* Device want to do DMA by itself */
> if (ops->set_map || ops->dma_map)
> return 0;
>
> - bus = dma_dev->bus;
> - if (!bus)
> - return -EFAULT;
> -
> if (!device_iommu_capable(dma_dev, IOMMU_CAP_CACHE_COHERENCY)) {
> dev_warn_once(&v->dev,
> "Failed to allocate domain, device is not IOMMU cache coherent capable\n");
> return -ENOTSUPP;
> }
>
> - v->domain = iommu_domain_alloc(bus);
> - if (!v->domain)
> - return -EIO;
> + v->domain = iommu_paging_domain_alloc(dma_dev);
> + if (IS_ERR(v->domain)) {
> + ret = PTR_ERR(v->domain);
> + v->domain = NULL;
> + return ret;
> + }
>
> ret = iommu_attach_device(v->domain, dma_dev);
> if (ret)
> --
> 2.34.1