NES_QPCONTEXT_ORDIRD_IWARP_MODE_SHIFT);
/* Adjust tail for not having a LSMM */
- ---------- nesqp->hwqp.sq_tail = 1;
-
- #if defined(NES_SEND_FIRST_WRITE)
- if (cm_node->send_write0) {
- nes_debug(NES_DBG_CM, "Sending first write.\n");
- wqe = &nesqp->hwqp.sq_vbase[0];
- u64temp = (unsigned long)nesqp;
- u64temp |= NES_SW_CONTEXT_ALIGN>>1;
- set_wqe_64bit_value(wqe->wqe_words,
- NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX, u64temp);
- wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] =
- cpu_to_le32(NES_IWARP_SQ_OP_RDMAW);
- wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = 0;
- wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_LOW_IDX] = 0;
- wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_HIGH_IDX] = 0;
- wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] = 0;
- wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = 0;
+ ++++++++++ /*nesqp->hwqp.sq_tail = 1;*/
- ------- --#if defined(NES_SEND_FIRST_WRITE)
- ------- -- if (cm_node->send_write0) {
- ------- -- nes_debug(NES_DBG_CM, "Sending first write.\n");
- ------- -- wqe = &nesqp->hwqp.sq_vbase[0];
- ------- -- u64temp = (unsigned long)nesqp;
- ------- -- u64temp |= NES_SW_CONTEXT_ALIGN>>1;
- ------- -- set_wqe_64bit_value(wqe->wqe_words,
- ------- -- NES_IWARP_SQ_WQE_COMP_CTX_LOW_IDX, u64temp);
- ------- -- wqe->wqe_words[NES_IWARP_SQ_WQE_MISC_IDX] =
- ------- -- cpu_to_le32(NES_IWARP_SQ_OP_RDMAW);
- ------- -- wqe->wqe_words[NES_IWARP_SQ_WQE_TOTAL_PAYLOAD_IDX] = 0;
- ------- -- wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_LOW_IDX] = 0;
- ------- -- wqe->wqe_words[NES_IWARP_SQ_WQE_FRAG0_HIGH_IDX] = 0;
- ------- -- wqe->wqe_words[NES_IWARP_SQ_WQE_LENGTH0_IDX] = 0;
- ------- -- wqe->wqe_words[NES_IWARP_SQ_WQE_STAG0_IDX] = 0;
- if (nesqp->sq_kmapped) {
- nesqp->sq_kmapped = 0;
- kunmap(nesqp->page);
- }
+ ++++++++++ build_rdma0_msg(cm_node, &nesqp);
- ------- -- if (nesqp->sq_kmapped) {
- ------- -- nesqp->sq_kmapped = 0;
- ------- -- kunmap(nesqp->page);
- ------- -- }
- ------- --
- ---------- /* use the reserved spot on the WQ for the extra first WQE */
- ---------- nesqp->nesqp_context->ird_ord_sizes &=
- ---------- cpu_to_le32(~(NES_QPCONTEXT_ORDIRD_LSMM_PRESENT |
- ---------- NES_QPCONTEXT_ORDIRD_WRPDU |
- ---------- NES_QPCONTEXT_ORDIRD_ALSMM));
- ---------- nesqp->skip_lsmm = 1;
- ---------- nesqp->hwqp.sq_tail = 0;
- ---------- nes_write32(nesdev->regs + NES_WQE_ALLOC,
- ---------- (1 << 24) | 0x00800000 | nesqp->hwqp.qp_id);
- ---------- }
- ----------#endif
+ ++++++++++ nes_write32(nesdev->regs + NES_WQE_ALLOC,
+ ++++++++++ (1 << 24) | 0x00800000 | nesqp->hwqp.qp_id);
memset(&nes_quad, 0, sizeof(nes_quad));