Message ID | 20240610085555.88197-5-baolu.lu@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | iommu: Refactoring domain allocation interface | expand |
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> > --- > drivers/vhost/vdpa.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Jason
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
On Wed, Jul 03, 2024 at 12:32:06PM -0400, Michael S. Tsirkin wrote: > 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? Sure, I can grab this one in the iommu tree. It has to go along with the patch adding iommu_paging_domain_alloc() anyway. Will
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)
Replace iommu_domain_alloc() with iommu_paging_domain_alloc(). Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> --- drivers/vhost/vdpa.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)