Lines Matching refs:iwqp
245 void i40iw_next_iw_state(struct i40iw_qp *iwqp, in i40iw_next_iw_state() argument
266 if (iwqp->sc_qp.term_flags && (state == I40IW_QP_STATE_ERROR)) in i40iw_next_iw_state()
268 iwqp->hw_iwarp_state = state; in i40iw_next_iw_state()
269 i40iw_hw_modify_qp(iwqp->iwdev, iwqp, &info, 0); in i40iw_next_iw_state()
284 struct i40iw_qp *iwqp = NULL; in i40iw_process_aeq() local
308 iwqp = iwdev->qp_table[info->qp_cq_id]; in i40iw_process_aeq()
309 if (!iwqp) { in i40iw_process_aeq()
316 i40iw_qp_add_ref(&iwqp->ibqp); in i40iw_process_aeq()
318 qp = &iwqp->sc_qp; in i40iw_process_aeq()
319 spin_lock_irqsave(&iwqp->lock, flags); in i40iw_process_aeq()
320 iwqp->hw_tcp_state = info->tcp_state; in i40iw_process_aeq()
321 iwqp->hw_iwarp_state = info->iwarp_state; in i40iw_process_aeq()
322 iwqp->last_aeq = info->ae_id; in i40iw_process_aeq()
323 spin_unlock_irqrestore(&iwqp->lock, flags); in i40iw_process_aeq()
324 ctx_info = &iwqp->ctx_info; in i40iw_process_aeq()
335 if (atomic_inc_return(&iwqp->close_timer_started) == 1) { in i40iw_process_aeq()
336 iwqp->hw_tcp_state = I40IW_TCP_STATE_CLOSE_WAIT; in i40iw_process_aeq()
337 if ((iwqp->hw_tcp_state == I40IW_TCP_STATE_CLOSE_WAIT) && in i40iw_process_aeq()
338 (iwqp->ibqp_state == IB_QPS_RTS)) { in i40iw_process_aeq()
339 i40iw_next_iw_state(iwqp, in i40iw_process_aeq()
341 i40iw_cm_disconn(iwqp); in i40iw_process_aeq()
343 iwqp->cm_id->add_ref(iwqp->cm_id); in i40iw_process_aeq()
344 i40iw_schedule_cm_timer(iwqp->cm_node, in i40iw_process_aeq()
345 (struct i40iw_puda_buf *)iwqp, in i40iw_process_aeq()
353 i40iw_cm_disconn(iwqp); in i40iw_process_aeq()
357 i40iw_next_iw_state(iwqp, I40IW_QP_STATE_ERROR, 1, 0, 0); in i40iw_process_aeq()
358 i40iw_cm_disconn(iwqp); in i40iw_process_aeq()
361 if (atomic_read(&iwqp->close_timer_started)) in i40iw_process_aeq()
363 i40iw_cm_disconn(iwqp); in i40iw_process_aeq()
366 i40iw_qp_suspend_resume(dev, &iwqp->sc_qp, false); in i40iw_process_aeq()
421 ret = dev->iw_priv_qp_ops->qp_setctx(&iwqp->sc_qp, in i40iw_process_aeq()
422 iwqp->host_ctx.va, in i40iw_process_aeq()
429 i40iw_qp_rem_ref(&iwqp->ibqp); in i40iw_process_aeq()
677 struct i40iw_qp *iwqp = (struct i40iw_qp *)qp->back_qp; in i40iw_hw_flush_wqes() local
694 complete(&iwqp->sq_drained); in i40iw_hw_flush_wqes()
695 complete(&iwqp->rq_drained); in i40iw_hw_flush_wqes()
701 complete(&iwqp->sq_drained); in i40iw_hw_flush_wqes()
704 complete(&iwqp->rq_drained); in i40iw_hw_flush_wqes()
709 complete(&iwqp->sq_drained); in i40iw_hw_flush_wqes()
710 complete(&iwqp->rq_drained); in i40iw_hw_flush_wqes()
834 void i40iw_flush_wqes(struct i40iw_device *iwdev, struct i40iw_qp *iwqp) in i40iw_flush_wqes() argument
839 struct i40iw_sc_qp *qp = &iwqp->sc_qp; in i40iw_flush_wqes()
850 (void)i40iw_hw_flush_wqes(iwdev, &iwqp->sc_qp, &info, true); in i40iw_flush_wqes()