net/mlx5: replace a port lookup with ethdev API
authorThomas Monjalon <thomas@monjalon.net>
Thu, 18 Apr 2019 00:15:29 +0000 (02:15 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 3 May 2019 16:45:22 +0000 (18:45 +0200)
Looking for an ethdev port is better (and more efficient)
with an ethdev API than an EAL one.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
drivers/net/mlx5/mlx5_mr.c

index a3732d4..e4957a4 100644 (file)
@@ -1310,16 +1310,10 @@ mlx5_mr_update_ext_mp_cb(struct rte_mempool *mp, void *opaque,
 static struct rte_eth_dev *
 pci_dev_to_eth_dev(struct rte_pci_device *pdev)
 {
-       struct rte_dev_iterator it;
-       struct rte_device *dev;
+       uint16_t port_id;
 
-       /**
-        *  We really need to iterate all devices regardless of
-        *  their owner.
-        */
-       RTE_DEV_FOREACH(dev, "class=eth", &it)
-               if (dev == &pdev->device)
-                       return it.class_device;
+       RTE_ETH_FOREACH_DEV_OF(port_id, &pdev->device)
+               return &rte_eth_devices[port_id];
        return NULL;
 }