| /dpdk/drivers/net/enic/base/ |
| H A D | vnic_wq.c | 14 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 D | vnic_wq.h | 55 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 D | hinic_pmd_wq.c | 11 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 D | hinic_pmd_wq.h | 10 #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 D | hinic_pmd_nicio.c | 152 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 D | hinic_pmd_cmdq.c | 144 #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 D | enic_rxtx.c | 375 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 D | enic_main.c | 506 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 D | enic.h | 140 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 D | enic_vf_representor.c | 48 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 D | enic_ethdev.c | 118 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 D | mlx5_txpp.c | 135 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 D | idxd_bus.c | 310 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 D | idxd_bus.c | 278 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 D | mlx4_rxq.c | 205 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 D | mlx4_glue.c | 218 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 D | mlx4_glue.h | 78 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 D | mlx5_verbs.c | 285 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 D | hinic_pmd_tx.h | 11 #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 D | hinic_pmd_tx.c | 185 (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 D | hinic_pmd_rx.c | 21 ((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 D | idxd.rst | 65 * 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 D | mlx5_common_devx.h | 59 struct mlx5_devx_wq_res wq; member 66 struct mlx5_devx_wq_res wq; /* WQ resource of standalone RQ. */ member
|
| H A D | mlx5_devx_cmds.c | 1208 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 D | mlx5_common_devx.c | 304 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()
|