/titanic_50/usr/src/uts/common/io/ib/adapters/tavor/ |
H A D | tavor_srq.c | 65 tavor_srqhdl_t srq; in tavor_srq_alloc() local 145 srq = (tavor_srqhdl_t)rsrc->tr_addr; in tavor_srq_alloc() 146 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*srq)) in tavor_srq_alloc() 148 srq->srq_srqnum = srqc->tr_indx; /* just use index */ in tavor_srq_alloc() 159 srq->srq_srqnum, MLNX_UMAP_SRQMEM_RSRC, in tavor_srq_alloc() 209 TAVOR_QP_WQ_TYPE_RECVQ, &srq->srq_wq_log_wqesz, in tavor_srq_alloc() 210 &srq->srq_wq_sgl); in tavor_srq_alloc() 244 wqesz = (1 << srq->srq_wq_log_wqesz); in tavor_srq_alloc() 245 srq->srq_wqinfo.qa_size = (1 << log_srq_size) * wqesz; in tavor_srq_alloc() 246 srq->srq_wqinfo.qa_alloc_align = PAGESIZE; in tavor_srq_alloc() [all …]
|
H A D | tavor_wr.c | 67 static int tavor_wqe_srq_build(tavor_state_t *state, tavor_srqhdl_t srq, 70 tavor_srqhdl_t srq); 651 tavor_post_srq(tavor_state_t *state, tavor_srqhdl_t srq, in tavor_post_srq() argument 669 if (srq->srq_is_umap) { in tavor_post_srq() 679 mutex_enter(&srq->srq_lock); in tavor_post_srq() 684 if (srq->srq_state == TAVOR_SRQ_STATE_ERROR) { in tavor_post_srq() 685 mutex_exit(&srq->srq_lock); in tavor_post_srq() 693 mutex_enter(&srq->srq_wrid_wql->wql_lock); in tavor_post_srq() 716 if (srq->srq_wq_lastwqeindx == -1) { in tavor_post_srq() 719 prev = TAVOR_SRQ_WQE_ADDR(srq, srq->srq_wq_lastwqeindx); in tavor_post_srq() [all …]
|
H A D | tavor_umap.c | 82 static ibt_status_t tavor_umap_srq_data_out(tavor_srqhdl_t srq, 369 tavor_srqhdl_t srq; in tavor_umap_srqmem() local 378 srq = (tavor_srqhdl_t)rsrcp->tr_addr; in tavor_umap_srqmem() 384 offset = (offset_t)((uintptr_t)srq->srq_wqinfo.qa_buf_aligned - in tavor_umap_srqmem() 385 (uintptr_t)srq->srq_wqinfo.qa_buf_real); in tavor_umap_srqmem() 388 size = ptob(btopr(srq->srq_wqinfo.qa_size)); in tavor_umap_srqmem() 393 &tavor_devmap_umem_cbops, srq->srq_wqinfo.qa_umemcookie, offset, in tavor_umap_srqmem() 421 tavor_srqhdl_t srq; in tavor_devmap_umem_map() local 515 srq = tavor_srqhdl_from_srqnum(state, key); in tavor_devmap_umem_map() 522 mutex_enter(&srq->srq_lock); in tavor_devmap_umem_map() [all …]
|
H A D | tavor_ci.c | 2755 tavor_ci_free_srq(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq) in tavor_ci_free_srq() argument 2782 if (srq == NULL) { in tavor_ci_free_srq() 2789 srqhdl = (tavor_srqhdl_t)srq; in tavor_ci_free_srq() 2810 tavor_ci_query_srq(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq, ibc_pd_hdl_t *pd_p, in tavor_ci_query_srq() argument 2837 if (srq == NULL) { in tavor_ci_query_srq() 2844 srqhdl = (tavor_srqhdl_t)srq; in tavor_ci_query_srq() 2872 tavor_ci_modify_srq(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq, in tavor_ci_modify_srq() argument 2901 if (srq == NULL) { in tavor_ci_modify_srq() 2908 srqhdl = (tavor_srqhdl_t)srq; in tavor_ci_modify_srq() 2997 tavor_ci_post_srq(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq, in tavor_ci_post_srq() argument [all …]
|
/titanic_50/usr/src/uts/common/io/ib/adapters/hermon/ |
H A D | hermon_srq.c | 64 hermon_srqhdl_t srq; in hermon_srq_alloc() local 132 srq = (hermon_srqhdl_t)rsrc->hr_addr; in hermon_srq_alloc() 133 _NOTE(NOW_INVISIBLE_TO_OTHER_THREADS(*srq)) in hermon_srq_alloc() 135 bzero(srq, sizeof (struct hermon_sw_srq_s)); in hermon_srq_alloc() 139 srq->srq_srqnum = srqc->hr_indx; in hermon_srq_alloc() 150 srq->srq_srqnum, MLNX_UMAP_SRQMEM_RSRC, in hermon_srq_alloc() 163 status = hermon_dbr_alloc(state, uarpg, &srq->srq_wq_dbr_acchdl, in hermon_srq_alloc() 164 &srq->srq_wq_vdbr, &srq->srq_wq_pdbr, &srq->srq_rdbr_mapoffset); in hermon_srq_alloc() 209 HERMON_QP_WQ_TYPE_RECVQ, &srq->srq_wq_log_wqesz, in hermon_srq_alloc() 210 &srq->srq_wq_sgl); in hermon_srq_alloc() [all …]
|
H A D | hermon_umap.c | 90 static ibt_status_t hermon_umap_srq_data_out(hermon_srqhdl_t srq, 373 hermon_srqhdl_t srq; in hermon_umap_srqmem() local 380 srq = (hermon_srqhdl_t)rsrcp->hr_addr; in hermon_umap_srqmem() 386 offset = (offset_t)((uintptr_t)srq->srq_wqinfo.qa_buf_aligned - in hermon_umap_srqmem() 387 (uintptr_t)srq->srq_wqinfo.qa_buf_real); in hermon_umap_srqmem() 390 size = ptob(btopr(srq->srq_wqinfo.qa_size)); in hermon_umap_srqmem() 395 &hermon_devmap_umem_cbops, srq->srq_wqinfo.qa_umemcookie, offset, in hermon_umap_srqmem() 462 hermon_srqhdl_t srq; in hermon_devmap_umem_map() local 557 srq = hermon_srqhdl_from_srqnum(state, key); in hermon_devmap_umem_map() 564 mutex_enter(&srq->srq_lock); in hermon_devmap_umem_map() [all …]
|
H A D | hermon_wr.c | 53 static int hermon_wqe_srq_build(hermon_state_t *state, hermon_srqhdl_t srq, 1222 hermon_post_srq(hermon_state_t *state, hermon_srqhdl_t srq, in hermon_post_srq() argument 1231 mutex_enter(&srq->srq_lock); in hermon_post_srq() 1238 if (srq->srq_is_umap) { in hermon_post_srq() 1239 mutex_exit(&srq->srq_lock); in hermon_post_srq() 1246 if (srq->srq_state == HERMON_SRQ_STATE_ERROR) { in hermon_post_srq() 1247 mutex_exit(&srq->srq_lock); in hermon_post_srq() 1253 wq = srq->srq_wq_wqhdr; in hermon_post_srq() 1262 desc = HERMON_SRQ_WQE_ADDR(srq, indx); in hermon_post_srq() 1266 status = hermon_wqe_srq_build(state, srq, &wr[wrindx], desc); in hermon_post_srq() [all …]
|
H A D | hermon_qp.c | 78 hermon_srqhdl_t srq; in hermon_qp_alloc() local 180 srq = (hermon_srqhdl_t)attr_p->qp_ibc_srq_hdl; in hermon_qp_alloc() 205 if (qp_srq_en && (pd->pd_pdnum != srq->srq_pdhdl->pd_pdnum)) { in hermon_qp_alloc() 517 qp->qp_rq_wqavl.wqa_wq = srq->srq_wq_wqhdr; in hermon_qp_alloc() 519 qp->qp_rq_wqavl.wqa_srq = srq; in hermon_qp_alloc() 642 qp->qp_srqhdl = srq; in hermon_qp_alloc() 1238 hermon_srqhdl_t srq; in hermon_qp_alloc_range() local 1308 srq = (hermon_srqhdl_t)attr_p->qp_ibc_srq_hdl; in hermon_qp_alloc_range() 1329 if (qp_srq_en && (pd->pd_pdnum != srq->srq_pdhdl->pd_pdnum)) { in hermon_qp_alloc_range() 1626 qp->qp_rq_wqavl.wqa_wq = srq->srq_wq_wqhdr; in hermon_qp_alloc_range() [all …]
|
/titanic_50/usr/src/uts/common/fs/smbsrv/ |
H A D | smb_kutil.c | 1527 smb_srqueue_init(smb_srqueue_t *srq) in smb_srqueue_init() argument 1529 bzero(srq, sizeof (*srq)); in smb_srqueue_init() 1530 mutex_init(&srq->srq_mutex, NULL, MUTEX_SPIN, (void *)ipltospl(SPL7)); in smb_srqueue_init() 1531 srq->srq_wlastupdate = srq->srq_rlastupdate = gethrtime_unscaled(); in smb_srqueue_init() 1538 smb_srqueue_destroy(smb_srqueue_t *srq) in smb_srqueue_destroy() argument 1540 mutex_destroy(&srq->srq_mutex); in smb_srqueue_destroy() 1547 smb_srqueue_waitq_enter(smb_srqueue_t *srq) in smb_srqueue_waitq_enter() argument 1553 mutex_enter(&srq->srq_mutex); in smb_srqueue_waitq_enter() 1555 delta = new - srq->srq_wlastupdate; in smb_srqueue_waitq_enter() 1556 srq->srq_wlastupdate = new; in smb_srqueue_waitq_enter() [all …]
|
/titanic_50/usr/src/lib/udapl/udapl_tavor/tavor/ |
H A D | dapl_arbel_hw.c | 489 dapli_arbel_wqe_srq_build(ib_srq_handle_t srq, ibt_recv_wr_t *wr, in dapli_arbel_wqe_srq_build() argument 503 if (wr->wr_nds > srq->srq_wq_sgl) { in dapli_arbel_wqe_srq_build() 536 if (num_ds < srq->srq_wq_sgl) { in dapli_arbel_wqe_srq_build() 1289 ib_srq_handle_t srq; in dapli_arbel_post_srq() local 1297 srq = srqp->srq_handle; in dapli_arbel_post_srq() 1300 dapl_os_lock(&srq->srq_wridlist->wl_lock->wrl_lock); in dapli_arbel_post_srq() 1313 if (srq->srq_wridlist->wl_freel_entries == 0) { in dapli_arbel_post_srq() 1314 dapl_os_unlock(&srq->srq_wridlist->wl_lock->wrl_lock); in dapli_arbel_post_srq() 1319 qsize_msk = srq->srq_wridlist->wl_size - 1; in dapli_arbel_post_srq() 1320 head = srq->srq_wridlist->wl_freel_head; in dapli_arbel_post_srq() [all …]
|
H A D | dapl_hermon_hw.c | 466 dapli_hermon_wqe_srq_build(ib_srq_handle_t srq, ibt_recv_wr_t *wr, in dapli_hermon_wqe_srq_build() argument 480 if (wr->wr_nds > srq->srq_wq_sgl) { in dapli_hermon_wqe_srq_build() 513 if (num_ds < srq->srq_wq_sgl) { in dapli_hermon_wqe_srq_build() 1344 ib_srq_handle_t srq; in dapli_hermon_post_srq() local 1352 srq = srqp->srq_handle; in dapli_hermon_post_srq() 1355 dapl_os_lock(&srq->srq_wridlist->wl_lock->wrl_lock); in dapli_hermon_post_srq() 1368 if (srq->srq_wridlist->wl_freel_entries == 0) { in dapli_hermon_post_srq() 1369 dapl_os_unlock(&srq->srq_wridlist->wl_lock->wrl_lock); in dapli_hermon_post_srq() 1374 qsize_msk = srq->srq_wridlist->wl_size - 1; in dapli_hermon_post_srq() 1375 head = srq->srq_wridlist->wl_freel_head; in dapli_hermon_post_srq() [all …]
|
H A D | dapl_tavor_hw.c | 668 dapli_tavor_wqe_srq_build(ib_srq_handle_t srq, ibt_recv_wr_t *wr, in dapli_tavor_wqe_srq_build() argument 682 if (wr->wr_nds > srq->srq_wq_sgl) { in dapli_tavor_wqe_srq_build() 715 if (num_ds < srq->srq_wq_sgl) { in dapli_tavor_wqe_srq_build() 1550 ib_srq_handle_t srq; in dapli_tavor_post_srq() local 1559 srq = srqp->srq_handle; in dapli_tavor_post_srq() 1562 dapl_os_lock(&srq->srq_wridlist->wl_lock->wrl_lock); in dapli_tavor_post_srq() 1575 if (srq->srq_wridlist->wl_freel_entries == 0) { in dapli_tavor_post_srq() 1576 dapl_os_unlock(&srq->srq_wridlist->wl_lock->wrl_lock); in dapli_tavor_post_srq() 1581 qsize_msk = srq->srq_wridlist->wl_size - 1; in dapli_tavor_post_srq() 1582 head = srq->srq_wridlist->wl_freel_head; in dapli_tavor_post_srq() [all …]
|
H A D | dapl_tavor_hw.h | 558 #define TAVOR_SRQ_RQ_ENTRY(srq, tail) \ argument 559 ((uint64_t *)((uintptr_t)((srq)->srq_wq_buf) + \ 560 ((tail) * (srq)->srq_wq_wqesz))) 561 #define TAVOR_SRQ_RQ_DESC(srq, tail) \ argument 562 ((uint32_t)((srq)->srq_wq_desc_addr + \ 563 ((tail) * (srq)->srq_wq_wqesz))) 566 #define TAVOR_SRQ_WQ_ENTRY(srq, index) \ argument 567 ((uint64_t *)(((uintptr_t)(srq)->srq_addr) + \ 568 ((index) * (srq)->srq_wq_wqesz)))
|
H A D | dapl_tavor_wr.c | 665 dapls_tavor_srq_wrid_init(ib_srq_handle_t srq) in dapls_tavor_srq_wrid_init() argument 670 wridlist = dapli_tavor_wrid_get_list(srq->srq_wq_numwqe, 1); in dapls_tavor_srq_wrid_init() 674 srq->srq_wridlist = NULL; in dapls_tavor_srq_wrid_init() 679 wridlist->wl_free_list[0] = srq->srq_wq_desc_addr; in dapls_tavor_srq_wrid_init() 680 for (i = 1; i < srq->srq_wq_numwqe; i++) { in dapls_tavor_srq_wrid_init() 682 srq->srq_wq_wqesz; in dapls_tavor_srq_wrid_init() 684 wridlist->wl_srq_wqesz = srq->srq_wq_wqesz; in dapls_tavor_srq_wrid_init() 685 wridlist->wl_srq_desc_addr = srq->srq_wq_desc_addr; in dapls_tavor_srq_wrid_init() 687 srq->srq_wridlist = wridlist; in dapls_tavor_srq_wrid_init() 692 dapls_tavor_srq_wrid_free(ib_srq_handle_t srq) in dapls_tavor_srq_wrid_free() argument [all …]
|
/titanic_50/usr/src/lib/udapl/libdat/include/dat/ |
H A D | dat_redirection.h | 155 #define DAT_EP_CREATE_WITH_SRQ(ia, pz, in_evd, out_evd, connect_evd, srq,\ argument 163 (srq),\ 372 #define DAT_SRQ_CREATE(ia, pz, attr, srq) \ argument 377 (srq)) 379 #define DAT_SRQ_SET_LW(srq, lw) \ argument 380 (*DAT_HANDLE_TO_PROVIDER(srq)->srq_set_lw_func)(\ 381 (srq),\ 384 #define DAT_SRQ_FREE(srq) \ argument 385 (*DAT_HANDLE_TO_PROVIDER(srq)->srq_free_func)(\ 386 (srq)) [all …]
|
/titanic_50/usr/src/uts/common/sys/ib/adapters/tavor/ |
H A D | tavor_wr.h | 66 #define TAVOR_SRQ_WQ_ENTRY(srq, tail) \ argument 67 ((uint64_t *)((uintptr_t)((srq)->srq_wq_buf) + \ 68 ((tail) << (srq)->srq_wq_log_wqesz))) 79 #define TAVOR_SRQ_WQE_ADDR(srq, wqe_index) \ argument 80 ((uint64_t *)((uintptr_t)srq->srq_wq_buf + \ 81 (wqe_index << srq->srq_wq_log_wqesz))) 301 void tavor_wrid_add_entry_srq(tavor_srqhdl_t srq, uint64_t wrid, 308 tavor_srqhdl_t srq, uint_t wq_start);
|
H A D | tavor_srq.h | 214 int tavor_srq_modify(tavor_state_t *state, tavor_srqhdl_t srq, 216 int tavor_srq_post(tavor_state_t *state, tavor_srqhdl_t srq, 218 void tavor_srq_refcnt_inc(tavor_srqhdl_t srq); 219 void tavor_srq_refcnt_dec(tavor_srqhdl_t srq);
|
H A D | tavor_hw.h | 179 uint32_t srq :1; member 298 uint32_t srq :1; member 1556 uint32_t srq :1; member 1565 uint32_t srq :1; member 2472 #define TAVOR_WQE_BUILD_DATA_SEG_SRQ(srq, ds, sgl) \ argument 2477 ddi_put64((srq)->srq_wqinfo.qa_acchdl, &tmp[0], \ 2480 ddi_put64((srq)->srq_wqinfo.qa_acchdl, &tmp[1], (sgl)->ds_va); \ 2512 #define TAVOR_WQE_LINKNEXT_SRQ(srq, prev, ctrl, next) \ argument 2514 ddi_put64((srq)->srq_wqinfo.qa_acchdl, &((uint64_t *)(prev))[1],\ 2516 ddi_put64((srq)->srq_wqinfo.qa_acchdl, &((uint64_t *)(prev))[0],\
|
/titanic_50/usr/src/uts/common/sys/ib/adapters/hermon/ |
H A D | hermon_wr.h | 77 #define HERMON_SRQ_WQ_ENTRY(srq, tail) \ argument 78 ((uint64_t *)((uintptr_t)((srq)->srq_wq_buf) + \ 79 ((tail) << (srq)->srq_wq_log_wqesz))) 95 #define HERMON_SRQ_WQE_ADDR(srq, wqe_index) \ argument 96 ((uint64_t *)((uintptr_t)srq->srq_wq_buf + \ 97 (wqe_index << srq->srq_wq_log_wqesz)))
|
H A D | hermon_srq.h | 169 int hermon_srq_modify(hermon_state_t *state, hermon_srqhdl_t srq, 171 int hermon_srq_post(hermon_state_t *state, hermon_srqhdl_t srq, 173 void hermon_srq_refcnt_inc(hermon_srqhdl_t srq); 174 void hermon_srq_refcnt_dec(hermon_srqhdl_t srq);
|
/titanic_50/usr/src/uts/common/io/scsi/impl/ |
H A D | smp_transport.c | 60 smp_request_frame_t *srq; in smp_probe() local 68 srq = (smp_request_frame_t *)srq_buf; in smp_probe() 69 bzero(srq, sizeof (srq_buf)); in smp_probe() 70 srq->srf_frame_type = SMP_FRAME_TYPE_REQUEST; in smp_probe() 71 srq->srf_function = SMP_FUNC_REPORT_MANUFACTURER_INFO; in smp_probe() 76 smp_pkt->smp_pkt_req = (caddr_t)srq; in smp_probe()
|
/titanic_50/usr/src/uts/common/io/ib/ibtl/ |
H A D | ibtl_srq.c | 193 ibt_post_srq(ibt_srq_hdl_t srq, ibt_recv_wr_t *wr_list, uint_t size, in ibt_post_srq() argument 197 srq, wr_list, size); in ibt_post_srq() 199 return (IBTL_SRQ2CIHCAOPS_P(srq)->ibc_post_srq(IBTL_SRQ2CIHCA(srq), in ibt_post_srq() 200 srq->srq_ibc_srq_hdl, wr_list, size, posted)); in ibt_post_srq()
|
/titanic_50/usr/src/uts/common/sys/ib/ibtl/ |
H A D | ibci.h | 330 ibt_status_t (*ibc_free_srq)(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq); 331 ibt_status_t (*ibc_query_srq)(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq, 333 ibt_status_t (*ibc_modify_srq)(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq, 336 ibt_status_t (*ibc_post_srq)(ibc_hca_hdl_t hca, ibc_srq_hdl_t srq,
|
/titanic_50/usr/src/uts/common/sys/ib/clients/of/rdma/ |
H A D | ib_verbs.h | 284 struct ib_srq *srq; member 452 struct ib_srq *srq; member 611 struct ib_srq *srq; member
|
/titanic_50/usr/src/uts/common/io/ib/clients/of/sol_uverbs/ |
H A D | sol_uverbs_qp.c | 452 qp_attr.qp_srq_hdl = usrq->srq; in sol_uverbs_create_qp() 1898 rc = ibt_alloc_srq(uctxt->hca->hdl, flags, upd->pd, &attr, &usrq->srq, in sol_uverbs_create_srq() 1904 usrq->srq = NULL; in sol_uverbs_create_srq() 1910 ibt_set_srq_private(usrq->srq, usrq); in sol_uverbs_create_srq() 1922 (void *)usrq->srq, &resp.drv_out, sizeof (resp.drv_out)); in sol_uverbs_create_srq() 1988 (void) ibt_free_srq(usrq->srq); in sol_uverbs_create_srq() 2052 rc = ibt_modify_srq(usrq->srq, flags, size, limit, &real_size); in sol_uverbs_modify_srq() 2114 rc = ibt_query_srq(usrq->srq, &pd, &attr, &limit); in sol_uverbs_query_srq() 2160 if (!usrq->srq) in uverbs_usrq_free() 2163 rc = ibt_free_srq(usrq->srq); in uverbs_usrq_free() [all …]
|