net/mlx5: add Tx scheduling check on queue creation
[dpdk.git] / drivers / net / mlx5 / mlx5_devx.c
index 2cb3bd1..a1db535 100644 (file)
@@ -20,7 +20,8 @@
 
 #include "mlx5.h"
 #include "mlx5_common_os.h"
-#include "mlx5_rxtx.h"
+#include "mlx5_tx.h"
+#include "mlx5_rx.h"
 #include "mlx5_utils.h"
 #include "mlx5_devx.h"
 #include "mlx5_flow.h"
@@ -248,6 +249,7 @@ mlx5_rxq_create_devx_rq_resources(struct rte_eth_dev *dev, uint16_t idx)
        rq_attr.vsd = (rxq_data->vlan_strip) ? 0 : 1;
        rq_attr.cqn = rxq_ctrl->obj->cq_obj.cq->id;
        rq_attr.scatter_fcs = (rxq_data->crc_present) ? 1 : 0;
+       rq_attr.ts_format = mlx5_ts_format_conv(priv->sh->rq_ts_format);
        /* Fill WQ attributes for this RQ. */
        if (mlx5_rxq_mprq_enabled(rxq_data)) {
                rq_attr.wq_attr.wq_type = MLX5_WQ_TYPE_CYCLIC_STRIDING_RQ;
@@ -996,8 +998,8 @@ mlx5_txq_create_devx_sq_resources(struct rte_eth_dev *dev, uint16_t idx,
                        .uar_page =
                                 mlx5_os_get_devx_uar_page_id(priv->sh->tx_uar),
                },
+               .ts_format = mlx5_ts_format_conv(priv->sh->sq_ts_format),
        };
-
        /* Create Send Queue object with DevX. */
        return mlx5_devx_sq_create(priv->sh->ctx, &txq_obj->sq_obj, log_desc_n,
                                   &sq_attr, priv->sh->numa_node);
@@ -1112,7 +1114,7 @@ mlx5_txq_devx_obj_new(struct rte_eth_dev *dev, uint16_t idx)
        txq_data->wqe_pi = 0;
        txq_data->wqe_comp = 0;
        txq_data->wqe_thres = txq_data->wqe_s / MLX5_TX_COMP_THRESH_INLINE_DIV;
-       txq_data->qp_db = txq_obj->sq_obj.db_rec;
+       txq_data->qp_db = &txq_obj->sq_obj.db_rec[MLX5_SND_DBR];
        *txq_data->qp_db = 0;
        txq_data->qp_num_8s = txq_obj->sq_obj.sq->id << 8;
        /* Change Send Queue state to Ready-to-Send. */
@@ -1187,4 +1189,6 @@ struct mlx5_obj_ops devx_obj_ops = {
        .txq_obj_new = mlx5_txq_devx_obj_new,
        .txq_obj_modify = mlx5_devx_modify_sq,
        .txq_obj_release = mlx5_txq_devx_obj_release,
+       .lb_dummy_queue_create = NULL,
+       .lb_dummy_queue_release = NULL,
 };