vdpa/mlx5: fix event queue number query
authorXueming Li <xuemingl@mellanox.com>
Tue, 28 Jul 2020 12:32:29 +0000 (12:32 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 29 Jul 2020 22:41:23 +0000 (00:41 +0200)
Vdpa example failed on vq setup, the api to get event queue of specified
core failed.

Internal api devx_query_eqn expects index of event queue vectors, no
need to use cpu id. As the doorbell handling thread is per device, it's
sufficient to use default event queue.

This patch uses the default id(0) as event queue index.

Fixes: 8395927cdfaf ("vdpa/mlx5: prepare HW queues")
Cc: stable@dpdk.org
Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
drivers/vdpa/mlx5/mlx5_vdpa_event.c

index 2080d61..7dc1ac0 100644 (file)
@@ -51,12 +51,9 @@ mlx5_vdpa_event_qp_global_release(struct mlx5_vdpa_priv *priv)
 static int
 mlx5_vdpa_event_qp_global_prepare(struct mlx5_vdpa_priv *priv)
 {
-       uint32_t lcore;
-
        if (priv->eventc)
                return 0;
-       lcore = (uint32_t)rte_lcore_to_cpu_id(-1);
-       if (mlx5_glue->devx_query_eqn(priv->ctx, lcore, &priv->eqn)) {
+       if (mlx5_glue->devx_query_eqn(priv->ctx, 0, &priv->eqn)) {
                rte_errno = errno;
                DRV_LOG(ERR, "Failed to query EQ number %d.", rte_errno);
                return -1;