Home
last modified time | relevance | path

Searched refs:wq (Results 1 – 25 of 52) sorted by relevance

123

/dpdk/drivers/net/enic/base/
H A Dvnic_wq.c14 if (!wq->ctrl) in vnic_wq_get_ctrl()
38 wq->head_idx = 0; in vnic_wq_alloc_bufs()
39 wq->tail_idx = 0; in vnic_wq_alloc_bufs()
49 vdev = wq->vdev; in vnic_wq_free()
53 rte_free(wq->bufs); in vnic_wq_free()
54 wq->ctrl = NULL; in vnic_wq_free()
63 wq->index = index; in vnic_wq_alloc()
64 wq->vdev = vdev; in vnic_wq_alloc()
80 vnic_wq_free(wq); in vnic_wq_alloc()
106 wq->tail_idx = wq->head_idx; in vnic_wq_init_start()
[all …]
H A Dvnic_wq.h55 static inline unsigned int vnic_wq_desc_avail(struct vnic_wq *wq) in vnic_wq_desc_avail() argument
58 return wq->ring.desc_avail; in vnic_wq_desc_avail()
61 static inline unsigned int vnic_wq_desc_used(struct vnic_wq *wq) in vnic_wq_desc_used() argument
64 return wq->ring.desc_count - wq->ring.desc_avail - 1; in vnic_wq_desc_used()
149 void vnic_wq_free(struct vnic_wq *wq);
156 void vnic_wq_init(struct vnic_wq *wq, unsigned int cq_index,
159 void vnic_wq_error_out(struct vnic_wq *wq, unsigned int error);
160 unsigned int vnic_wq_error_status(struct vnic_wq *wq);
161 void vnic_wq_enable(struct vnic_wq *wq);
162 int vnic_wq_disable(struct vnic_wq *wq);
[all …]
/dpdk/drivers/net/hinic/base/
H A Dhinic_pmd_wq.c11 dma_free_coherent(hwdev, wq->wq_buf_size, (void *)wq->queue_buf_vaddr, in free_wq_pages()
14 wq->queue_buf_paddr = 0; in free_wq_pages()
15 wq->queue_buf_vaddr = 0; in free_wq_pages()
70 wq->cons_idx = 0; in hinic_wq_allocate()
71 wq->prod_idx = 0; in hinic_wq_allocate()
72 wq->delta = q_depth; in hinic_wq_allocate()
93 if ((wq->delta + num_wqebbs) > wq->q_depth) in hinic_read_wqe()
124 wq[i].cons_idx = 0; in hinic_cmdq_alloc()
151 wq->cons_idx = 0; in hinic_wq_wqe_pg_clear()
152 wq->prod_idx = 0; in hinic_wq_wqe_pg_clear()
[all …]
H A Dhinic_pmd_wq.h10 #define WQ_SIZE(wq) (u32)((u64)(wq)->q_depth * (wq)->wqebb_size) argument
12 #define WQE_PAGE_NUM(wq, idx) (((idx) >> ((wq)->wqebbs_per_page_shift)) & \ argument
13 ((wq)->num_q_pages - 1))
15 #define WQE_PAGE_OFF(wq, idx) ((u64)((wq)->wqebb_size) * \ argument
20 #define WQ_PAGE_ADDR(wq, idx) \ argument
36 #define WQ_BASE_VADDR(wqs, wq) \ argument
40 #define WQ_BASE_PADDR(wqs, wq) (((wqs)->page_paddr[(wq)->page_idx]) \ argument
43 #define WQ_BASE_ADDR(wqs, wq) \ argument
59 #define MASKED_WQE_IDX(wq, idx) ((idx) & (wq)->mask) argument
63 / (wq)->max_wqe_size)
[all …]
H A Dhinic_pmd_nicio.c152 struct hinic_wq *wq = sq->wq; in hinic_sq_prepare_ctxt() local
159 ci_start = (u16)(wq->cons_idx); in hinic_sq_prepare_ctxt()
160 pi_start = (u16)(wq->prod_idx); in hinic_sq_prepare_ctxt()
212 struct hinic_wq *wq = rq->wq; in hinic_rq_prepare_ctxt() local
219 ci_start = (u16)(wq->cons_idx); in hinic_rq_prepare_ctxt()
679 return (wq->delta) - 1; in hinic_get_sq_free_wqebbs()
687 return (wq->delta) - 1; in hinic_get_rq_free_wqebbs()
695 return (wq->cons_idx) & wq->mask; in hinic_get_sq_local_ci()
707 sq->wq->delta += num_wqebbs; in hinic_return_sq_wqe()
733 rq->wq->delta += num_wqebbs; in hinic_return_rq_wqe()
[all …]
H A Dhinic_pmd_cmdq.c144 #define WQE_NUM_WQEBBS(wqe_size, wq) \ argument
145 ((u16)(ALIGN((u32)(wqe_size), (wq)->wqebb_size) / (wq)->wqebb_size))
159 struct hinic_wq *wq = cmdq->wq; in hinic_cmdq_idle() local
161 return ((wq->delta) == wq->q_depth ? true : false); in hinic_cmdq_idle()
422 hinic_put_wqe(cmdq->wq, num_wqebbs); in clear_wqe_complete_bit()
490 cmdq->wq = wq; in init_cmdq()
689 struct hinic_wq *wq = cmdq->wq; in cmdq_init_queue_ctxt() local
693 u16 start_ci = (u16)(wq->cons_idx); in cmdq_init_queue_ctxt()
777 struct hinic_wq *wq = cmdq->wq; in cmdq_sync_cmd_direct_resp() local
801 if (next_prod_idx >= wq->q_depth) { in cmdq_sync_cmd_direct_resp()
[all …]
/dpdk/drivers/net/enic/
H A Denic_rxtx.c375 tail_idx = wq->tail_idx; in enic_free_wq_bufs()
400 wq->tail_idx = tail_idx; in enic_free_wq_bufs()
492 head_idx = wq->head_idx; in enic_xmit_pkts()
566 wq->cq_pend++; in enic_xmit_pkts()
570 wq->cq_pend = 0; in enic_xmit_pkts()
586 wq->cq_pend++; in enic_xmit_pkts()
592 wq->cq_pend = 0; in enic_xmit_pkts()
616 wq->head_idx = head_idx; in enic_xmit_pkts()
675 struct vnic_wq *wq; in enic_simple_xmit_pkts() local
687 head_idx = wq->head_idx; in enic_simple_xmit_pkts()
[all …]
H A Denic_main.c506 struct vnic_wq *wq; in enic_prep_wq_for_simple_tx() local
514 wq = &enic->wq[queue_idx]; in enic_prep_wq_for_simple_tx()
1029 struct vnic_wq *wq; in enic_free_wq() local
1035 wq = (struct vnic_wq *)txq; in enic_free_wq()
1038 vnic_wq_free(wq); in enic_free_wq()
1047 struct vnic_wq *wq; in enic_alloc_wq() local
1065 wq = &enic->wq[queue_idx]; in enic_alloc_wq()
1066 wq->socket_id = socket_id; in enic_alloc_wq()
1086 vnic_wq_free(wq); in enic_alloc_wq()
1098 if (!wq->cqmsg_rz) in enic_alloc_wq()
[all …]
H A Denic.h140 struct vnic_wq *wq; member
284 static inline unsigned int enic_cq_wq(struct enic *enic, unsigned int wq) in enic_cq_wq() argument
286 return enic->rq_count + wq; in enic_cq_wq()
409 unsigned int enic_cleanup_wq(struct enic *enic, struct vnic_wq *wq);
410 void enic_send_pkt(struct enic *enic, struct vnic_wq *wq,
415 void enic_post_wq_index(struct vnic_wq *wq);
H A Denic_vf_representor.c48 struct vnic_wq *wq; in enic_vf_dev_tx_queue_setup() local
60 wq = &pf->wq[vf->pf_wq_idx]; in enic_vf_dev_tx_queue_setup()
61 wq->offloads = tx_conf->offloads | in enic_vf_dev_tx_queue_setup()
63 eth_dev->data->tx_queues[0] = (void *)wq; in enic_vf_dev_tx_queue_setup()
196 vnic_wq_init(&pf->wq[index], cq_idx, 1, 0); in enic_vf_dev_start()
207 (uint64_t)pf->wq[index].cqmsg_rz->iova); in enic_vf_dev_start()
209 vnic_wq_enable(&pf->wq[index]); in enic_vf_dev_start()
261 vnic_wq_disable(&pf->wq[vf->pf_wq_idx]); in enic_vf_dev_stop()
262 vnic_wq_clean(&pf->wq[vf->pf_wq_idx], enic_free_wq_buf); in enic_vf_dev_stop()
H A Denic_ethdev.c118 if (!enic->wq[index].ctrl) in enicpmd_dev_setup_intr()
153 struct vnic_wq *wq; in enicpmd_dev_tx_queue_setup() local
160 wq = &enic->wq[queue_idx]; in enicpmd_dev_tx_queue_setup()
161 wq->offloads = tx_conf->offloads | in enicpmd_dev_tx_queue_setup()
163 eth_dev->data->tx_queues[queue_idx] = (void *)wq; in enicpmd_dev_tx_queue_setup()
896 struct vnic_wq *wq = &enic->wq[tx_queue_id]; in enicpmd_dev_txq_info_get() local
899 qinfo->nb_desc = wq->ring.desc_count; in enicpmd_dev_txq_info_get()
901 qinfo->conf.offloads = wq->offloads; in enicpmd_dev_txq_info_get()
/dpdk/drivers/net/mlx5/
H A Dmlx5_txpp.c135 memset(wq, 0, sizeof(*wq)); in mlx5_txpp_destroy_send_queue()
168 wq->sq_ci = ci + 1; in mlx5_txpp_doorbell_rearm_queue()
250 wq->cq_ci = 0; in mlx5_txpp_create_rearm_queue()
251 wq->arm_sn = 0; in mlx5_txpp_create_rearm_queue()
253 MLX5_ASSERT(wq->sq_size == (1 << log2above(wq->sq_size))); in mlx5_txpp_create_rearm_queue()
414 wq->cq_ci = 0; in mlx5_txpp_create_clock_queue()
427 MLX5_ASSERT(wq->sq_size == (1 << log2above(wq->sq_size))); in mlx5_txpp_create_clock_queue()
458 wq->sq_ci = 0; in mlx5_txpp_create_clock_queue()
601 wq->cq_ci += (ci - wq->sq_ci) & UINT16_MAX; in mlx5_txpp_update_timestamp()
602 wq->sq_ci = ci; in mlx5_txpp_update_timestamp()
[all …]
/dpdk/drivers/dma/idxd/
H A Didxd_bus.c310 struct dirent *wq; in dsa_scan() local
322 while ((wq = readdir(dev_dir)) != NULL) { in dsa_scan()
326 if (strncmp(wq->d_name, "wq", 2) != 0) in dsa_scan()
330 __func__, wq->d_name); in dsa_scan()
336 if (dsa_addr_parse(wq->d_name, &dev->addr) < 0) { in dsa_scan()
337 IDXD_PMD_ERR("Error parsing WQ name: %s", wq->d_name); in dsa_scan()
342 strlcpy(dev->wq_name, wq->d_name, sizeof(dev->wq_name)); in dsa_scan()
384 struct dsa_wq_addr *wq = addr; in dsa_addr_parse() local
392 if (wq != NULL) { in dsa_addr_parse()
393 wq->device_id = device_id; in dsa_addr_parse()
[all …]
/dpdk/drivers/raw/ioat/
H A Didxd_bus.c278 struct dirent *wq; in dsa_scan() local
290 while ((wq = readdir(dev_dir)) != NULL) { in dsa_scan()
294 if (strncmp(wq->d_name, "wq", 2) != 0) in dsa_scan()
298 __func__, wq->d_name); in dsa_scan()
301 IOAT_PMD_DEBUG("%s(): found %s/%s", __func__, path, wq->d_name); in dsa_scan()
304 if (dsa_addr_parse(wq->d_name, &dev->addr) < 0) { in dsa_scan()
305 IOAT_PMD_ERR("Error parsing WQ name: %s", wq->d_name); in dsa_scan()
310 strlcpy(dev->wq_name, wq->d_name, sizeof(dev->wq_name)); in dsa_scan()
352 struct dsa_wq_addr *wq = addr; in dsa_addr_parse() local
360 wq->device_id = device_id; in dsa_addr_parse()
[all …]
/dpdk/drivers/net/mlx4/
H A Dmlx4_rxq.c205 ind_tbl[i] = rxq->wq; in mlx4_rss_attach()
363 struct ibv_wq *wq; in mlx4_rss_init() local
403 if (wq) { in mlx4_rss_init()
404 wq_num = wq->wq_num; in mlx4_rss_init()
410 if (!wq) { in mlx4_rss_init()
540 if (!wq) { in mlx4_rxq_attach()
546 (wq, in mlx4_rxq_attach()
558 mlxdv.rwq.in = wq; in mlx4_rxq_attach()
608 rxq->wq = wq; in mlx4_rxq_attach()
627 if (wq) in mlx4_rxq_attach()
[all …]
H A Dmlx4_glue.c218 mlx4_glue_destroy_wq(struct ibv_wq *wq) in mlx4_glue_destroy_wq() argument
220 return ibv_destroy_wq(wq); in mlx4_glue_destroy_wq()
223 mlx4_glue_modify_wq(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr) in mlx4_glue_modify_wq() argument
225 return ibv_modify_wq(wq, wq_attr); in mlx4_glue_modify_wq()
H A Dmlx4_glue.h78 int (*destroy_wq)(struct ibv_wq *wq);
79 int (*modify_wq)(struct ibv_wq *wq, struct ibv_wq_attr *wq_attr);
/dpdk/drivers/net/mlx5/linux/
H A Dmlx5_verbs.c285 if (rxq_obj->wq) { in mlx5_rxq_ibv_wq_create()
300 rxq_obj->wq = NULL; in mlx5_rxq_ibv_wq_create()
304 return rxq_obj->wq; in mlx5_rxq_ibv_wq_create()
378 if (!tmpl->wq) { in mlx5_rxq_ibv_obj_new()
410 if (tmpl->wq) in mlx5_rxq_ibv_obj_new()
434 rxq_obj->wq = NULL; in mlx5_rxq_ibv_obj_release()
498 wq[i] = rxq->ctrl->obj->wq; in mlx5_ibv_ind_table_new()
503 wq[i] = wq[j]; in mlx5_ibv_ind_table_new()
508 .ind_tbl = wq, in mlx5_ibv_ind_table_new()
665 if (rxq_obj->wq) in mlx5_rxq_ibv_obj_drop_release()
[all …]
/dpdk/drivers/net/hinic/
H A Dhinic_pmd_tx.h11 #define HINIC_GET_WQ_HEAD(txq) ((txq)->wq->queue_buf_vaddr)
14 ((txq)->wq->queue_buf_vaddr + (txq)->wq->wq_buf_size)
108 struct hinic_wq *wq; member
H A Dhinic_pmd_tx.c185 (txq)->wq->cons_idx += wqebb_cnt; \
186 (txq)->wq->delta += wqebb_cnt; \
675 struct hinic_wq *wq = txq->wq; in hinic_get_sq_wqe() local
678 cur_pi = MASKED_WQE_IDX(wq, wq->prod_idx); in hinic_get_sq_wqe()
682 wq->prod_idx += wqebb_cnt; in hinic_get_sq_wqe()
683 wq->delta -= wqebb_cnt; in hinic_get_sq_wqe()
1108 prod_idx = MASKED_SQ_IDX(sq, sq->wq->prod_idx); in hinic_sq_write_db()
1333 sq->wq = &nic_io->sq_wq[q_id]; in hinic_create_sq()
1354 if (qp->sq.wq == NULL) in hinic_destroy_sq()
1358 hinic_wq_free(nic_io->hwdev, qp->sq.wq); in hinic_destroy_sq()
[all …]
H A Dhinic_pmd_rx.c21 ((rxq)->wq->mask)
24 (((rxq)->wq->cons_idx) & HINIC_GET_RQ_WQE_MASK(rxq))
31 (rxq)->wq->cons_idx += (wqebb_cnt); \
32 (rxq)->wq->delta += (wqebb_cnt); \
232 rq->wq = &nic_io->rq_wq[q_id]; in hinic_create_rq()
256 if (qp->rq.wq == NULL) in hinic_destroy_rq()
262 hinic_wq_free(nic_io->hwdev, qp->rq.wq); in hinic_destroy_rq()
263 qp->rq.wq = NULL; in hinic_destroy_rq()
928 rq_wqe = WQ_WQE_ADDR(rxq->wq, (u32)pi); in hinic_rearm_rxq_mbuf()
937 rxq->wq->prod_idx += rearm_wqebbs; in hinic_rearm_rxq_mbuf()
[all …]
/dpdk/doc/guides/dmadevs/
H A Didxd.rst65 * wq-size: the size of the WQ. Sum of all WQ sizes must be less that the total-size defined by the …
71 $ accel-config config-wq dsa0/wq0.0 --group-id=0 \
72 --mode=dedicated --priority=10 --wq-size=8 \
78 $ accel-config enable-wq dsa0/wq0.0
96 accel-config config-wq dsa0/wq0.0 --group-id=0 --type=user --wq-size=32 \
98 accel-config config-wq dsa0/wq0.1 --group-id=1 --type=user --wq-size=32 \
100 accel-config config-wq dsa0/wq0.2 --group-id=2 --type=user --wq-size=32 \
102 accel-config config-wq dsa0/wq0.3 --group-id=3 --type=user --wq-size=32 \
107 accel-config enable-wq dsa0/wq0.0 dsa0/wq0.1 dsa0/wq0.2 dsa0/wq0.3
/dpdk/drivers/common/mlx5/
H A Dmlx5_common_devx.h59 struct mlx5_devx_wq_res wq; member
66 struct mlx5_devx_wq_res wq; /* WQ resource of standalone RQ. */ member
H A Dmlx5_devx_cmds.c1208 MLX5_SET(wq, wq_ctx, wq_type, wq_attr->wq_type); in devx_cmd_fill_wq_data()
1215 MLX5_SET(wq, wq_ctx, lwm, wq_attr->lwm); in devx_cmd_fill_wq_data()
1216 MLX5_SET(wq, wq_ctx, pd, wq_attr->pd); in devx_cmd_fill_wq_data()
1223 MLX5_SET(wq, wq_ctx, log_wq_pg_sz, in devx_cmd_fill_wq_data()
1228 MLX5_SET(wq, wq_ctx, log_hairpin_num_packets, in devx_cmd_fill_wq_data()
1286 wq_ctx = MLX5_ADDR_OF(rqc, rq_ctx, wq); in mlx5_devx_cmd_create_rq()
1338 wq_ctx = MLX5_ADDR_OF(rqc, rq_ctx, wq); in mlx5_devx_cmd_modify_rq()
1339 MLX5_SET(wq, wq_ctx, lwm, rq_attr->lwm); in mlx5_devx_cmd_modify_rq()
1386 wq_ctx = MLX5_ADDR_OF(rmpc, rmp_ctx, wq); in mlx5_devx_cmd_create_rmp()
1709 wq_ctx = MLX5_ADDR_OF(sqc, sq_ctx, wq); in mlx5_devx_cmd_create_sq()
[all …]
H A Dmlx5_common_devx.c304 mlx5_devx_wq_res_destroy(&rmp->wq); in mlx5_devx_rmp_destroy()
431 mlx5_devx_wq_res_destroy(&rq->wq); in mlx5_devx_rq_destroy()
543 &attr->wq_attr, &rq_obj->wq); in mlx5_devx_rq_std_create()
557 mlx5_devx_wq_res_destroy(&rq_obj->wq); in mlx5_devx_rq_std_create()
593 &rmp_attr.wq_attr, &rmp_obj->wq); in mlx5_devx_rmp_create()
609 mlx5_devx_wq_res_destroy(&rmp_obj->wq); in mlx5_devx_rmp_create()

123