Lines Matching refs:wqe

265 	struct siw_wqe *wqe = tx_wqe(qp);
271 if (unlikely(wqe->wr_status != SIW_WR_IDLE)) {
275 memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE);
277 wqe->wr_status = SIW_WR_QUEUED;
278 wqe->sqe.flags = 0;
279 wqe->sqe.num_sge = 1;
280 wqe->sqe.sge[0].length = 0;
281 wqe->sqe.sge[0].laddr = 0;
282 wqe->sqe.sge[0].lkey = 0;
287 wqe->sqe.rkey = 1;
288 wqe->sqe.raddr = 0;
289 wqe->processed = 0;
292 wqe->sqe.opcode = SIW_OP_WRITE;
296 wqe->sqe.opcode = SIW_OP_READ;
303 siw_read_to_orq(rreq, &wqe->sqe);
313 wqe->wr_status = SIW_WR_IDLE;
465 struct siw_wqe *wqe = tx_wqe(qp);
483 rreq->ddp_msn = htonl(wqe->sqe.sge[0].length);
485 rreq->ddp_mo = htonl(wqe->processed);
486 rreq->sink_stag = htonl(wqe->sqe.rkey);
487 rreq->sink_to = cpu_to_be64(wqe->sqe.raddr);
488 rreq->read_size = htonl(wqe->sqe.sge[0].length);
489 rreq->source_stag = htonl(wqe->sqe.sge[0].lkey);
491 cpu_to_be64(wqe->sqe.sge[0].laddr);
887 struct siw_wqe *wqe = tx_wqe(qp);
894 memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE);
895 wqe->wr_status = SIW_WR_QUEUED;
898 memcpy(&wqe->sqe, sqe, sizeof(*sqe));
900 if (wqe->sqe.opcode >= SIW_NUM_OPCODES) {
904 if (wqe->sqe.flags & SIW_WQE_INLINE) {
905 if (wqe->sqe.opcode != SIW_OP_SEND &&
906 wqe->sqe.opcode != SIW_OP_WRITE) {
910 if (wqe->sqe.sge[0].length > SIW_MAX_INLINE) {
914 wqe->sqe.sge[0].laddr = (uintptr_t)&wqe->sqe.sge[1];
915 wqe->sqe.sge[0].lkey = 0;
916 wqe->sqe.num_sge = 1;
918 if (wqe->sqe.flags & SIW_WQE_READ_FENCE) {
920 if (unlikely(wqe->sqe.opcode == SIW_OP_READ ||
921 wqe->sqe.opcode ==
935 } else if (wqe->sqe.opcode == SIW_OP_READ ||
936 wqe->sqe.opcode == SIW_OP_READ_LOCAL_INV) {
944 wqe->sqe.num_sge = 1;
954 siw_read_to_orq(rreq, &wqe->sqe);
969 wqe->wr_status = SIW_WR_IDLE;
983 struct siw_wqe *wqe = tx_wqe(qp);
1001 memset(wqe->mem, 0, sizeof(*wqe->mem) * SIW_MAX_SGE);
1002 wqe->wr_status = SIW_WR_QUEUED;
1005 wqe->sqe.opcode = SIW_OP_READ_RESPONSE;
1006 wqe->sqe.flags = 0;
1008 wqe->sqe.num_sge = 1;
1009 wqe->sqe.sge[0].length = irqe->sge[0].length;
1010 wqe->sqe.sge[0].laddr = irqe->sge[0].laddr;
1011 wqe->sqe.sge[0].lkey = irqe->sge[0].lkey;
1013 wqe->sqe.num_sge = 0;
1019 wqe->sqe.sge[1].length = irqe->sge[1].length;
1021 wqe->sqe.rkey = irqe->rkey;
1022 wqe->sqe.raddr = irqe->raddr;
1024 wqe->processed = 0;
1194 struct siw_wqe *wqe = tx_wqe(qp);
1214 if (wqe->wr_status != SIW_WR_IDLE) {
1216 tx_type(wqe), wqe->wr_status);
1218 siw_wqe_put_mem(wqe, tx_type(wqe));
1220 if (tx_type(wqe) != SIW_OP_READ_RESPONSE &&
1221 ((tx_type(wqe) != SIW_OP_READ &&
1222 tx_type(wqe) != SIW_OP_READ_LOCAL_INV) ||
1223 wqe->wr_status == SIW_WR_QUEUED))
1228 siw_sqe_complete(qp, &wqe->sqe, wqe->bytes,
1231 wqe->wr_status = SIW_WR_IDLE;
1269 struct siw_wqe *wqe = &qp->rx_untagged.wqe_active;
1274 if (wqe->wr_status != SIW_WR_IDLE) {
1276 rx_type(wqe), wqe->wr_status);
1278 siw_wqe_put_mem(wqe, rx_type(wqe));
1280 if (rx_type(wqe) == SIW_OP_RECEIVE) {
1281 siw_rqe_complete(qp, &wqe->rqe, wqe->bytes,
1283 } else if (rx_type(wqe) != SIW_OP_READ &&
1284 rx_type(wqe) != SIW_OP_READ_RESPONSE &&
1285 rx_type(wqe) != SIW_OP_WRITE) {
1286 siw_sqe_complete(qp, &wqe->sqe, 0, SIW_WC_WR_FLUSH_ERR);
1288 wqe->wr_status = SIW_WR_IDLE;
1290 wqe = &qp->rx_tagged.wqe_active;
1292 if (wqe->wr_status != SIW_WR_IDLE) {
1293 siw_wqe_put_mem(wqe, rx_type(wqe));
1294 wqe->wr_status = SIW_WR_IDLE;