Home
last modified time | relevance | path

Searched refs:srq (Results 1 – 25 of 49) sorted by relevance

12

/titanic_50/usr/src/uts/common/io/ib/adapters/tavor/
H A Dtavor_srq.c65 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 Dtavor_wr.c67 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 Dtavor_umap.c82 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 Dtavor_ci.c2755 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 Dhermon_srq.c64 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 Dhermon_umap.c90 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 Dhermon_wr.c53 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 Dhermon_qp.c78 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 Dsmb_kutil.c1527 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 Ddapl_arbel_hw.c489 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 Ddapl_hermon_hw.c466 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 Ddapl_tavor_hw.c668 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 Ddapl_tavor_hw.h558 #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 Ddapl_tavor_wr.c665 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 Ddat_redirection.h155 #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 Dtavor_wr.h66 #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 Dtavor_srq.h214 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 Dtavor_hw.h179 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 Dhermon_wr.h77 #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 Dhermon_srq.h169 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 Dsmp_transport.c60 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 Dibtl_srq.c193 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 Dibci.h330 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 Dib_verbs.h284 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 Dsol_uverbs_qp.c452 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 …]

12