Lines Matching refs:hw_cqe
306 static void create_read_req_cqe(struct t4_wq *wq, struct t4_cqe *hw_cqe, in create_read_req_cqe() argument
311 read_cqe->header = htonl(CQE_QPID_V(CQE_QPID(hw_cqe)) | in create_read_req_cqe()
312 CQE_SWCQE_V(SW_CQE(hw_cqe)) | in create_read_req_cqe()
315 read_cqe->bits_type_ts = hw_cqe->bits_type_ts; in create_read_req_cqe()
343 struct t4_cqe *hw_cqe, *swcqe, read_cqe; in c4iw_flush_hw_cq() local
349 ret = t4_next_hw_cqe(&chp->cq, &hw_cqe); in c4iw_flush_hw_cq()
357 qhp = get_qhp(chp->rhp, CQE_QPID(hw_cqe)); in c4iw_flush_hw_cq()
365 if (CQE_OPCODE(hw_cqe) == FW_RI_TERMINATE) in c4iw_flush_hw_cq()
368 if (CQE_OPCODE(hw_cqe) == FW_RI_READ_RESP) { in c4iw_flush_hw_cq()
374 if (CQE_TYPE(hw_cqe) == 1) in c4iw_flush_hw_cq()
379 if (CQE_WRID_STAG(hw_cqe) == 1) in c4iw_flush_hw_cq()
394 create_read_req_cqe(&qhp->wq, hw_cqe, &read_cqe); in c4iw_flush_hw_cq()
395 hw_cqe = &read_cqe; in c4iw_flush_hw_cq()
402 if (SQ_TYPE(hw_cqe)) { in c4iw_flush_hw_cq()
403 swsqe = &qhp->wq.sq.sw_sq[CQE_WRID_SQ_IDX(hw_cqe)]; in c4iw_flush_hw_cq()
404 swsqe->cqe = *hw_cqe; in c4iw_flush_hw_cq()
409 *swcqe = *hw_cqe; in c4iw_flush_hw_cq()
415 ret = t4_next_hw_cqe(&chp->cq, &hw_cqe); in c4iw_flush_hw_cq()
474 struct t4_cqe *hw_cqe, read_cqe; in poll_cq() local
478 ret = t4_next_cqe(cq, &hw_cqe); in poll_cq()
484 __func__, CQE_OVFBIT(hw_cqe), CQE_QPID(hw_cqe), in poll_cq()
485 CQE_GENBIT(hw_cqe), CQE_TYPE(hw_cqe), CQE_STATUS(hw_cqe), in poll_cq()
486 CQE_OPCODE(hw_cqe), CQE_LEN(hw_cqe), CQE_WRID_HI(hw_cqe), in poll_cq()
487 CQE_WRID_LOW(hw_cqe)); in poll_cq()
500 if (wq->flushed && !SW_CQE(hw_cqe)) { in poll_cq()
508 if (CQE_OPCODE(hw_cqe) == FW_RI_TERMINATE) { in poll_cq()
520 if (RQ_TYPE(hw_cqe) && (CQE_OPCODE(hw_cqe) == FW_RI_READ_RESP)) { in poll_cq()
526 if (CQE_TYPE(hw_cqe) == 1) { in poll_cq()
527 if (CQE_STATUS(hw_cqe)) in poll_cq()
537 if (CQE_WRID_STAG(hw_cqe) == 1) { in poll_cq()
538 if (CQE_STATUS(hw_cqe)) in poll_cq()
557 create_read_req_cqe(wq, hw_cqe, &read_cqe); in poll_cq()
558 hw_cqe = &read_cqe; in poll_cq()
562 if (CQE_STATUS(hw_cqe) || t4_wq_in_error(wq)) { in poll_cq()
563 *cqe_flushed = (CQE_STATUS(hw_cqe) == T4_ERR_SWFLUSH); in poll_cq()
570 if (RQ_TYPE(hw_cqe)) { in poll_cq()
584 if (unlikely((CQE_WRID_MSN(hw_cqe) != (wq->rq.msn)))) { in poll_cq()
586 hw_cqe->header |= htonl(CQE_STATUS_V(T4_ERR_MSN)); in poll_cq()
603 if (!SW_CQE(hw_cqe) && (CQE_WRID_SQ_IDX(hw_cqe) != wq->sq.cidx)) { in poll_cq()
607 __func__, CQE_WRID_SQ_IDX(hw_cqe)); in poll_cq()
608 swsqe = &wq->sq.sw_sq[CQE_WRID_SQ_IDX(hw_cqe)]; in poll_cq()
609 swsqe->cqe = *hw_cqe; in poll_cq()
616 *cqe = *hw_cqe; in poll_cq()
622 if (SQ_TYPE(hw_cqe)) { in poll_cq()
623 int idx = CQE_WRID_SQ_IDX(hw_cqe); in poll_cq()
644 c4iw_log_wr_stats(wq, hw_cqe); in poll_cq()
651 c4iw_log_wr_stats(wq, hw_cqe); in poll_cq()
663 if (SW_CQE(hw_cqe)) { in poll_cq()