Skip to content

Commit

Permalink
i40iw: Send last streaming mode message for loopback connections
Browse files Browse the repository at this point in the history
Send a zero length last streaming mode message for loopback
connections to synchronize between accepting QP and connecting QP.
This avoids data transfer to start on the accepting QP before
the connecting QP is in RTS. Also remove function i40iw_loopback_nop()
as it is no longer used.

Fixes: f27b474 ("i40iw: add connection management code")

Signed-off-by: Tatyana Nikolova <[email protected]>
Signed-off-by: Shiraz Saleem <[email protected]>
Signed-off-by: Doug Ledford <[email protected]>
  • Loading branch information
tatyana-en authored and dledford committed Aug 25, 2016
1 parent 3c199b4 commit 07c72d7
Showing 1 changed file with 1 addition and 21 deletions.
22 changes: 1 addition & 21 deletions drivers/infiniband/hw/i40iw/i40iw_cm.c
Original file line number Diff line number Diff line change
Expand Up @@ -3346,26 +3346,6 @@ int i40iw_cm_disconn(struct i40iw_qp *iwqp)
return 0;
}

/**
* i40iw_loopback_nop - Send a nop
* @qp: associated hw qp
*/
static void i40iw_loopback_nop(struct i40iw_sc_qp *qp)
{
u64 *wqe;
u64 header;

wqe = qp->qp_uk.sq_base->elem;
set_64bit_val(wqe, 0, 0);
set_64bit_val(wqe, 8, 0);
set_64bit_val(wqe, 16, 0);

header = LS_64(I40IWQP_OP_NOP, I40IWQPSQ_OPCODE) |
LS_64(0, I40IWQPSQ_SIGCOMPL) |
LS_64(qp->qp_uk.swqe_polarity, I40IWQPSQ_VALID);
set_64bit_val(wqe, 24, header);
}

/**
* i40iw_qp_disconnect - free qp and close cm
* @iwqp: associate qp for the connection
Expand Down Expand Up @@ -3638,7 +3618,7 @@ int i40iw_accept(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
} else {
if (iwqp->page)
iwqp->sc_qp.qp_uk.sq_base = kmap(iwqp->page);
i40iw_loopback_nop(&iwqp->sc_qp);
dev->iw_priv_qp_ops->qp_send_lsmm(&iwqp->sc_qp, NULL, 0, 0);
}

if (iwqp->page)
Expand Down

0 comments on commit 07c72d7

Please sign in to comment.