| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_hw_qp.h | 181 void hinic_sq_write_db(struct hinic_sq *sq, u16 prod_idx, unsigned int wqe_size, 185 unsigned int wqe_size, u16 *prod_idx); 187 void hinic_sq_return_wqe(struct hinic_sq *sq, unsigned int wqe_size); 191 unsigned int wqe_size); 195 unsigned int wqe_size, u16 *cons_idx); 199 unsigned int *wqe_size, u16 *cons_idx); 201 void hinic_sq_put_wqe(struct hinic_sq *sq, unsigned int wqe_size); 207 unsigned int wqe_size, u16 *prod_idx); 213 unsigned int wqe_size, 217 unsigned int wqe_size, [all …]
|
| H A D | hinic_hw_qp.c | 635 void hinic_sq_write_db(struct hinic_sq *sq, u16 prod_idx, unsigned int wqe_size, in hinic_sq_write_db() argument 641 prod_idx += ALIGN(wqe_size, wq->wqebb_size) / wq->wqebb_size; in hinic_sq_write_db() 658 unsigned int wqe_size, u16 *prod_idx) in hinic_sq_get_wqe() argument 660 struct hinic_hw_wqe *hw_wqe = hinic_get_wqe(sq->wq, wqe_size, in hinic_sq_get_wqe() 674 void hinic_sq_return_wqe(struct hinic_sq *sq, unsigned int wqe_size) in hinic_sq_return_wqe() argument 676 hinic_return_wqe(sq->wq, wqe_size); in hinic_sq_return_wqe() 689 struct sk_buff *skb, unsigned int wqe_size) in hinic_sq_write_wqe() argument 696 hinic_cpu_to_be32(sq_wqe, wqe_size); in hinic_sq_write_wqe() 698 hinic_write_wqe(sq->wq, hw_wqe, wqe_size); in hinic_sq_write_wqe() 713 unsigned int *wqe_size, u16 *cons_idx) in hinic_sq_read_wqebb() argument [all …]
|
| H A D | hinic_tx.c | 498 unsigned int wqe_size; in hinic_lb_xmit_frame() local 510 wqe_size = HINIC_SQ_WQE_SIZE(nr_sges); in hinic_lb_xmit_frame() 512 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_lb_xmit_frame() 516 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_lb_xmit_frame() 528 wqe_size = 0; in hinic_lb_xmit_frame() 534 hinic_sq_write_wqe(txq->sq, prod_idx, sq_wqe, skb, wqe_size); in hinic_lb_xmit_frame() 539 hinic_sq_write_db(txq->sq, prod_idx, wqe_size, 0); in hinic_lb_xmit_frame() 559 unsigned int wqe_size; in hinic_xmit_frame() local 591 wqe_size = HINIC_SQ_WQE_SIZE(nr_sges); in hinic_xmit_frame() 593 sq_wqe = hinic_sq_get_wqe(txq->sq, wqe_size, &prod_idx); in hinic_xmit_frame() [all …]
|
| H A D | hinic_hw_wq.h | 96 struct hinic_hw_wqe *hinic_get_wqe(struct hinic_wq *wq, unsigned int wqe_size, 99 void hinic_return_wqe(struct hinic_wq *wq, unsigned int wqe_size); 101 void hinic_put_wqe(struct hinic_wq *wq, unsigned int wqe_size); 103 struct hinic_hw_wqe *hinic_read_wqe(struct hinic_wq *wq, unsigned int wqe_size, 109 unsigned int wqe_size);
|
| H A D | hinic_hw_wq.c | 740 struct hinic_hw_wqe *hinic_get_wqe(struct hinic_wq *wq, unsigned int wqe_size, in hinic_get_wqe() argument 748 num_wqebbs = ALIGN(wqe_size, wq->wqebb_size) >> wq->wqebb_size_shift; in hinic_get_wqe() 789 void hinic_return_wqe(struct hinic_wq *wq, unsigned int wqe_size) in hinic_return_wqe() argument 791 int num_wqebbs = ALIGN(wqe_size, wq->wqebb_size) / wq->wqebb_size; in hinic_return_wqe() 803 void hinic_put_wqe(struct hinic_wq *wq, unsigned int wqe_size) in hinic_put_wqe() argument 805 int num_wqebbs = ALIGN(wqe_size, wq->wqebb_size) in hinic_put_wqe() 821 struct hinic_hw_wqe *hinic_read_wqe(struct hinic_wq *wq, unsigned int wqe_size, in hinic_read_wqe() argument 824 int num_wqebbs = ALIGN(wqe_size, wq->wqebb_size) in hinic_read_wqe() 889 unsigned int wqe_size) in hinic_write_wqe() argument 899 num_wqebbs = ALIGN(wqe_size, wq->wqebb_size) / wq->wqebb_size; in hinic_write_wqe()
|
| H A D | hinic_hw_cmdq.c | 155 unsigned int wqe_size = 0; in cmdq_wqe_size_from_bdlen() local 159 wqe_size = WQE_LCMD_SIZE; in cmdq_wqe_size_from_bdlen() 162 wqe_size = WQE_SCMD_SIZE; in cmdq_wqe_size_from_bdlen() 166 return wqe_size; in cmdq_wqe_size_from_bdlen() 532 unsigned int bufdesc_len, wqe_size; in clear_wqe_complete_bit() local 536 wqe_size = cmdq_wqe_size_from_bdlen(bufdesc_len); in clear_wqe_complete_bit() 537 if (wqe_size == WQE_LCMD_SIZE) { in clear_wqe_complete_bit()
|
| /linux/drivers/infiniband/hw/qedr/ |
| H A D | qedr_hsi_rdma.h | 310 u8 wqe_size; member 338 u8 wqe_size; member 374 u8 wqe_size; member 420 u8 wqe_size; member 475 u8 wqe_size; member 498 u8 wqe_size; member 548 u8 wqe_size; member 602 u8 wqe_size; member 628 u8 wqe_size; member 663 u8 wqe_size; member [all …]
|
| H A D | verbs.c | 3293 struct qedr_qp *qp, u8 *wqe_size, in qedr_prepare_sq_inline_data() argument 3330 (*wqe_size)++; in qedr_prepare_sq_inline_data() 3378 static u32 qedr_prepare_sq_sges(struct qedr_qp *qp, u8 *wqe_size, in qedr_prepare_sq_sges() argument 3393 if (wqe_size) in qedr_prepare_sq_sges() 3394 *wqe_size += wr->num_sge; in qedr_prepare_sq_sges() 3415 return qedr_prepare_sq_inline_data(dev, qp, &rwqe->wqe_size, wr, in qedr_prepare_sq_rdma_data() 3419 return qedr_prepare_sq_sges(qp, &rwqe->wqe_size, wr); in qedr_prepare_sq_rdma_data() 3434 return qedr_prepare_sq_inline_data(dev, qp, &swqe->wqe_size, wr, in qedr_prepare_sq_send_data() 3438 return qedr_prepare_sq_sges(qp, &swqe->wqe_size, wr); in qedr_prepare_sq_send_data() 3591 swqe->wqe_size = 2; in __qedr_post_send() [all …]
|
| /linux/drivers/infiniband/sw/rxe/ |
| H A D | rxe_qp.c | 239 int wqe_size; in rxe_init_sq() local 243 wqe_size = max_t(int, init->cap.max_send_sge * sizeof(struct ib_sge), in rxe_init_sq() 245 qp->sq.max_sge = wqe_size / sizeof(struct ib_sge); in rxe_init_sq() 246 qp->sq.max_inline = wqe_size; in rxe_init_sq() 247 wqe_size += sizeof(struct rxe_send_wqe); in rxe_init_sq() 249 qp->sq.queue = rxe_queue_init(rxe, &qp->sq.max_wr, wqe_size, in rxe_init_sq() 332 int wqe_size; in rxe_init_rq() local 337 wqe_size = sizeof(struct rxe_recv_wqe) + in rxe_init_rq() 340 qp->rq.queue = rxe_queue_init(rxe, &qp->rq.max_wr, wqe_size, in rxe_init_rq()
|
| /linux/drivers/infiniband/hw/ocrdma/ |
| H A D | ocrdma_verbs.c | 368 dev->attr.wqe_size) : 0; in _ocrdma_alloc_pd() 500 resp.wqe_size = dev->attr.wqe_size; in ocrdma_alloc_ucontext() 502 resp.dpp_wqe_size = dev->attr.wqe_size; in ocrdma_alloc_ucontext() 1924 const struct ib_send_wr *wr, u32 wqe_size) in ocrdma_build_inline_sges() argument 1945 wqe_size += roundup(hdr->total_len, OCRDMA_WQE_ALIGN_BYTES); in ocrdma_build_inline_sges() 1947 wqe_size += sizeof(struct ocrdma_sge); in ocrdma_build_inline_sges() 1952 wqe_size += (wr->num_sge * sizeof(struct ocrdma_sge)); in ocrdma_build_inline_sges() 1954 wqe_size += sizeof(struct ocrdma_sge); in ocrdma_build_inline_sges() 1957 hdr->cw |= ((wqe_size / OCRDMA_WQE_STRIDE) << OCRDMA_WQE_SIZE_SHIFT); in ocrdma_build_inline_sges() 1965 u32 wqe_size = sizeof(*hdr); in ocrdma_build_send() local [all …]
|
| /linux/drivers/infiniband/hw/mlx5/ |
| H A D | qp.c | 274 size_t wqe_size = 1 << wq->wqe_shift; in mlx5_ib_read_wqe_rq() local 276 if (buflen < wqe_size) in mlx5_ib_read_wqe_rq() 306 size_t wqe_size = 1 << srq->msrq.wqe_shift; in mlx5_ib_read_wqe_srq() local 308 if (buflen < wqe_size) in mlx5_ib_read_wqe_srq() 436 int wqe_size; in set_rq_size() local 467 wqe_size = in set_rq_size() 470 wqe_size += cap->max_recv_sge * sizeof(struct mlx5_wqe_data_seg); in set_rq_size() 471 wqe_size = roundup_pow_of_two(wqe_size); in set_rq_size() 472 wq_size = roundup_pow_of_two(cap->max_recv_wr) * wqe_size; in set_rq_size() 474 qp->rq.wqe_cnt = wq_size / wqe_size; in set_rq_size() [all …]
|
| H A D | wr.c | 431 int wqe_size; in set_sig_data_segment() local 462 wqe_size = ALIGN(sizeof(*data_klm), 64); in set_sig_data_segment() 508 wqe_size = ALIGN(sizeof(*sblock_ctrl) + sizeof(*data_sentry) + in set_sig_data_segment() 512 *seg += wqe_size; in set_sig_data_segment() 513 *size += wqe_size / 16; in set_sig_data_segment()
|
| H A D | odp.c | 1302 int wqe_size = 1 << srq->msrq.wqe_shift; in mlx5_ib_mr_responder_pfault_handler_srq() local 1304 if (wqe_size > wqe_length) { in mlx5_ib_mr_responder_pfault_handler_srq() 1309 *wqe_end = *wqe + wqe_size; in mlx5_ib_mr_responder_pfault_handler_srq() 1321 int wqe_size = 1 << wq->wqe_shift; in mlx5_ib_mr_responder_pfault_handler_rq() local 1328 if (wqe_size > wqe_length) { in mlx5_ib_mr_responder_pfault_handler_rq() 1333 *wqe_end = wqe + wqe_size; in mlx5_ib_mr_responder_pfault_handler_rq()
|
| /linux/drivers/infiniband/hw/vmw_pvrdma/ |
| H A D | pvrdma_qp.c | 147 qp->rq.wqe_size = roundup_pow_of_two(sizeof(struct pvrdma_rq_wqe_hdr) + in pvrdma_set_rq_size() 150 qp->npages_recv = (qp->rq.wqe_cnt * qp->rq.wqe_size + PAGE_SIZE - 1) / in pvrdma_set_rq_size() 172 qp->sq.wqe_size = roundup_pow_of_two(sizeof(struct pvrdma_sq_wqe_hdr) + in pvrdma_set_sq_size() 177 (qp->sq.wqe_cnt * qp->sq.wqe_size + PAGE_SIZE - 1) / in pvrdma_set_sq_size() 637 qp->sq.offset + n * qp->sq.wqe_size); in get_sq_wqe() 643 qp->rq.offset + n * qp->rq.wqe_size); in get_rq_wqe()
|
| H A D | pvrdma.h | 155 int wqe_size; member 170 int wqe_size; member
|
| /linux/include/uapi/rdma/ |
| H A D | ocrdma-abi.h | 55 __u32 wqe_size; member
|
| H A D | ib_user_verbs.h | 858 __u32 wqe_size; member 877 __u32 wqe_size; member 890 __u32 wqe_size; member
|
| /linux/drivers/scsi/elx/libefc_sli/ |
| H A D | sli4.c | 317 n_wqe = qmem->size / sli4->wqe_size; in sli_cmd_wq_create() 352 if (sli4->wqe_size == SLI4_WQE_EXT_BYTES) in sli_cmd_wq_create() 750 size = sli4->wqe_size; in sli_get_queue_entry_size() 1377 memset(buf, 0, sli->wqe_size); in sli_abort_wqe() 1426 memset(buf, 0, sli->wqe_size); in sli_els_request64_wqe() 1571 memset(buf, 0, sli->wqe_size); in sli_fcp_icmnd64_wqe() 1638 memset(buf, 0, sli->wqe_size); in sli_fcp_iread64_wqe() 1741 memset(buf, 0, sli->wqe_size); in sli_fcp_iwrite64_wqe() 1832 memset(buf, 0, sli->wqe_size); in sli_fcp_treceive64_wqe() 1931 if (params->app_id && sli->wqe_size == SLI4_WQE_EXT_BYTES && in sli_fcp_treceive64_wqe() [all …]
|
| /linux/drivers/infiniband/hw/ionic/ |
| H A D | ionic_controlpath.c | 1694 uint32_t wqe_size) in ionic_expdb_wqe_size_supported() argument 1696 switch (wqe_size) { in ionic_expdb_wqe_size_supported() 1785 u32 wqe_size; in ionic_qp_sq_init() local 1853 wqe_size = ionic_v1_send_wqe_min_size(max_sge, max_data, in ionic_qp_sq_init() 1857 if (!ionic_expdb_wqe_size_supported(dev, wqe_size)) in ionic_qp_sq_init() 1862 wqe_size = ionic_v1_send_wqe_min_size(max_sge, max_data, in ionic_qp_sq_init() 1867 max_wr, wqe_size); in ionic_qp_sq_init() 2012 u32 wqe_size; in ionic_qp_rq_init() local 2066 wqe_size = ionic_v1_recv_wqe_min_size(max_sge, in ionic_qp_rq_init() 2070 if (!ionic_expdb_wqe_size_supported(dev, wqe_size)) in ionic_qp_rq_init() [all …]
|
| /linux/drivers/infiniband/hw/bnxt_re/ |
| H A D | ib_verbs.c | 1070 u16 wqe_size, calc_ils; in bnxt_re_get_wqe_size() local 1072 wqe_size = bnxt_re_get_swqe_size(nsge); in bnxt_re_get_wqe_size() 1075 wqe_size = max_t(u16, calc_ils, wqe_size); in bnxt_re_get_wqe_size() 1076 wqe_size = ALIGN(wqe_size, sizeof(struct sq_send_hdr)); in bnxt_re_get_wqe_size() 1078 return wqe_size; in bnxt_re_get_wqe_size() 1102 sq->wqe_size = bnxt_re_get_swqe_size(BNXT_STATIC_MAX_SGE); in bnxt_re_setup_swqe_size() 1105 sq->wqe_size = bnxt_re_get_wqe_size(ilsize, sq->max_sge); in bnxt_re_setup_swqe_size() 1106 if (sq->wqe_size > bnxt_re_get_swqe_size(dev_attr->max_qp_sges)) in bnxt_re_setup_swqe_size() 1111 qplqp->max_inline_data = sq->wqe_size - in bnxt_re_setup_swqe_size() 1130 bytes = (qplib_qp->sq.max_wqe * qplib_qp->sq.wqe_size); in bnxt_re_init_user_qp() [all …]
|
| H A D | qplib_fp.c | 657 hwq_attr.stride = srq->wqe_size; in bnxt_qplib_create_srq() 772 memset(srqe, 0, srq->wqe_size); in bnxt_qplib_post_srq_recv() 782 srqe->wqe_size = wqe->num_sge + in bnxt_qplib_post_srq_recv() 918 rq->dbinfo.max_slot = bnxt_qplib_set_rq_max_slot(rq->wqe_size); in bnxt_qplib_create_qp1() 1153 rq->dbinfo.max_slot = bnxt_qplib_set_rq_max_slot(rq->wqe_size); in bnxt_qplib_create_qp() 1942 sqe->wqe_size = wqe_sz; in bnxt_qplib_post_send() 1961 sqe->wqe_size = wqe_sz; in bnxt_qplib_post_send() 1992 sqe->wqe_size = wqe_sz; in bnxt_qplib_post_send() 2178 base_hdr->wqe_size = wqe_sz; in bnxt_qplib_post_recv()
|
| /linux/drivers/infiniband/hw/irdma/ |
| H A D | uk.c | 1613 srq->wqe_size = rqshift; in irdma_uk_srq_init() 1900 int irdma_fragcnt_to_wqesize_rq(u32 frag_cnt, u16 *wqe_size) in irdma_fragcnt_to_wqesize_rq() argument 1905 *wqe_size = 32; in irdma_fragcnt_to_wqesize_rq() 1909 *wqe_size = 64; in irdma_fragcnt_to_wqesize_rq() 1915 *wqe_size = 128; in irdma_fragcnt_to_wqesize_rq() 1924 *wqe_size = 256; in irdma_fragcnt_to_wqesize_rq()
|
| H A D | user.h | 465 u8 wqe_size; member 588 int irdma_fragcnt_to_wqesize_rq(u32 frag_cnt, u16 *wqe_size);
|
| /linux/drivers/infiniband/core/ |
| H A D | uverbs_cmd.c | 2039 wqes = uverbs_request_next_ptr(&iter, size_mul(cmd.wqe_size, in ib_uverbs_post_send() 2052 if (cmd.wqe_size < sizeof(struct ib_uverbs_send_wr)) in ib_uverbs_post_send() 2055 user_wr = kmalloc(cmd.wqe_size, GFP_KERNEL | __GFP_NOWARN); in ib_uverbs_post_send() 2069 if (copy_from_user(user_wr, wqes + i * cmd.wqe_size, in ib_uverbs_post_send() 2070 cmd.wqe_size)) { in ib_uverbs_post_send() 2221 u32 wqe_size, u32 sge_count) in ib_uverbs_unmarshall_recv() argument 2231 if (wqe_size < sizeof(struct ib_uverbs_recv_wr)) in ib_uverbs_unmarshall_recv() 2234 wqes = uverbs_request_next_ptr(iter, size_mul(wqe_size, wr_count)); in ib_uverbs_unmarshall_recv() 2245 user_wr = kmalloc(wqe_size, GFP_KERNEL | __GFP_NOWARN); in ib_uverbs_unmarshall_recv() 2252 if (copy_from_user(user_wr, wqes + i * wqe_size, in ib_uverbs_unmarshall_recv() [all …]
|
| /linux/drivers/net/ethernet/microsoft/mana/ |
| H A D | gdma_main.c | 1388 u32 wqe_size; in mana_gd_post_work_request() local 1410 wqe_size = ALIGN(sizeof(struct gdma_wqe) + client_oob_size + in mana_gd_post_work_request() 1412 if (wqe_size > max_wqe_size) in mana_gd_post_work_request() 1415 if (wq->monitor_avl_buf && wqe_size > mana_gd_wq_avail_space(wq)) in mana_gd_post_work_request() 1419 wqe_info->wqe_size_in_bu = wqe_size / GDMA_WQE_BU_SIZE; in mana_gd_post_work_request() 1429 wq->head += wqe_size / GDMA_WQE_BU_SIZE; in mana_gd_post_work_request()
|