Lines Matching refs:ibwc

2475 static void ocrdma_update_wc(struct ocrdma_qp *qp, struct ib_wc *ibwc,  in ocrdma_update_wc()  argument
2484 ibwc->wr_id = qp->wqe_wr_id_tbl[wqe_idx].wrid; in ocrdma_update_wc()
2489 ibwc->opcode = IB_WC_RDMA_WRITE; in ocrdma_update_wc()
2493 ibwc->opcode = IB_WC_RDMA_READ; in ocrdma_update_wc()
2494 ibwc->byte_len = rw->len; in ocrdma_update_wc()
2497 ibwc->opcode = IB_WC_SEND; in ocrdma_update_wc()
2500 ibwc->opcode = IB_WC_FAST_REG_MR; in ocrdma_update_wc()
2503 ibwc->opcode = IB_WC_LOCAL_INV; in ocrdma_update_wc()
2506 ibwc->status = IB_WC_GENERAL_ERR; in ocrdma_update_wc()
2545 static bool ocrdma_update_err_cqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe, in ocrdma_update_err_cqe() argument
2550 ibwc->byte_len = 0; in ocrdma_update_err_cqe()
2551 ibwc->qp = &qp->ibqp; in ocrdma_update_err_cqe()
2552 ibwc->status = ocrdma_to_ibwc_err(status); in ocrdma_update_err_cqe()
2567 static int ocrdma_update_err_rcqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe, in ocrdma_update_err_rcqe() argument
2570 ibwc->opcode = IB_WC_RECV; in ocrdma_update_err_rcqe()
2571 ibwc->wr_id = qp->rqe_wr_id_tbl[qp->rq.tail]; in ocrdma_update_err_rcqe()
2574 return ocrdma_update_err_cqe(ibwc, cqe, qp, status); in ocrdma_update_err_rcqe()
2577 static int ocrdma_update_err_scqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe, in ocrdma_update_err_scqe() argument
2580 ocrdma_update_wc(qp, ibwc, qp->sq.tail); in ocrdma_update_err_scqe()
2583 return ocrdma_update_err_cqe(ibwc, cqe, qp, status); in ocrdma_update_err_scqe()
2588 struct ocrdma_cqe *cqe, struct ib_wc *ibwc, in ocrdma_poll_err_scqe() argument
2608 expand = ocrdma_update_err_rcqe(ibwc, cqe, qp, status); in ocrdma_poll_err_scqe()
2626 expand = ocrdma_update_err_scqe(ibwc, cqe, qp, status); in ocrdma_poll_err_scqe()
2633 struct ib_wc *ibwc, bool *polled) in ocrdma_poll_success_scqe() argument
2642 ibwc->status = IB_WC_SUCCESS; in ocrdma_poll_success_scqe()
2643 ibwc->wc_flags = 0; in ocrdma_poll_success_scqe()
2644 ibwc->qp = &qp->ibqp; in ocrdma_poll_success_scqe()
2645 ocrdma_update_wc(qp, ibwc, tail); in ocrdma_poll_success_scqe()
2658 struct ib_wc *ibwc, bool *polled, bool *stop) in ocrdma_poll_scqe() argument
2667 expand = ocrdma_poll_success_scqe(qp, cqe, ibwc, polled); in ocrdma_poll_scqe()
2669 expand = ocrdma_poll_err_scqe(qp, cqe, ibwc, polled, stop); in ocrdma_poll_scqe()
2673 static int ocrdma_update_ud_rcqe(struct ib_wc *ibwc, struct ocrdma_cqe *cqe) in ocrdma_update_ud_rcqe() argument
2679 ibwc->src_qp = le32_to_cpu(cqe->flags_status_srcqpn) & in ocrdma_update_ud_rcqe()
2681 ibwc->pkey_index = le32_to_cpu(cqe->ud.rxlen_pkey) & in ocrdma_update_ud_rcqe()
2683 ibwc->wc_flags = IB_WC_GRH; in ocrdma_update_ud_rcqe()
2684 ibwc->byte_len = (le32_to_cpu(cqe->ud.rxlen_pkey) >> in ocrdma_update_ud_rcqe()
2689 static void ocrdma_update_free_srq_cqe(struct ib_wc *ibwc, in ocrdma_update_free_srq_cqe() argument
2703 ibwc->wr_id = srq->rqe_wr_id_tbl[wqe_idx]; in ocrdma_update_free_srq_cqe()
2711 struct ib_wc *ibwc, bool *polled, bool *stop, in ocrdma_poll_err_rcqe() argument
2727 expand = ocrdma_update_err_scqe(ibwc, cqe, qp, status); in ocrdma_poll_err_rcqe()
2740 expand = ocrdma_update_err_rcqe(ibwc, cqe, qp, status); in ocrdma_poll_err_rcqe()
2746 struct ocrdma_cqe *cqe, struct ib_wc *ibwc) in ocrdma_poll_success_rcqe() argument
2748 ibwc->opcode = IB_WC_RECV; in ocrdma_poll_success_rcqe()
2749 ibwc->qp = &qp->ibqp; in ocrdma_poll_success_rcqe()
2750 ibwc->status = IB_WC_SUCCESS; in ocrdma_poll_success_rcqe()
2753 ocrdma_update_ud_rcqe(ibwc, cqe); in ocrdma_poll_success_rcqe()
2755 ibwc->byte_len = le32_to_cpu(cqe->rq.rxlen); in ocrdma_poll_success_rcqe()
2758 ibwc->ex.imm_data = htonl(le32_to_cpu(cqe->rq.lkey_immdt)); in ocrdma_poll_success_rcqe()
2759 ibwc->wc_flags |= IB_WC_WITH_IMM; in ocrdma_poll_success_rcqe()
2761 ibwc->opcode = IB_WC_RECV_RDMA_WITH_IMM; in ocrdma_poll_success_rcqe()
2762 ibwc->ex.imm_data = htonl(le32_to_cpu(cqe->rq.lkey_immdt)); in ocrdma_poll_success_rcqe()
2763 ibwc->wc_flags |= IB_WC_WITH_IMM; in ocrdma_poll_success_rcqe()
2765 ibwc->ex.invalidate_rkey = le32_to_cpu(cqe->rq.lkey_immdt); in ocrdma_poll_success_rcqe()
2766 ibwc->wc_flags |= IB_WC_WITH_INVALIDATE; in ocrdma_poll_success_rcqe()
2769 ocrdma_update_free_srq_cqe(ibwc, cqe, qp); in ocrdma_poll_success_rcqe()
2771 ibwc->wr_id = qp->rqe_wr_id_tbl[qp->rq.tail]; in ocrdma_poll_success_rcqe()
2777 struct ib_wc *ibwc, bool *polled, bool *stop) in ocrdma_poll_rcqe() argument
2782 ibwc->wc_flags = 0; in ocrdma_poll_rcqe()
2794 ocrdma_poll_success_rcqe(qp, cqe, ibwc); in ocrdma_poll_rcqe()
2796 expand = ocrdma_poll_err_rcqe(qp, cqe, ibwc, polled, stop, in ocrdma_poll_rcqe()
2815 struct ib_wc *ibwc) in ocrdma_poll_hwcq() argument
2840 expand = ocrdma_poll_scqe(qp, cqe, ibwc, &polled, in ocrdma_poll_hwcq()
2843 expand = ocrdma_poll_rcqe(qp, cqe, ibwc, &polled, in ocrdma_poll_hwcq()
2860 ibwc = ibwc + 1; in ocrdma_poll_hwcq()
2883 struct ocrdma_qp *qp, struct ib_wc *ibwc) in ocrdma_add_err_cqe() argument
2891 ocrdma_update_wc(qp, ibwc, qp->sq.tail); in ocrdma_add_err_cqe()
2894 ibwc->wr_id = qp->rqe_wr_id_tbl[qp->rq.tail]; in ocrdma_add_err_cqe()
2899 ibwc->byte_len = 0; in ocrdma_add_err_cqe()
2900 ibwc->status = IB_WC_WR_FLUSH_ERR; in ocrdma_add_err_cqe()
2901 ibwc = ibwc + 1; in ocrdma_add_err_cqe()