Lines Matching defs:hw_cqe

300 static void create_read_req_cqe(struct t4_wq *wq, struct t4_cqe *hw_cqe,
305 read_cqe->header = htonl(CQE_QPID_V(CQE_QPID(hw_cqe)) |
306 CQE_SWCQE_V(SW_CQE(hw_cqe)) |
309 read_cqe->bits_type_ts = hw_cqe->bits_type_ts;
337 struct t4_cqe *hw_cqe, *swcqe, read_cqe;
343 ret = t4_next_hw_cqe(&chp->cq, &hw_cqe);
351 qhp = get_qhp(chp->rhp, CQE_QPID(hw_cqe));
366 if (CQE_OPCODE(hw_cqe) == FW_RI_TERMINATE)
369 if (CQE_OPCODE(hw_cqe) == FW_RI_READ_RESP) {
375 if (CQE_TYPE(hw_cqe) == 1)
380 if (CQE_WRID_STAG(hw_cqe) == 1)
395 create_read_req_cqe(&qhp->wq, hw_cqe, &read_cqe);
396 hw_cqe = &read_cqe;
403 if (SQ_TYPE(hw_cqe)) {
404 swsqe = &qhp->wq.sq.sw_sq[CQE_WRID_SQ_IDX(hw_cqe)];
405 swsqe->cqe = *hw_cqe;
410 *swcqe = *hw_cqe;
416 ret = t4_next_hw_cqe(&chp->cq, &hw_cqe);
491 static u64 reap_srq_cqe(struct t4_cqe *hw_cqe, struct t4_srq *srq)
493 int rel_idx = CQE_ABS_RQE_IDX(hw_cqe) - srq->rqt_abs_idx;
549 struct t4_cqe *hw_cqe, read_cqe;
553 ret = t4_next_cqe(cq, &hw_cqe);
558 CQE_OVFBIT(hw_cqe), CQE_QPID(hw_cqe),
559 CQE_GENBIT(hw_cqe), CQE_TYPE(hw_cqe), CQE_STATUS(hw_cqe),
560 CQE_OPCODE(hw_cqe), CQE_LEN(hw_cqe), CQE_WRID_HI(hw_cqe),
561 CQE_WRID_LOW(hw_cqe));
574 if (wq->flushed && !SW_CQE(hw_cqe)) {
582 if (CQE_OPCODE(hw_cqe) == FW_RI_TERMINATE) {
590 if (DRAIN_CQE(hw_cqe)) {
591 *cookie = CQE_DRAIN_COOKIE(hw_cqe);
592 *cqe = *hw_cqe;
603 if (RQ_TYPE(hw_cqe) && (CQE_OPCODE(hw_cqe) == FW_RI_READ_RESP)) {
609 if (CQE_TYPE(hw_cqe) == 1) {
610 if (CQE_STATUS(hw_cqe))
620 if (CQE_WRID_STAG(hw_cqe) == 1) {
621 if (CQE_STATUS(hw_cqe))
640 create_read_req_cqe(wq, hw_cqe, &read_cqe);
641 hw_cqe = &read_cqe;
645 if (CQE_STATUS(hw_cqe) || t4_wq_in_error(wq)) {
646 *cqe_flushed = (CQE_STATUS(hw_cqe) == T4_ERR_SWFLUSH);
653 if (RQ_TYPE(hw_cqe)) {
661 if (unlikely(!CQE_STATUS(hw_cqe) &&
662 CQE_WRID_MSN(hw_cqe) != wq->rq.msn)) {
664 hw_cqe->header |= cpu_to_be32(CQE_STATUS_V(T4_ERR_MSN));
680 if (!SW_CQE(hw_cqe) && (CQE_WRID_SQ_IDX(hw_cqe) != wq->sq.cidx)) {
684 CQE_WRID_SQ_IDX(hw_cqe));
685 swsqe = &wq->sq.sw_sq[CQE_WRID_SQ_IDX(hw_cqe)];
686 swsqe->cqe = *hw_cqe;
693 *cqe = *hw_cqe;
699 if (SQ_TYPE(hw_cqe)) {
700 int idx = CQE_WRID_SQ_IDX(hw_cqe);
719 c4iw_log_wr_stats(wq, hw_cqe);
726 c4iw_log_wr_stats(wq, hw_cqe);
729 *cookie = reap_srq_cqe(hw_cqe, srq);
742 if (SW_CQE(hw_cqe)) {