vhost: make vDPA framework bus agnostic
[dpdk.git] / drivers / vdpa / ifc / ifcvf_vdpa.c
index ec97178..ac9e218 100644 (file)
@@ -47,7 +47,6 @@ static const char * const ifcvf_valid_arguments[] = {
 static int ifcvf_vdpa_logtype;
 
 struct ifcvf_internal {
-       struct rte_vdpa_dev_addr dev_addr;
        struct rte_pci_device *pdev;
        struct ifcvf_hw hw;
        int vfio_container_fd;
@@ -116,7 +115,8 @@ find_internal_resource_by_dev(struct rte_pci_device *pdev)
        pthread_mutex_lock(&internal_list_lock);
 
        TAILQ_FOREACH(list, &internal_list, next) {
-               if (pdev == list->internal->pdev) {
+               if (!rte_pci_addr_cmp(&pdev->addr,
+                                       &list->internal->pdev->addr)) {
                        found = 1;
                        break;
                }
@@ -1176,8 +1176,6 @@ ifcvf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
                (1ULL << VHOST_USER_F_PROTOCOL_FEATURES) |
                (1ULL << VHOST_F_LOG_ALL);
 
-       internal->dev_addr.pci_addr = pci_dev->addr;
-       internal->dev_addr.type = VDPA_ADDR_PCI;
        list->internal = internal;
 
        if (rte_kvargs_count(kvlist, IFCVF_SW_FALLBACK_LM)) {
@@ -1188,8 +1186,7 @@ ifcvf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
        }
        internal->sw_lm = sw_fallback_lm;
 
-       internal->did = rte_vdpa_register_device(&internal->dev_addr,
-                               &ifcvf_ops);
+       internal->did = rte_vdpa_register_device(&pci_dev->device, &ifcvf_ops);
        if (internal->did < 0) {
                DRV_LOG(ERR, "failed to register device %s", pci_dev->name);
                goto error;