net/mlx5: remove Tx queue object type field
authorMichael Baum <michaelba@nvidia.com>
Thu, 1 Oct 2020 14:09:24 +0000 (14:09 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 9 Oct 2020 11:17:42 +0000 (13:17 +0200)
Once the separation between Verbs and DevX is done using function
pointers, the type field of the Tx queue object structure becomes
redundant and no more code is used.
Remove the unnecessary field from the structure.

Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/net/mlx5/linux/mlx5_verbs.c
drivers/net/mlx5/mlx5.h
drivers/net/mlx5/mlx5_devx.c

index ad6e3d7..6260b4e 100644 (file)
@@ -931,7 +931,6 @@ mlx5_txq_ibv_obj_new(struct rte_eth_dev *dev, uint16_t idx)
 
        MLX5_ASSERT(txq_data);
        MLX5_ASSERT(txq_obj);
-       txq_obj->type = MLX5_TXQ_OBJ_TYPE_IBV;
        txq_obj->txq_ctrl = txq_ctrl;
        priv->verbs_alloc_ctx.type = MLX5_VERBS_ALLOC_TYPE_TX_QUEUE;
        priv->verbs_alloc_ctx.obj = txq_ctrl;
index 7cbb09b..fd5dd87 100644 (file)
@@ -735,18 +735,10 @@ struct mlx5_hrxq {
        uint8_t rss_key[]; /* Hash key. */
 };
 
-enum mlx5_txq_obj_type {
-       MLX5_TXQ_OBJ_TYPE_IBV,          /* mlx5_txq_obj with ibv_wq. */
-       MLX5_TXQ_OBJ_TYPE_DEVX_SQ,      /* mlx5_txq_obj with mlx5_devx_sq. */
-       MLX5_TXQ_OBJ_TYPE_DEVX_HAIRPIN,
-       /* mlx5_txq_obj with mlx5_devx_tq and hairpin support. */
-};
-
 /* Verbs/DevX Tx queue elements. */
 struct mlx5_txq_obj {
        LIST_ENTRY(mlx5_txq_obj) next; /* Pointer to the next element. */
        struct mlx5_txq_ctrl *txq_ctrl; /* Pointer to the control queue. */
-       enum mlx5_txq_obj_type type; /* The txq object type. */
        RTE_STD_C11
        union {
                struct {
index c876ae9..430ad08 100644 (file)
@@ -890,7 +890,6 @@ mlx5_txq_obj_hairpin_new(struct rte_eth_dev *dev, uint16_t idx)
 
        MLX5_ASSERT(txq_data);
        MLX5_ASSERT(tmpl);
-       tmpl->type = MLX5_TXQ_OBJ_TYPE_DEVX_HAIRPIN;
        tmpl->txq_ctrl = txq_ctrl;
        attr.hairpin = 1;
        attr.tis_lst_sz = 1;
@@ -980,8 +979,6 @@ mlx5_txq_release_devx_cq_resources(struct mlx5_txq_obj *txq_obj)
 static void
 mlx5_txq_release_devx_resources(struct mlx5_txq_obj *txq_obj)
 {
-       MLX5_ASSERT(txq_obj->type == MLX5_TXQ_OBJ_TYPE_DEVX_SQ);
-
        mlx5_txq_release_devx_cq_resources(txq_obj);
        mlx5_txq_release_devx_sq_resources(txq_obj);
 }
@@ -1245,7 +1242,6 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx)
 
        MLX5_ASSERT(txq_data);
        MLX5_ASSERT(txq_obj);
-       txq_obj->type = MLX5_TXQ_OBJ_TYPE_DEVX_SQ;
        txq_obj->txq_ctrl = txq_ctrl;
        txq_obj->dev = dev;
        cqe_n = mlx5_txq_create_devx_cq_resources(dev, idx);
@@ -1328,7 +1324,7 @@ void
 mlx5_txq_devx_obj_release(struct mlx5_txq_obj *txq_obj)
 {
        MLX5_ASSERT(txq_obj);
-       if (txq_obj->type == MLX5_TXQ_OBJ_TYPE_DEVX_HAIRPIN) {
+       if (txq_obj->txq_ctrl->type == MLX5_TXQ_TYPE_HAIRPIN) {
                if (txq_obj->tis)
                        claim_zero(mlx5_devx_cmd_destroy(txq_obj->tis));
 #ifdef HAVE_MLX5DV_DEVX_UAR_OFFSET