net/mlx5: improve Verbs flow priority discovery
[dpdk.git] / drivers / net / mlx5 / mlx5_devx.c
index 1fb835c..6b6b9c7 100644 (file)
@@ -236,6 +236,7 @@ static int
 mlx5_rxq_create_devx_rq_resources(struct rte_eth_dev *dev, uint16_t idx)
 {
        struct mlx5_priv *priv = dev->data->dev_private;
+       struct mlx5_common_device *cdev = priv->sh->cdev;
        struct mlx5_rxq_data *rxq_data = (*priv->rxqs)[idx];
        struct mlx5_rxq_ctrl *rxq_ctrl =
                container_of(rxq_data, struct mlx5_rxq_ctrl, rxq);
@@ -249,7 +250,8 @@ 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);
+       rq_attr.ts_format =
+                       mlx5_ts_format_conv(cdev->config.hca_attr.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;
@@ -276,12 +278,11 @@ mlx5_rxq_create_devx_rq_resources(struct rte_eth_dev *dev, uint16_t idx)
        rq_attr.wq_attr.end_padding_mode = priv->config.hw_padding ?
                                                MLX5_WQ_END_PAD_MODE_ALIGN :
                                                MLX5_WQ_END_PAD_MODE_NONE;
-       rq_attr.wq_attr.pd = priv->sh->pdn;
+       rq_attr.wq_attr.pd = cdev->pdn;
        rq_attr.counter_set_id = priv->counter_set_id;
        /* Create RQ using DevX API. */
-       return mlx5_devx_rq_create(priv->sh->cdev->ctx, &rxq_ctrl->obj->rq_obj,
-                                  wqe_size, log_desc_n, &rq_attr,
-                                  rxq_ctrl->socket);
+       return mlx5_devx_rq_create(cdev->ctx, &rxq_ctrl->obj->rq_obj, wqe_size,
+                                  log_desc_n, &rq_attr, rxq_ctrl->socket);
 }
 
 /**
@@ -981,6 +982,7 @@ mlx5_txq_create_devx_sq_resources(struct rte_eth_dev *dev, uint16_t idx,
                                  uint16_t log_desc_n)
 {
        struct mlx5_priv *priv = dev->data->dev_private;
+       struct mlx5_common_device *cdev = priv->sh->cdev;
        struct mlx5_txq_data *txq_data = (*priv->txqs)[idx];
        struct mlx5_txq_ctrl *txq_ctrl =
                        container_of(txq_data, struct mlx5_txq_ctrl, txq);
@@ -994,14 +996,15 @@ mlx5_txq_create_devx_sq_resources(struct rte_eth_dev *dev, uint16_t idx,
                .tis_lst_sz = 1,
                .tis_num = priv->sh->tis->id,
                .wq_attr = (struct mlx5_devx_wq_attr){
-                       .pd = priv->sh->pdn,
+                       .pd = cdev->pdn,
                        .uar_page =
                                 mlx5_os_get_devx_uar_page_id(priv->sh->tx_uar),
                },
-               .ts_format = mlx5_ts_format_conv(priv->sh->sq_ts_format),
+               .ts_format =
+                       mlx5_ts_format_conv(cdev->config.hca_attr.sq_ts_format),
        };
        /* Create Send Queue object with DevX. */
-       return mlx5_devx_sq_create(priv->sh->cdev->ctx, &txq_obj->sq_obj,
+       return mlx5_devx_sq_create(cdev->ctx, &txq_obj->sq_obj,
                                   log_desc_n, &sq_attr, priv->sh->numa_node);
 }
 #endif