Lines Matching refs:ibwc

2523 static void ocrdma_update_wc(struct ocrdma_qp *qp, struct ib_wc *ibwc,  in ocrdma_update_wc()  argument
2532 ibwc->wr_id = qp->wqe_wr_id_tbl[wqe_idx].wrid; in ocrdma_update_wc()
2537 ibwc->opcode = IB_WC_RDMA_WRITE; in ocrdma_update_wc()
2541 ibwc->opcode = IB_WC_RDMA_READ; in ocrdma_update_wc()
2542 ibwc->byte_len = rw->len; in ocrdma_update_wc()
2545 ibwc->opcode = IB_WC_SEND; in ocrdma_update_wc()
2548 ibwc->opcode = IB_WC_REG_MR; in ocrdma_update_wc()
2551 ibwc->opcode = IB_WC_LOCAL_INV; in ocrdma_update_wc()
2554 ibwc->status = IB_WC_GENERAL_ERR; in ocrdma_update_wc()
2593 static bool ocrdma_update_err_cqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe, in ocrdma_update_err_cqe() argument
2598 ibwc->byte_len = 0; in ocrdma_update_err_cqe()
2599 ibwc->qp = &qp->ibqp; in ocrdma_update_err_cqe()
2600 ibwc->status = ocrdma_to_ibwc_err(status); in ocrdma_update_err_cqe()
2615 static int ocrdma_update_err_rcqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe, in ocrdma_update_err_rcqe() argument
2618 ibwc->opcode = IB_WC_RECV; in ocrdma_update_err_rcqe()
2619 ibwc->wr_id = qp->rqe_wr_id_tbl[qp->rq.tail]; in ocrdma_update_err_rcqe()
2622 return ocrdma_update_err_cqe(ibwc, cqe, qp, status); in ocrdma_update_err_rcqe()
2625 static int ocrdma_update_err_scqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe, in ocrdma_update_err_scqe() argument
2628 ocrdma_update_wc(qp, ibwc, qp->sq.tail); in ocrdma_update_err_scqe()
2631 return ocrdma_update_err_cqe(ibwc, cqe, qp, status); in ocrdma_update_err_scqe()
2636 struct ocrdma_cqe *cqe, struct ib_wc *ibwc, in ocrdma_poll_err_scqe() argument
2656 expand = ocrdma_update_err_rcqe(ibwc, cqe, qp, status); in ocrdma_poll_err_scqe()
2674 expand = ocrdma_update_err_scqe(ibwc, cqe, qp, status); in ocrdma_poll_err_scqe()
2681 struct ib_wc *ibwc, bool *polled) in ocrdma_poll_success_scqe() argument
2690 ibwc->status = IB_WC_SUCCESS; in ocrdma_poll_success_scqe()
2691 ibwc->wc_flags = 0; in ocrdma_poll_success_scqe()
2692 ibwc->qp = &qp->ibqp; in ocrdma_poll_success_scqe()
2693 ocrdma_update_wc(qp, ibwc, tail); in ocrdma_poll_success_scqe()
2706 struct ib_wc *ibwc, bool *polled, bool *stop) in ocrdma_poll_scqe() argument
2715 expand = ocrdma_poll_success_scqe(qp, cqe, ibwc, polled); in ocrdma_poll_scqe()
2717 expand = ocrdma_poll_err_scqe(qp, cqe, ibwc, polled, stop); in ocrdma_poll_scqe()
2721 static int ocrdma_update_ud_rcqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe) in ocrdma_update_ud_rcqe() argument
2727 ibwc->src_qp = le32_to_cpu(cqe->flags_status_srcqpn) & in ocrdma_update_ud_rcqe()
2729 ibwc->pkey_index = le32_to_cpu(cqe->ud.rxlen_pkey) & in ocrdma_update_ud_rcqe()
2731 ibwc->wc_flags = IB_WC_GRH; in ocrdma_update_ud_rcqe()
2732 ibwc->byte_len = (le32_to_cpu(cqe->ud.rxlen_pkey) >> in ocrdma_update_ud_rcqe()
2737 static void ocrdma_update_free_srq_cqe(struct ib_wc *ibwc, in ocrdma_update_free_srq_cqe() argument
2751 ibwc->wr_id = srq->rqe_wr_id_tbl[wqe_idx]; in ocrdma_update_free_srq_cqe()
2759 struct ib_wc *ibwc, bool *polled, bool *stop, in ocrdma_poll_err_rcqe() argument
2775 expand = ocrdma_update_err_scqe(ibwc, cqe, qp, status); in ocrdma_poll_err_rcqe()
2788 expand = ocrdma_update_err_rcqe(ibwc, cqe, qp, status); in ocrdma_poll_err_rcqe()
2794 struct ocrdma_cqe *cqe, struct ib_wc *ibwc) in ocrdma_poll_success_rcqe() argument
2796 ibwc->opcode = IB_WC_RECV; in ocrdma_poll_success_rcqe()
2797 ibwc->qp = &qp->ibqp; in ocrdma_poll_success_rcqe()
2798 ibwc->status = IB_WC_SUCCESS; in ocrdma_poll_success_rcqe()
2801 ocrdma_update_ud_rcqe(ibwc, cqe); in ocrdma_poll_success_rcqe()
2803 ibwc->byte_len = le32_to_cpu(cqe->rq.rxlen); in ocrdma_poll_success_rcqe()
2806 ibwc->ex.imm_data = htonl(le32_to_cpu(cqe->rq.lkey_immdt)); in ocrdma_poll_success_rcqe()
2807 ibwc->wc_flags |= IB_WC_WITH_IMM; in ocrdma_poll_success_rcqe()
2809 ibwc->opcode = IB_WC_RECV_RDMA_WITH_IMM; in ocrdma_poll_success_rcqe()
2810 ibwc->ex.imm_data = htonl(le32_to_cpu(cqe->rq.lkey_immdt)); in ocrdma_poll_success_rcqe()
2811 ibwc->wc_flags |= IB_WC_WITH_IMM; in ocrdma_poll_success_rcqe()
2813 ibwc->ex.invalidate_rkey = le32_to_cpu(cqe->rq.lkey_immdt); in ocrdma_poll_success_rcqe()
2814 ibwc->wc_flags |= IB_WC_WITH_INVALIDATE; in ocrdma_poll_success_rcqe()
2817 ocrdma_update_free_srq_cqe(ibwc, cqe, qp); in ocrdma_poll_success_rcqe()
2819 ibwc->wr_id = qp->rqe_wr_id_tbl[qp->rq.tail]; in ocrdma_poll_success_rcqe()
2825 struct ib_wc *ibwc, bool *polled, bool *stop) in ocrdma_poll_rcqe() argument
2830 ibwc->wc_flags = 0; in ocrdma_poll_rcqe()
2842 ocrdma_poll_success_rcqe(qp, cqe, ibwc); in ocrdma_poll_rcqe()
2844 expand = ocrdma_poll_err_rcqe(qp, cqe, ibwc, polled, stop, in ocrdma_poll_rcqe()
2863 struct ib_wc *ibwc) in ocrdma_poll_hwcq() argument
2888 expand = ocrdma_poll_scqe(qp, cqe, ibwc, &polled, in ocrdma_poll_hwcq()
2891 expand = ocrdma_poll_rcqe(qp, cqe, ibwc, &polled, in ocrdma_poll_hwcq()
2908 ibwc = ibwc + 1; in ocrdma_poll_hwcq()
2926 struct ocrdma_qp *qp, struct ib_wc *ibwc) in ocrdma_add_err_cqe() argument
2934 ocrdma_update_wc(qp, ibwc, qp->sq.tail); in ocrdma_add_err_cqe()
2937 ibwc->wr_id = qp->rqe_wr_id_tbl[qp->rq.tail]; in ocrdma_add_err_cqe()
2942 ibwc->byte_len = 0; in ocrdma_add_err_cqe()
2943 ibwc->status = IB_WC_WR_FLUSH_ERR; in ocrdma_add_err_cqe()
2944 ibwc = ibwc + 1; in ocrdma_add_err_cqe()