Lines Matching refs:rxq_ctrl

148 		struct mlx5_rxq_ctrl *rxq_ctrl = mlx5_rxq_get(dev, i);  in mlx5_rxq_start()  local
150 if (!rxq_ctrl) in mlx5_rxq_start()
152 if (rxq_ctrl->type == MLX5_RXQ_TYPE_STANDARD) { in mlx5_rxq_start()
154 if (mlx5_rxq_mprq_enabled(&rxq_ctrl->rxq)) { in mlx5_rxq_start()
155 mlx5_mr_update_mp(dev, &rxq_ctrl->rxq.mr_ctrl, in mlx5_rxq_start()
156 rxq_ctrl->rxq.mprq_mp); in mlx5_rxq_start()
160 for (s = 0; s < rxq_ctrl->rxq.rxseg_n; s++) in mlx5_rxq_start()
162 (dev, &rxq_ctrl->rxq.mr_ctrl, in mlx5_rxq_start()
163 rxq_ctrl->rxq.rxseg[s].mp); in mlx5_rxq_start()
165 ret = rxq_alloc_elts(rxq_ctrl); in mlx5_rxq_start()
169 MLX5_ASSERT(!rxq_ctrl->obj); in mlx5_rxq_start()
170 rxq_ctrl->obj = mlx5_malloc(MLX5_MEM_RTE | MLX5_MEM_ZERO, in mlx5_rxq_start()
171 sizeof(*rxq_ctrl->obj), 0, in mlx5_rxq_start()
172 rxq_ctrl->socket); in mlx5_rxq_start()
173 if (!rxq_ctrl->obj) { in mlx5_rxq_start()
182 mlx5_free(rxq_ctrl->obj); in mlx5_rxq_start()
186 dev->data->port_id, i, (void *)&rxq_ctrl->obj); in mlx5_rxq_start()
187 LIST_INSERT_HEAD(&priv->rxqsobj, rxq_ctrl->obj, next); in mlx5_rxq_start()
217 struct mlx5_rxq_ctrl *rxq_ctrl; in mlx5_hairpin_auto_bind() local
263 rxq_ctrl = mlx5_rxq_get(dev, in mlx5_hairpin_auto_bind()
265 if (!rxq_ctrl) { in mlx5_hairpin_auto_bind()
273 if (rxq_ctrl->type != MLX5_RXQ_TYPE_HAIRPIN || in mlx5_hairpin_auto_bind()
274 rxq_ctrl->hairpin_conf.peers[0].queue != i) { in mlx5_hairpin_auto_bind()
281 rq = rxq_ctrl->obj->rq; in mlx5_hairpin_auto_bind()
304 rxq_ctrl->hairpin_status = 1; in mlx5_hairpin_auto_bind()
385 struct mlx5_rxq_ctrl *rxq_ctrl; in mlx5_hairpin_queue_peer_update() local
387 rxq_ctrl = mlx5_rxq_get(dev, peer_queue); in mlx5_hairpin_queue_peer_update()
388 if (rxq_ctrl == NULL) { in mlx5_hairpin_queue_peer_update()
394 if (rxq_ctrl->type != MLX5_RXQ_TYPE_HAIRPIN) { in mlx5_hairpin_queue_peer_update()
401 if (rxq_ctrl->obj == NULL || rxq_ctrl->obj->rq == NULL) { in mlx5_hairpin_queue_peer_update()
408 peer_info->qp_id = rxq_ctrl->obj->rq->id; in mlx5_hairpin_queue_peer_update()
410 peer_info->peer_q = rxq_ctrl->hairpin_conf.peers[0].queue; in mlx5_hairpin_queue_peer_update()
411 peer_info->tx_explicit = rxq_ctrl->hairpin_conf.tx_explicit; in mlx5_hairpin_queue_peer_update()
412 peer_info->manual_bind = rxq_ctrl->hairpin_conf.manual_bind; in mlx5_hairpin_queue_peer_update()
512 struct mlx5_rxq_ctrl *rxq_ctrl; in mlx5_hairpin_queue_peer_bind() local
515 rxq_ctrl = mlx5_rxq_get(dev, cur_queue); in mlx5_hairpin_queue_peer_bind()
516 if (rxq_ctrl == NULL) { in mlx5_hairpin_queue_peer_bind()
522 if (rxq_ctrl->type != MLX5_RXQ_TYPE_HAIRPIN) { in mlx5_hairpin_queue_peer_bind()
529 if (rxq_ctrl->obj == NULL || rxq_ctrl->obj->rq == NULL) { in mlx5_hairpin_queue_peer_bind()
536 if (rxq_ctrl->hairpin_status != 0) { in mlx5_hairpin_queue_peer_bind()
543 rxq_ctrl->hairpin_conf.tx_explicit) { in mlx5_hairpin_queue_peer_bind()
551 rxq_ctrl->hairpin_conf.manual_bind) { in mlx5_hairpin_queue_peer_bind()
562 ret = mlx5_devx_cmd_modify_rq(rxq_ctrl->obj->rq, &rq_attr); in mlx5_hairpin_queue_peer_bind()
564 rxq_ctrl->hairpin_status = 1; in mlx5_hairpin_queue_peer_bind()
630 struct mlx5_rxq_ctrl *rxq_ctrl; in mlx5_hairpin_queue_peer_unbind() local
633 rxq_ctrl = mlx5_rxq_get(dev, cur_queue); in mlx5_hairpin_queue_peer_unbind()
634 if (rxq_ctrl == NULL) { in mlx5_hairpin_queue_peer_unbind()
640 if (rxq_ctrl->type != MLX5_RXQ_TYPE_HAIRPIN) { in mlx5_hairpin_queue_peer_unbind()
647 if (rxq_ctrl->hairpin_status == 0) { in mlx5_hairpin_queue_peer_unbind()
653 if (rxq_ctrl->obj == NULL || rxq_ctrl->obj->rq == NULL) { in mlx5_hairpin_queue_peer_unbind()
662 ret = mlx5_devx_cmd_modify_rq(rxq_ctrl->obj->rq, &rq_attr); in mlx5_hairpin_queue_peer_unbind()
664 rxq_ctrl->hairpin_status = 0; in mlx5_hairpin_queue_peer_unbind()
969 struct mlx5_rxq_ctrl *rxq_ctrl; in mlx5_hairpin_get_peer_ports() local
998 rxq_ctrl = mlx5_rxq_get(dev, i); in mlx5_hairpin_get_peer_ports()
999 if (!rxq_ctrl) in mlx5_hairpin_get_peer_ports()
1001 if (rxq_ctrl->type != MLX5_RXQ_TYPE_HAIRPIN) { in mlx5_hairpin_get_peer_ports()
1005 pp = rxq_ctrl->hairpin_conf.peers[0].port; in mlx5_hairpin_get_peer_ports()