IB/rdmavt, IB/hfi1, IB/qib: Make wc opcode translation driver dependent
The work to create a completion helper moved the translation of send wqe operations to completion opcodes to rdmvat. This precludes having driver dependent operations. Make the translation driver dependent by doing the translation in the driver prior to the rvt_qp_swqe_complete() call using restored translation tables. Fixes: Commitf2dc9cdce8
("IB/rdmavt: Add a send completion helper") Fixes: Commit0771da5a6e
("IB/hfi1,IB/qib: Use new send completion helper") Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:

committed by
Doug Ledford

parent
5a52a7acf7
commit
43a474aadb
@@ -574,6 +574,7 @@ extern const enum ib_wc_opcode ib_rvt_wc_opcode[];
|
||||
static inline void rvt_qp_swqe_complete(
|
||||
struct rvt_qp *qp,
|
||||
struct rvt_swqe *wqe,
|
||||
enum ib_wc_opcode opcode,
|
||||
enum ib_wc_status status)
|
||||
{
|
||||
if (unlikely(wqe->wr.send_flags & RVT_SEND_RESERVE_USED))
|
||||
@@ -586,7 +587,7 @@ static inline void rvt_qp_swqe_complete(
|
||||
memset(&wc, 0, sizeof(wc));
|
||||
wc.wr_id = wqe->wr.wr_id;
|
||||
wc.status = status;
|
||||
wc.opcode = ib_rvt_wc_opcode[wqe->wr.opcode];
|
||||
wc.opcode = opcode;
|
||||
wc.qp = &qp->ibqp;
|
||||
wc.byte_len = wqe->length;
|
||||
rvt_cq_enter(ibcq_to_rvtcq(qp->ibqp.send_cq), &wc,
|
||||
|
Reference in New Issue
Block a user