RDMA/{amso1100,cxgb3}: Minimal MPAv2 support
authorKumar Sanghvi <kumaras@chelsio.com>
Sun, 25 Sep 2011 14:47:45 +0000 (20:17 +0530)
committerRoland Dreier <roland@purestorage.com>
Thu, 6 Oct 2011 16:39:01 +0000 (09:39 -0700)
As part of MPAv2 Enhanced RDMA Negotiation, pass max supported ird/ord
values upwards for the time being in iw_cxgb3 and amso1100.

Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
Reviewed-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/hw/amso1100/c2_ae.c
drivers/infiniband/hw/amso1100/c2_intr.c
drivers/infiniband/hw/cxgb3/iwch_cm.c

index 24f9e3a..32d34e8 100644 (file)
@@ -288,6 +288,11 @@ void c2_ae_event(struct c2_dev *c2dev, u32 mq_index)
                cm_event.private_data_len =
                        be32_to_cpu(req->private_data_length);
                cm_event.private_data = req->private_data;
+               /*
+                * Until ird/ord negotiation via MPAv2 support is added, send
+                * max supported values
+                */
+               cm_event.ird = cm_event.ord = 128;
 
                if (cm_id->event_handler)
                        cm_id->event_handler(cm_id, &cm_event);
index 0ebe4e8..8951db4 100644 (file)
@@ -183,6 +183,11 @@ static void handle_vq(struct c2_dev *c2dev, u32 mq_index)
        case IW_CM_EVENT_ESTABLISHED:
                c2_set_qp_state(req->qp,
                                C2_QP_STATE_RTS);
+               /*
+                * Until ird/ord negotiation via MPAv2 support is added, send
+                * max supported values
+                */
+               cm_event.ird = cm_event.ord = 128;
        case IW_CM_EVENT_CLOSE:
 
                /*
index 6cd642a..de6d077 100644 (file)
@@ -753,6 +753,11 @@ static void connect_request_upcall(struct iwch_ep *ep)
        event.private_data_len = ep->plen;
        event.private_data = ep->mpa_pkt + sizeof(struct mpa_message);
        event.provider_data = ep;
+       /*
+        * Until ird/ord negotiation via MPAv2 support is added, send max
+        * supported values
+        */
+       event.ird = event.ord = 8;
        if (state_read(&ep->parent_ep->com) != DEAD) {
                get_ep(&ep->com);
                ep->parent_ep->com.cm_id->event_handler(
@@ -770,6 +775,11 @@ static void established_upcall(struct iwch_ep *ep)
        PDBG("%s ep %p\n", __func__, ep);
        memset(&event, 0, sizeof(event));
        event.event = IW_CM_EVENT_ESTABLISHED;
+       /*
+        * Until ird/ord negotiation via MPAv2 support is added, send max
+        * supported values
+        */
+       event.ird = event.ord = 8;
        if (ep->com.cm_id) {
                PDBG("%s ep %p tid %d\n", __func__, ep, ep->hwtid);
                ep->com.cm_id->event_handler(ep->com.cm_id, &event);