net/mlx5: Reuse exported virtfn index function call
authorLeon Romanovsky <leonro@nvidia.com>
Thu, 24 Feb 2022 14:20:11 +0000 (16:20 +0200)
committerLeon Romanovsky <leonro@nvidia.com>
Sun, 27 Feb 2022 09:40:00 +0000 (11:40 +0200)
Instead open-code iteration to compare virtfn internal index, use newly
introduced pci_iov_vf_id() call.

Link: https://lore.kernel.org/all/20220224142024.147653-3-yishaih@nvidia.com
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/sriov.c

index e8185b6..24c4b4f 100644 (file)
@@ -205,19 +205,8 @@ int mlx5_core_sriov_set_msix_vec_count(struct pci_dev *vf, int msix_vec_count)
                        mlx5_get_default_msix_vec_count(dev, pci_num_vf(pf));
 
        sriov = &dev->priv.sriov;
-
-       /* Reversed translation of PCI VF function number to the internal
-        * function_id, which exists in the name of virtfn symlink.
-        */
-       for (id = 0; id < pci_num_vf(pf); id++) {
-               if (!sriov->vfs_ctx[id].enabled)
-                       continue;
-
-               if (vf->devfn == pci_iov_virtfn_devfn(pf, id))
-                       break;
-       }
-
-       if (id == pci_num_vf(pf) || !sriov->vfs_ctx[id].enabled)
+       id = pci_iov_vf_id(vf);
+       if (id < 0 || !sriov->vfs_ctx[id].enabled)
                return -EINVAL;
 
        return mlx5_set_msix_vec_count(dev, id + 1, msix_vec_count);