Lines Matching refs:rxq_ctrl

153 mlx5_rxq_release_devx_rq_resources(struct mlx5_rxq_ctrl *rxq_ctrl)  in mlx5_rxq_release_devx_rq_resources()  argument
155 struct mlx5_devx_dbr_page *dbr_page = rxq_ctrl->rq_dbrec_page; in mlx5_rxq_release_devx_rq_resources()
157 if (rxq_ctrl->wq_umem) { in mlx5_rxq_release_devx_rq_resources()
158 mlx5_glue->devx_umem_dereg(rxq_ctrl->wq_umem); in mlx5_rxq_release_devx_rq_resources()
159 rxq_ctrl->wq_umem = NULL; in mlx5_rxq_release_devx_rq_resources()
161 if (rxq_ctrl->rxq.wqes) { in mlx5_rxq_release_devx_rq_resources()
162 mlx5_free((void *)(uintptr_t)rxq_ctrl->rxq.wqes); in mlx5_rxq_release_devx_rq_resources()
163 rxq_ctrl->rxq.wqes = NULL; in mlx5_rxq_release_devx_rq_resources()
166 claim_zero(mlx5_release_dbr(&rxq_ctrl->priv->dbrpgs, in mlx5_rxq_release_devx_rq_resources()
168 rxq_ctrl->rq_dbr_offset)); in mlx5_rxq_release_devx_rq_resources()
169 rxq_ctrl->rq_dbrec_page = NULL; in mlx5_rxq_release_devx_rq_resources()
180 mlx5_rxq_release_devx_cq_resources(struct mlx5_rxq_ctrl *rxq_ctrl) in mlx5_rxq_release_devx_cq_resources() argument
182 struct mlx5_devx_dbr_page *dbr_page = rxq_ctrl->cq_dbrec_page; in mlx5_rxq_release_devx_cq_resources()
184 if (rxq_ctrl->cq_umem) { in mlx5_rxq_release_devx_cq_resources()
185 mlx5_glue->devx_umem_dereg(rxq_ctrl->cq_umem); in mlx5_rxq_release_devx_cq_resources()
186 rxq_ctrl->cq_umem = NULL; in mlx5_rxq_release_devx_cq_resources()
188 if (rxq_ctrl->rxq.cqes) { in mlx5_rxq_release_devx_cq_resources()
189 rte_free((void *)(uintptr_t)rxq_ctrl->rxq.cqes); in mlx5_rxq_release_devx_cq_resources()
190 rxq_ctrl->rxq.cqes = NULL; in mlx5_rxq_release_devx_cq_resources()
193 claim_zero(mlx5_release_dbr(&rxq_ctrl->priv->dbrpgs, in mlx5_rxq_release_devx_cq_resources()
195 rxq_ctrl->cq_dbr_offset)); in mlx5_rxq_release_devx_cq_resources()
196 rxq_ctrl->cq_dbrec_page = NULL; in mlx5_rxq_release_devx_cq_resources()
211 if (rxq_obj->rxq_ctrl->type == MLX5_RXQ_TYPE_HAIRPIN) { in mlx5_rxq_devx_obj_release()
221 mlx5_rxq_release_devx_rq_resources(rxq_obj->rxq_ctrl); in mlx5_rxq_devx_obj_release()
222 mlx5_rxq_release_devx_cq_resources(rxq_obj->rxq_ctrl); in mlx5_rxq_devx_obj_release()
294 mlx5_devx_wq_attr_fill(struct mlx5_priv *priv, struct mlx5_rxq_ctrl *rxq_ctrl, in mlx5_devx_wq_attr_fill() argument
301 wq_attr->dbr_addr = rxq_ctrl->rq_dbr_offset; in mlx5_devx_wq_attr_fill()
303 mlx5_os_get_umem_id(rxq_ctrl->rq_dbrec_page->umem); in mlx5_devx_wq_attr_fill()
305 wq_attr->wq_umem_id = mlx5_os_get_umem_id(rxq_ctrl->wq_umem); in mlx5_devx_wq_attr_fill()
325 struct mlx5_rxq_ctrl *rxq_ctrl = in mlx5_rxq_create_devx_rq_resources() local
329 uint32_t cqn = rxq_ctrl->obj->devx_cq->id; in mlx5_rxq_create_devx_rq_resources()
374 alignment, rxq_ctrl->socket); in mlx5_rxq_create_devx_rq_resources()
378 rxq_ctrl->wq_umem = mlx5_glue->devx_umem_reg(priv->sh->ctx, in mlx5_rxq_create_devx_rq_resources()
380 if (!rxq_ctrl->wq_umem) in mlx5_rxq_create_devx_rq_resources()
388 rxq_ctrl->rq_dbr_offset = dbr_offset; in mlx5_rxq_create_devx_rq_resources()
389 rxq_ctrl->rq_dbrec_page = dbr_page; in mlx5_rxq_create_devx_rq_resources()
391 (uintptr_t)rxq_ctrl->rq_dbr_offset); in mlx5_rxq_create_devx_rq_resources()
393 mlx5_devx_wq_attr_fill(priv, rxq_ctrl, &rq_attr.wq_attr); in mlx5_rxq_create_devx_rq_resources()
394 rq = mlx5_devx_cmd_create_rq(priv->sh->ctx, &rq_attr, rxq_ctrl->socket); in mlx5_rxq_create_devx_rq_resources()
399 mlx5_rxq_release_devx_rq_resources(rxq_ctrl); in mlx5_rxq_create_devx_rq_resources()
421 struct mlx5_rxq_ctrl *rxq_ctrl = in mlx5_rxq_create_devx_cq_resources() local
494 rxq_ctrl->socket); in mlx5_rxq_create_devx_cq_resources()
500 rxq_ctrl->cq_umem = mlx5_glue->devx_umem_reg(priv->sh->ctx, buf, in mlx5_rxq_create_devx_cq_resources()
503 if (!rxq_ctrl->cq_umem) { in mlx5_rxq_create_devx_cq_resources()
513 rxq_ctrl->cq_dbr_offset = dbr_offset; in mlx5_rxq_create_devx_cq_resources()
514 rxq_ctrl->cq_dbrec_page = dbr_page; in mlx5_rxq_create_devx_cq_resources()
516 (uintptr_t)rxq_ctrl->cq_dbr_offset); in mlx5_rxq_create_devx_cq_resources()
523 cq_attr.q_umem_id = mlx5_os_get_umem_id(rxq_ctrl->cq_umem); in mlx5_rxq_create_devx_cq_resources()
527 cq_attr.db_umem_offset = rxq_ctrl->cq_dbr_offset; in mlx5_rxq_create_devx_cq_resources()
535 if (rxq_ctrl->obj->devx_channel) { in mlx5_rxq_create_devx_cq_resources()
537 (rxq_ctrl->obj->devx_channel, in mlx5_rxq_create_devx_cq_resources()
554 mlx5_rxq_release_devx_cq_resources(rxq_ctrl); in mlx5_rxq_create_devx_cq_resources()
574 struct mlx5_rxq_ctrl *rxq_ctrl = in mlx5_rxq_obj_hairpin_new() local
577 struct mlx5_rxq_obj *tmpl = rxq_ctrl->obj; in mlx5_rxq_obj_hairpin_new()
582 tmpl->rxq_ctrl = rxq_ctrl; in mlx5_rxq_obj_hairpin_new()
605 rxq_ctrl->socket); in mlx5_rxq_obj_hairpin_new()
633 struct mlx5_rxq_ctrl *rxq_ctrl = in mlx5_rxq_devx_obj_new() local
635 struct mlx5_rxq_obj *tmpl = rxq_ctrl->obj; in mlx5_rxq_devx_obj_new()
640 if (rxq_ctrl->type == MLX5_RXQ_TYPE_HAIRPIN) in mlx5_rxq_devx_obj_new()
642 tmpl->rxq_ctrl = rxq_ctrl; in mlx5_rxq_devx_obj_new()
643 if (rxq_ctrl->irq) { in mlx5_rxq_devx_obj_new()
680 rxq_ctrl->wqn = tmpl->rq->id; in mlx5_rxq_devx_obj_new()
690 mlx5_rxq_release_devx_rq_resources(rxq_ctrl); in mlx5_rxq_devx_obj_new()
691 mlx5_rxq_release_devx_cq_resources(rxq_ctrl); in mlx5_rxq_devx_obj_new()
732 struct mlx5_rxq_ctrl *rxq_ctrl = in mlx5_devx_ind_table_create_rqt_attr() local
735 rqt_attr->rq_list[i] = rxq_ctrl->obj->rq->id; in mlx5_devx_ind_table_create_rqt_attr()
854 struct mlx5_rxq_ctrl *rxq_ctrl = in mlx5_devx_tir_attr_set() local
856 enum mlx5_rxq_type rxq_obj_type = rxq_ctrl->type; in mlx5_devx_tir_attr_set()