From: Roland Dreier Date: Mon, 31 Oct 2011 18:38:27 +0000 (-0700) Subject: Merge branches 'amso1100', 'cma', 'cxgb3', 'cxgb4', 'fdr', 'ipath', 'ipoib', 'misc... X-Git-Tag: next-20111101~50^2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e617608e8e7e17988ede32ebe3badec9cf522cc6;p=karo-tx-linux.git Merge branches 'amso1100', 'cma', 'cxgb3', 'cxgb4', 'fdr', 'ipath', 'ipoib', 'misc', 'mlx4', 'mthca', 'nes', 'qib' and 'xrc' into for-next --- e617608e8e7e17988ede32ebe3badec9cf522cc6 diff --cc drivers/infiniband/hw/nes/nes_cm.c index c118663e4437,7dc43ea7d4e7,c118663e4437,c118663e4437,c118663e4437,c118663e4437,c118663e4437,c118663e4437,c118663e4437,c118663e4437,401b7bb828d0,c118663e4437,c118663e4437..dfce9ea98a39 --- a/drivers/infiniband/hw/nes/nes_cm.c +++ b/drivers/infiniband/hw/nes/nes_cm.c @@@@@@@@@@@@@@ -3316,40 -3530,12 -3316,40 -3316,40 -3316,40 -3316,40 -3316,40 -3316,40 -3316,40 -3316,40 -3329,40 -3316,40 -3316,40 +3543,12 @@@@@@@@@@@@@@ static void cm_event_connected(struct n 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));