/Linux-v4.19/drivers/infiniband/hw/cxgb3/ |
D | iwch_qp.c | 248 static int build_rdma_recv(struct iwch_qp *qhp, union t3_wr *wqe, in build_rdma_recv() argument 255 err = iwch_sgl2pbl_map(qhp->rhp, wr->sg_list, wr->num_sge, pbl_addr, in build_rdma_recv() 281 qhp->wq.rq[Q_PTR2IDX(qhp->wq.rq_wptr, in build_rdma_recv() 282 qhp->wq.rq_size_log2)].wr_id = wr->wr_id; in build_rdma_recv() 283 qhp->wq.rq[Q_PTR2IDX(qhp->wq.rq_wptr, in build_rdma_recv() 284 qhp->wq.rq_size_log2)].pbl_addr = 0; in build_rdma_recv() 288 static int build_zero_stag_recv(struct iwch_qp *qhp, union t3_wr *wqe, in build_zero_stag_recv() argument 302 pbl_addr = cxio_hal_pblpool_alloc(&qhp->rhp->rdev, T3_STAG0_PBL_SIZE); in build_zero_stag_recv() 309 pbl_offset = (pbl_addr - qhp->rhp->rdev.rnic_info.pbl_base) >> 3; in build_zero_stag_recv() 344 qhp->wq.rq[Q_PTR2IDX(qhp->wq.rq_wptr, in build_zero_stag_recv() [all …]
|
D | iwch_ev.c | 48 struct iwch_qp *qhp; in post_qp_event() local 52 qhp = get_qhp(rnicp, CQE_QPID(rsp_msg->cqe)); in post_qp_event() 54 if (!qhp) { in post_qp_event() 62 if ((qhp->attr.state == IWCH_QP_STATE_ERROR) || in post_qp_event() 63 (qhp->attr.state == IWCH_QP_STATE_TERMINATE)) { in post_qp_event() 66 qhp->attr.state, qhp->wq.qpid, in post_qp_event() 78 atomic_inc(&qhp->refcnt); in post_qp_event() 81 if (qhp->attr.state == IWCH_QP_STATE_RTS) { in post_qp_event() 83 iwch_modify_qp(qhp->rhp, qhp, IWCH_QP_ATTR_NEXT_STATE, in post_qp_event() 86 iwch_post_terminate(qhp, rsp_msg); in post_qp_event() [all …]
|
D | iwch_cq.c | 36 struct iwch_qp *qhp, struct ib_wc *wc) in __iwch_poll_cq_one() argument 38 struct t3_wq *wq = qhp ? &qhp->wq : NULL; in __iwch_poll_cq_one() 60 wc->qp = qhp ? &qhp->ibqp : NULL; in __iwch_poll_cq_one() 178 struct iwch_qp *qhp; in iwch_poll_cq_one() local 187 qhp = get_qhp(rhp, CQE_QPID(*rd_cqe)); in iwch_poll_cq_one() 188 if (qhp) { in iwch_poll_cq_one() 189 spin_lock(&qhp->lock); in iwch_poll_cq_one() 190 ret = __iwch_poll_cq_one(rhp, chp, qhp, wc); in iwch_poll_cq_one() 191 spin_unlock(&qhp->lock); in iwch_poll_cq_one()
|
D | iwch_provider.c | 762 struct iwch_qp *qhp; in iwch_destroy_qp() local 766 qhp = to_iwch_qp(ib_qp); in iwch_destroy_qp() 767 rhp = qhp->rhp; in iwch_destroy_qp() 770 iwch_modify_qp(rhp, qhp, IWCH_QP_ATTR_NEXT_STATE, &attrs, 0); in iwch_destroy_qp() 771 wait_event(qhp->wait, !qhp->ep); in iwch_destroy_qp() 773 remove_handle(rhp, &rhp->qpidr, qhp->wq.qpid); in iwch_destroy_qp() 775 atomic_dec(&qhp->refcnt); in iwch_destroy_qp() 776 wait_event(qhp->wait, !atomic_read(&qhp->refcnt)); in iwch_destroy_qp() 780 cxio_destroy_qp(&rhp->rdev, &qhp->wq, in iwch_destroy_qp() 784 ib_qp, qhp->wq.qpid, qhp); in iwch_destroy_qp() [all …]
|
D | iwch.c | 67 struct iwch_qp *qhp = p; in disable_qp_db() local 69 cxio_disable_wq_db(&qhp->wq); in disable_qp_db() 75 struct iwch_qp *qhp = p; in enable_qp_db() local 78 ring_doorbell(qhp->rhp->rdev.ctrl_qp.doorbell, qhp->wq.qpid); in enable_qp_db() 79 cxio_enable_wq_db(&qhp->wq); in enable_qp_db()
|
D | iwch_provider.h | 173 static inline int qp_quiesced(struct iwch_qp *qhp) in qp_quiesced() argument 175 return qhp->flags & QP_QUIESCED; in qp_quiesced() 261 struct iwch_qp *qhp, 328 u16 iwch_rqes_posted(struct iwch_qp *qhp); 334 int iwch_post_terminate(struct iwch_qp *qhp, struct respQ_msg_t *rsp_msg); 338 void stop_read_rep_timer(struct iwch_qp *qhp);
|
/Linux-v4.19/drivers/infiniband/hw/cxgb4/ |
D | qp.c | 86 static void set_state(struct c4iw_qp *qhp, enum c4iw_qp_state state) in set_state() argument 89 spin_lock_irqsave(&qhp->lock, flag); in set_state() 90 qhp->attr.state = state; in set_state() 91 spin_unlock_irqrestore(&qhp->lock, flag); in set_state() 685 static void post_write_cmpl(struct c4iw_qp *qhp, const struct ib_send_wr *wr) in post_write_cmpl() argument 688 qhp->sq_sig_all; in post_write_cmpl() 690 qhp->sq_sig_all; in post_write_cmpl() 701 wqe = (union t4_wr *)((u8 *)qhp->wq.sq.queue + in post_write_cmpl() 702 qhp->wq.sq.wq_pidx * T4_EQ_ENTRY_SIZE); in post_write_cmpl() 703 build_rdma_write_cmpl(&qhp->wq.sq, &wqe->write_cmpl, wr, &len16); in post_write_cmpl() [all …]
|
D | ev.c | 88 struct c4iw_qp *qhp, in post_qp_event() argument 98 if (qhp->attr.state == C4IW_QP_STATE_RTS) { in post_qp_event() 100 c4iw_modify_qp(qhp->rhp, qhp, C4IW_QP_ATTR_NEXT_STATE, in post_qp_event() 109 event.element.qp = &qhp->ibqp; in post_qp_event() 110 if (qhp->ibqp.event_handler) in post_qp_event() 111 (*qhp->ibqp.event_handler)(&event, qhp->ibqp.qp_context); in post_qp_event() 123 struct c4iw_qp *qhp; in c4iw_ev_dispatch() local 127 qhp = get_qhp(dev, CQE_QPID(err_cqe)); in c4iw_ev_dispatch() 128 if (!qhp) { in c4iw_ev_dispatch() 139 cqid = qhp->attr.scq; in c4iw_ev_dispatch() [all …]
|
D | cq.c | 239 int c4iw_flush_sq(struct c4iw_qp *qhp) in c4iw_flush_sq() argument 242 struct t4_wq *wq = &qhp->wq; in c4iw_flush_sq() 243 struct c4iw_cq *chp = to_c4iw_cq(qhp->ibqp.send_cq); in c4iw_flush_sq() 339 struct c4iw_qp *qhp; in c4iw_flush_hw_cq() local 352 qhp = get_qhp(chp->rhp, CQE_QPID(hw_cqe)); in c4iw_flush_hw_cq() 357 if (qhp == NULL) in c4iw_flush_hw_cq() 360 if (flush_qhp != qhp) { in c4iw_flush_hw_cq() 361 spin_lock(&qhp->lock); in c4iw_flush_hw_cq() 363 if (qhp->wq.flushed == 1) in c4iw_flush_hw_cq() 387 if (!qhp->wq.sq.oldest_read->signaled) { in c4iw_flush_hw_cq() [all …]
|
D | restrack.c | 142 struct c4iw_qp *qhp = to_c4iw_qp(ibqp); in fill_res_qp_entry() local 149 if (qhp->ucontext) in fill_res_qp_entry() 157 spin_lock_irq(&qhp->lock); in fill_res_qp_entry() 158 wq = qhp->wq; in fill_res_qp_entry() 163 first_sqe = qhp->wq.sq.sw_sq[first_sq_idx]; in fill_res_qp_entry() 169 last_sqe = qhp->wq.sq.sw_sq[last_sq_idx]; in fill_res_qp_entry() 173 spin_unlock_irq(&qhp->lock); in fill_res_qp_entry()
|
D | iw_cxgb4.h | 676 struct c4iw_qp *qhp, 1097 int c4iw_flush_sq(struct c4iw_qp *qhp); 1099 u16 c4iw_rqes_posted(struct c4iw_qp *qhp); 1100 int c4iw_post_terminate(struct c4iw_qp *qhp, struct t4_cqe *err_cqe); 1124 void c4iw_flush_srqidx(struct c4iw_qp *qhp, u32 srqidx);
|