The IFC vDPA driver uses VFIO group bind/unbind functionality for container
device assignment purposes. Use the new container device assignment API
instead to provide clearer semantics.

Signed-off-by: Anatoly Burakov <[email protected]>
---
 drivers/vdpa/ifc/ifcvf_vdpa.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c b/drivers/vdpa/ifc/ifcvf_vdpa.c
index f319d455ba..6f1c050787 100644
--- a/drivers/vdpa/ifc/ifcvf_vdpa.c
+++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
@@ -174,28 +174,19 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal)
 {
        struct rte_pci_device *dev = internal->pdev;
        char devname[RTE_DEV_NAME_MAX_LEN] = {0};
-       int iommu_group_num;
-       int i, ret;
+       int i;
 
        internal->vfio_dev_fd = -1;
-       internal->vfio_group_fd = -1;
        internal->vfio_container_fd = -1;
 
        rte_pci_device_name(&dev->addr, devname, RTE_DEV_NAME_MAX_LEN);
-       ret = rte_vfio_get_group_num(rte_pci_get_sysfs_path(), devname,
-                       &iommu_group_num);
-       if (ret <= 0) {
-               DRV_LOG(ERR, "%s failed to get IOMMU group", devname);
-               return -1;
-       }
 
        internal->vfio_container_fd = rte_vfio_container_create();
        if (internal->vfio_container_fd < 0)
                return -1;
 
-       internal->vfio_group_fd = rte_vfio_container_group_bind(
-                       internal->vfio_container_fd, iommu_group_num);
-       if (internal->vfio_group_fd < 0)
+       if (rte_vfio_container_assign_device(internal->vfio_container_fd,
+                       rte_pci_get_sysfs_path(), devname) < 0)
                goto err;
 
        if (rte_pci_map_device(dev))
-- 
2.47.3

Reply via email to