diff options
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index e826c9ff5d70..d786ef443614 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -747,9 +747,7 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | |||
747 | qp_context->wqe_lkey = cpu_to_be32(qp->mr.ibmr.lkey); | 747 | qp_context->wqe_lkey = cpu_to_be32(qp->mr.ibmr.lkey); |
748 | qp_context->params1 = cpu_to_be32((MTHCA_ACK_REQ_FREQ << 28) | | 748 | qp_context->params1 = cpu_to_be32((MTHCA_ACK_REQ_FREQ << 28) | |
749 | (MTHCA_FLIGHT_LIMIT << 24) | | 749 | (MTHCA_FLIGHT_LIMIT << 24) | |
750 | MTHCA_QP_BIT_SRE | | 750 | MTHCA_QP_BIT_SWE); |
751 | MTHCA_QP_BIT_SWE | | ||
752 | MTHCA_QP_BIT_SAE); | ||
753 | if (qp->sq_policy == IB_SIGNAL_ALL_WR) | 751 | if (qp->sq_policy == IB_SIGNAL_ALL_WR) |
754 | qp_context->params1 |= cpu_to_be32(MTHCA_QP_BIT_SSC); | 752 | qp_context->params1 |= cpu_to_be32(MTHCA_QP_BIT_SSC); |
755 | if (attr_mask & IB_QP_RETRY_CNT) { | 753 | if (attr_mask & IB_QP_RETRY_CNT) { |
@@ -758,9 +756,13 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | |||
758 | } | 756 | } |
759 | 757 | ||
760 | if (attr_mask & IB_QP_MAX_QP_RD_ATOMIC) { | 758 | if (attr_mask & IB_QP_MAX_QP_RD_ATOMIC) { |
761 | if (attr->max_rd_atomic) | 759 | if (attr->max_rd_atomic) { |
760 | qp_context->params1 |= | ||
761 | cpu_to_be32(MTHCA_QP_BIT_SRE | | ||
762 | MTHCA_QP_BIT_SAE); | ||
762 | qp_context->params1 |= | 763 | qp_context->params1 |= |
763 | cpu_to_be32(fls(attr->max_rd_atomic - 1) << 21); | 764 | cpu_to_be32(fls(attr->max_rd_atomic - 1) << 21); |
765 | } | ||
764 | qp_param->opt_param_mask |= cpu_to_be32(MTHCA_QP_OPTPAR_SRA_MAX); | 766 | qp_param->opt_param_mask |= cpu_to_be32(MTHCA_QP_OPTPAR_SRA_MAX); |
765 | } | 767 | } |
766 | 768 | ||