Updated code for the NetEffect NE020 adapter.

Updates include:
- Support for userspace/virtual WQs.
- PowerPC
- Support for multiple debugging levels
- Many, many cosmetic changes inline with kernel.org standards

Diffs for nes_cm.c and nes_cm.h

Signed-off-by: Glenn Grundstrom <[EMAIL PROTECTED]>

---
diff --git a/drivers/infiniband/hw/nes/nes_cm.c 
b/drivers/infiniband/hw/nes/nes_cm.c
index 561dcf3..4023a2c 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -120,7 +120,7 @@ static struct nes_cm_event *create_event(struct nes_cm_node 
*cm_node,
                return NULL;
 
        /* allocate an empty event */
-       event = (struct nes_cm_event *)kzalloc(sizeof(*event), GFP_ATOMIC);
+       event = kzalloc(sizeof(*event), GFP_ATOMIC);
 
        if (!event)
                return NULL;
@@ -211,11 +211,7 @@ static int parse_mpa(struct nes_cm_node *cm_node, u8 
*buffer, u32 len)
 static int handle_exception_pkt(struct nes_cm_node *cm_node, struct sk_buff 
*skb)
 {
        int ret = 0;
-#ifdef OFED_1_2
-       struct tcphdr *tcph = skb->h.th;
-#else
        struct tcphdr *tcph = tcp_hdr(skb);
-#endif
 
        /* first check to see if this a FIN pkt */
        if (tcph->fin) {
@@ -265,19 +261,12 @@ struct sk_buff *form_cm_frame(struct sk_buff *skb, struct 
nes_cm_node *cm_node,
        ethh = (struct ethhdr *) buf;
        buf += ETH_HLEN;
 
-#ifdef OFED_1_2
-       iph = skb->nh.iph = (struct iphdr *)buf;
-       buf += sizeof(*iph);
-       tcph  = skb->h.th = (struct tcphdr *)buf;
-       skb->mac.raw = skb->data;
-#else
        iph = (struct iphdr *)buf;
        buf += sizeof(*iph);
        tcph = (struct tcphdr *)buf;
        skb_reset_mac_header(skb);
        skb_set_network_header(skb, ETH_HLEN);
        skb_set_transport_header(skb, ETH_HLEN+sizeof(*iph));
-#endif
        buf += sizeof(*tcph);
 
        skb->ip_summed = CHECKSUM_PARTIAL;
@@ -404,11 +393,7 @@ int schedule_nes_timer(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
        }
 
        if (type == NES_TIMER_TYPE_SEND) {
-#ifdef OFED_1_2
-               new_send->seq_num = htonl(skb->h.th->seq);
-#else
                new_send->seq_num = htonl(tcp_hdr(skb)->seq);
-#endif
                atomic_inc(&new_send->skb->users);
 
                ret = nes_nic_cm_xmit(new_send->skb, cm_node->netdev);
@@ -433,11 +418,7 @@ int schedule_nes_timer(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
                spin_unlock_irqrestore(&cm_node->retrans_list_lock, flags);
        }
        if (type == NES_TIMER_TYPE_RECV) {
-#ifdef OFED_1_2
-               new_send->seq_num = htonl(skb->h.th->seq);
-#else
                new_send->seq_num = htonl(tcp_hdr(skb)->seq);
-#endif
                new_send->timetosend = jiffies;
                spin_lock_irqsave(&cm_node->recv_list_lock, flags);
                list_add_tail(&new_send->list, &cm_node->recv_list);
@@ -687,7 +668,7 @@ int send_syn(struct nes_cm_node *cm_node, u32 sendack)
        options = (union all_known_options *)&optionsbuffer[optionssize];
        options->as_windowscale.optionnum = OPTION_NUMBER_WINDOW_SCALE;
        options->as_windowscale.length = sizeof(struct option_windowscale);
-       options->as_windowscale.shiftcount = NES_CM_DEFAULT_RCV_WND_SCALE;
+       options->as_windowscale.shiftcount = cm_node->tcp_cntxt.snd_wscale;
        optionssize += sizeof(struct option_windowscale);
 
        if (sendack && !(NES_DRV_OPT_SUPRESS_OPTION_BC & nes_drv_opt)
@@ -1054,11 +1035,10 @@ static struct nes_cm_node *make_cm_node(struct 
nes_cm_core *cm_core,
        struct nes_adapter *nesadapter;
 
        /* create an hte and cm_node for this instance */
-       cm_node = (struct nes_cm_node *)kzalloc(sizeof(*cm_node), GFP_ATOMIC);
+       cm_node = kzalloc(sizeof(*cm_node), GFP_ATOMIC);
        if (!cm_node)
                return NULL;
 
-       memset(cm_node, 0, sizeof(struct nes_cm_node));
        /* set our node specific transport info */
        cm_node->loc_addr = cm_info->loc_addr;
        cm_node->rem_addr = cm_info->rem_addr;
@@ -1072,6 +1052,9 @@ static struct nes_cm_node *make_cm_node(struct 
nes_cm_core *cm_core,
        cm_node->cm_id = cm_info->cm_id;
        memcpy(cm_node->loc_mac, nesvnic->netdev->dev_addr, ETH_ALEN);
 
+       nes_debug(NES_DBG_CM, "listener=%p, cm_id=%p\n",
+                       cm_node->listener, cm_node->cm_id);
+
        INIT_LIST_HEAD(&cm_node->retrans_list);
        spin_lock_init(&cm_node->retrans_list_lock);
        INIT_LIST_HEAD(&cm_node->recv_list);
@@ -1281,14 +1264,10 @@ int process_packet(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
        int optionsize;
        int datasize;
        int ret = 0;
-#ifdef OFED_1_2
-       struct tcphdr *tcph = skb->h.th;
-#else
        struct tcphdr *tcph = tcp_hdr(skb);
-#endif
        u32 inc_sequence;
 
-       if ((!tcph) || (NES_CM_STATE_TSA == cm_node->state)) {
+       if ((!tcph) || (cm_node->state == NES_CM_STATE_TSA)) {
                BUG_ON(!tcph);
                atomic_inc(&cm_accel_dropped_pkts);
                return -1;
@@ -1301,6 +1280,7 @@ int process_packet(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
                switch (cm_node->state) {
                        case NES_CM_STATE_LISTENING:
                                rem_ref_cm_node(cm_core, cm_node);
+                               break;
                        case NES_CM_STATE_TSA:
                        case NES_CM_STATE_CLOSED:
                                break;
@@ -1333,11 +1313,7 @@ int process_packet(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
 
        optionsize = (tcph->doff << 2) - sizeof(struct tcphdr);
 
-#ifdef OFED_1_2
-       skb_pull(skb, skb->nh.iph->ihl << 2);
-#else
        skb_pull(skb, ip_hdr(skb)->ihl << 2);
-#endif
        skb_pull(skb, tcph->doff << 2);
 
        datasize = skb->len;
@@ -1361,6 +1337,12 @@ int process_packet(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
 
                cm_node->tcp_cntxt.rcv_nxt = inc_sequence + datasize;
 
+
+       if (optionsize) {
+               u8 *optionsloc = (u8 *)&tcph[1];
+               process_options(cm_node, optionsloc, optionsize);
+       }
+
        cm_node->tcp_cntxt.snd_wnd = htons(tcph->window) <<
                        cm_node->tcp_cntxt.snd_wscale;
 
@@ -1368,11 +1350,6 @@ int process_packet(struct nes_cm_node *cm_node, struct 
sk_buff *skb,
                cm_node->tcp_cntxt.max_snd_wnd = cm_node->tcp_cntxt.snd_wnd;
        }
 
-       if (optionsize) {
-               u8 *optionsloc = (u8 *)&tcph[1];
-               process_options(cm_node, optionsloc, optionsize);
-       }
-
        if (tcph->ack) {
                cm_node->tcp_cntxt.rem_ack_num = ntohl(tcph->ack_seq);
                switch (cm_node->state) {
@@ -1566,8 +1543,11 @@ static struct nes_cm_listener *mini_cm_listen(struct 
nes_cm_core *cm_core,
        struct nes_cm_listener *listener;
        unsigned long flags;
 
+       nes_debug(NES_DBG_CM, "Search for 0x%08x : 0x%04x\n",
+                       htonl(cm_info->loc_addr), htons(cm_info->loc_port));
+
        /* cannot have multiple matching listeners */
-       listener = find_listener( cm_core, htonl(cm_info->loc_addr),
+       listener = find_listener(cm_core, htonl(cm_info->loc_addr),
                        htons(cm_info->loc_port), NES_CM_LISTENER_EITHER_STATE);
        if (listener && listener->listener_state == 
NES_CM_LISTENER_ACTIVE_STATE) {
                /* find automatically incs ref count ??? */
@@ -1578,7 +1558,7 @@ static struct nes_cm_listener *mini_cm_listen(struct 
nes_cm_core *cm_core,
 
        if (!listener) {
                /* create a CM listen node (1/2 node to compare incoming 
traffic to) */
-               listener = (struct nes_cm_listener *)kzalloc(sizeof(*listener), 
GFP_ATOMIC);
+               listener = kzalloc(sizeof(*listener), GFP_ATOMIC);
                if (!listener) {
                        nes_debug(NES_DBG_CM, "Not creating listener memory 
allocation failed\n");
                        return NULL;
@@ -1656,7 +1636,7 @@ struct nes_cm_node * mini_cm_connect(struct nes_cm_core 
*cm_core,
        if (cm_info->loc_addr == cm_info->rem_addr) {
                loopbackremotelistener = find_listener(cm_core, 
cm_node->rem_addr,
                                cm_node->rem_port, 
NES_CM_LISTENER_ACTIVE_STATE);
-               if (NULL == loopbackremotelistener) {
+               if (loopbackremotelistener == NULL) {
                        create_event(cm_node, NES_CM_EVENT_ABORTED);
                } else {
                        u16 temp;
@@ -1672,9 +1652,10 @@ struct nes_cm_node * mini_cm_connect(struct nes_cm_core 
*cm_core,
                        loopbackremotenode->mpa_frame_size = mpa_frame_size -
                                        sizeof(struct ietf_mpa_frame);
 
-                       create_event(loopbackremotenode, NES_CM_EVENT_MPA_REQ);
                        // we are done handling this state, set node to a TSA 
state
                        cm_node->state = NES_CM_STATE_TSA;
+
+                       create_event(loopbackremotenode, NES_CM_EVENT_MPA_REQ);
                }
                return cm_node;
        }
@@ -1684,6 +1665,7 @@ struct nes_cm_node * mini_cm_connect(struct nes_cm_core 
*cm_core,
        /* init our MPA frame ptr */
        memcpy(&cm_node->mpa_frame, mpa_frame, mpa_frame_size);
        cm_node->mpa_frame_size = mpa_frame_size;
+       cm_node->tcp_cntxt.snd_wscale = NES_CM_DEFAULT_RCV_WND_SCALE;
 
        /* send a syn and goto syn sent state */
        cm_node->state = NES_CM_STATE_SYN_SENT;
@@ -1809,13 +1791,8 @@ int mini_cm_recv_pkt(struct nes_cm_core *cm_core, struct 
nes_vnic *nesvnic,
 
        iph = (struct iphdr *)skb->data;
        tcph = (struct tcphdr *)(skb->data + sizeof(struct iphdr));
-#ifdef OFED_1_2
-       skb->nh.iph = iph;
-       skb->h.th = tcph;
-#else
        skb_reset_network_header(skb);
        skb_set_transport_header(skb, sizeof(*tcph));
-#endif
        skb->len = htons(iph->tot_len);
 
        nfo.loc_addr = ntohl(iph->daddr);
@@ -1823,6 +1800,9 @@ int mini_cm_recv_pkt(struct nes_cm_core *cm_core, struct 
nes_vnic *nesvnic,
        nfo.rem_addr = ntohl(iph->saddr);
        nfo.rem_port = ntohs(tcph->source);
 
+       nes_debug(NES_DBG_CM, "Received packet: dest=0x%08X:0x%04X 
src=0x%08X:0x%04X\n",
+                       iph->daddr, tcph->dest, iph->saddr, tcph->source);
+
        /* note: this call is going to increment cm_node ref count */
        cm_node = find_node(cm_core,
                        nfo.rem_port, nfo.rem_addr,
@@ -2071,12 +2051,11 @@ int nes_cm_disconn(struct nes_qp *nesqp)
        unsigned long flags;
 
        spin_lock_irqsave(&nesqp->lock, flags);
-       if (0==nesqp->disconn_pending) {
+       if (nesqp->disconn_pending == 0) {
                nesqp->disconn_pending++;
                spin_unlock_irqrestore(&nesqp->lock, flags);
                /* nes_add_ref(&nesqp->ibqp); */
                /* init our disconnect work element, to */
-               /* NES_INIT_WORK(&nesqp->disconn_work, nes_disconnect_worker, 
(void *)nesqp); */
                INIT_WORK(&nesqp->disconn_work, nes_disconnect_worker);
 
                queue_work(g_cm_core->disconn_wq, &nesqp->disconn_work);
@@ -2092,9 +2071,8 @@ int nes_cm_disconn(struct nes_qp *nesqp)
 /**
  * nes_disconnect_worker
  */
-void nes_disconnect_worker(void *parm)
+void nes_disconnect_worker(struct work_struct *work)
 {
-       struct work_struct *work = parm;
        struct nes_qp *nesqp = container_of(work, struct nes_qp, disconn_work);
 
        nes_debug(NES_DBG_CM, "processing AEQE id 0x%04X for QP%u.\n",
@@ -2113,6 +2091,7 @@ int nes_cm_disconn_true(struct nes_qp *nesqp)
        struct iw_cm_id *cm_id;
        struct iw_cm_event cm_event;
        struct nes_vnic *nesvnic;
+       struct nes_cm_node *cm_node = NULL;
        u16 last_ae;
        u8 original_hw_tcp_state;
        u8 original_ibqp_state;
@@ -2184,7 +2163,7 @@ int nes_cm_disconn_true(struct nes_qp *nesqp)
                original_ibqp_state   = nesqp->ibqp_state;
                last_ae = nesqp->last_aeq;
 
-               if ((0 == issued_disconnect_reset) && (nesqp->cm_id) &&
+               if ((issued_disconnect_reset == 0) && (nesqp->cm_id) &&
                                ((original_hw_tcp_state == 
NES_AEQE_TCP_STATE_CLOSED) ||
                                 (original_hw_tcp_state == 
NES_AEQE_TCP_STATE_TIME_WAIT) ||
                                 (last_ae == 
NES_AEQE_AEID_RDMAP_ROE_BAD_LLP_CLOSE) ||
@@ -2213,7 +2192,7 @@ int nes_cm_disconn_true(struct nes_qp *nesqp)
                        cm_id->rem_ref(cm_id);
 
                        spin_lock_irqsave(&nesqp->lock, flags);
-                       if (0 == nesqp->flush_issued) {
+                       if (nesqp->flush_issued == 0) {
                                nesqp->flush_issued = 1;
                                spin_unlock_irqrestore(&nesqp->lock, flags);
                                flush_wqes(nesvnic->nesdev, nesqp, 
NES_CQP_FLUSH_RQ, 1);
@@ -2305,6 +2284,7 @@ int nes_accept(struct iw_cm_id *cm_id, struct 
iw_cm_conn_param *conn_param)
        struct iw_cm_event cm_event;
        struct nes_hw_qp_wqe *wqe;
        struct nes_v4_quad nes_quad;
+       struct iw_cm_id *lb_cm_id;
        int ret;
 
        ibqp = nes_get_qp(cm_id->device, conn_param->qpn);
@@ -2317,6 +2297,9 @@ int nes_accept(struct iw_cm_id *cm_id, struct 
iw_cm_conn_param *conn_param)
        nesdev = nesvnic->nesdev;
        adapter = nesdev->nesadapter;
 
+       nes_debug(NES_DBG_CM, "nesvnic=%p, netdev=%p, %s\n",
+                       nesvnic, nesvnic->netdev, nesvnic->netdev->name);
+
        /* since this is from a listen, we were able to put node handle into 
cm_id */
        cm_node = (struct nes_cm_node *)cm_id->provider_data;
 
@@ -2407,17 +2390,14 @@ int nes_accept(struct iw_cm_id *cm_id, struct 
iw_cm_conn_param *conn_param)
        nesqp->nesqp_context->ird_ord_sizes |= 
cpu_to_le32((u32)conn_param->ord);
 
        memset(&nes_quad, 0, sizeof(nes_quad));
-
-       nes_quad.DstIpAdrIndex = (u32)PCI_FUNC(nesdev->pcidev->devfn) << 27;
+       nes_quad.DstIpAdrIndex = 
cpu_to_le32((u32)PCI_FUNC(nesdev->pcidev->devfn) << 24);
        nes_quad.SrcIpadr      = cm_id->remote_addr.sin_addr.s_addr;
        nes_quad.TcpPorts[0]   = cm_id->remote_addr.sin_port;
        nes_quad.TcpPorts[1]   = cm_id->local_addr.sin_port;
 
        /* Produce hash key */
-       nesqp->hte_index = nes_crc32(1, NES_HASH_CRC_INITAL_VALUE,
-                       NES_HASH_CRC_FINAL_XOR, sizeof(nes_quad),
-                       (u8 *)&nes_quad, ORDER, REFIN, REFOUT);
-
+       nesqp->hte_index = cpu_to_be32(
+                       crc32c(~0, (void *)&nes_quad, sizeof(nes_quad)) ^ 
0xffffffff);
        nes_debug(NES_DBG_CM, "HTE Index = 0x%08X, CRC = 0x%08X\n",
                        nesqp->hte_index, nesqp->hte_index & 
adapter->hte_index_mask);
 
@@ -2602,9 +2582,14 @@ int nes_create_listen(struct iw_cm_id *cm_id, int 
backlog)
        if (!nesvnic)
                return -EINVAL;
        adapter = nesvnic->nesdev->nesadapter;
+       nes_debug(NES_DBG_CM, "nesvnic=%p, netdev=%p, %s\n",
+                       nesvnic, nesvnic->netdev, nesvnic->netdev->name);
+
+       nes_debug(NES_DBG_CM, "nesvnic->local_ipaddr=0x%08x, 
sin_addr.s_addr=0x%08x\n",
+                       nesvnic->local_ipaddr, 
cm_id->local_addr.sin_addr.s_addr);
 
        /* setup listen params in our api call struct */
-       cm_info.loc_addr = cm_id->local_addr.sin_addr.s_addr;
+       cm_info.loc_addr = nesvnic->local_ipaddr;
        cm_info.loc_port = cm_id->local_addr.sin_port;
        cm_info.backlog = backlog;
        cm_info.cm_id = cm_id;
@@ -2789,18 +2774,16 @@ void cm_event_connected(struct nes_cm_event *event)
 
        memset(&nes_quad, 0, sizeof(nes_quad));
 
-       nes_quad.DstIpAdrIndex = (u32)PCI_FUNC(nesdev->pcidev->devfn) << 27;
+       nes_quad.DstIpAdrIndex = 
cpu_to_le32((u32)PCI_FUNC(nesdev->pcidev->devfn) << 24);
        nes_quad.SrcIpadr = cm_id->remote_addr.sin_addr.s_addr;
        nes_quad.TcpPorts[0] = cm_id->remote_addr.sin_port;
        nes_quad.TcpPorts[1] = cm_id->local_addr.sin_port;
 
-       nesqp->hte_index = nes_crc32( 1, NES_HASH_CRC_INITAL_VALUE,
-                       NES_HASH_CRC_FINAL_XOR, sizeof(nes_quad), (u8 
*)&nes_quad,
-                       ORDER, REFIN, REFOUT);
-
-       nes_debug(NES_DBG_CM, "HTE Index = 0x%08X, After CRC = 0x%08X, TcpPorts 
= 0x%08X\n",
-                       nesqp->hte_index, nesqp->hte_index & 
nesadapter->hte_index_mask,
-                       le32_to_cpu(nes_quad.TcpPorts));
+       /* Produce hash key */
+       nesqp->hte_index = cpu_to_be32(
+                       crc32c(~0, (void *)&nes_quad, sizeof(nes_quad)) ^ 
0xffffffff);
+       nes_debug(NES_DBG_CM, "HTE Index = 0x%08X, After CRC = 0x%08X\n",
+                       nesqp->hte_index, nesqp->hte_index & 
nesadapter->hte_index_mask);
 
        nesqp->hte_index &= nesadapter->hte_index_mask;
        nesqp->nesqp_context->hte_index = cpu_to_le32(nesqp->hte_index);
@@ -2907,6 +2890,9 @@ void cm_event_reset(struct nes_cm_event *event)
        if (!event->cm_node)
                return;
 
+       if (!event->cm_node->cm_id)
+               return;
+
        cm_id = event->cm_node->cm_id;
 
        nes_debug(NES_DBG_CM, "%p - cm_id = %p\n", event->cm_node, cm_id);
@@ -2925,6 +2911,7 @@ void cm_event_reset(struct nes_cm_event *event)
        ret = cm_id->event_handler(cm_id, &cm_event);
        nes_debug(NES_DBG_CM, "OFA CM event_handler returned, ret=%d\n", ret);
 
+
        /* notify OF layer about this connection error event */
        cm_id->rem_ref(cm_id);
 
@@ -2975,7 +2962,7 @@ void cm_event_mpa_req(struct nes_cm_event *event)
 }
 
 
-static void nes_cm_event_handler(void *parm);
+static void nes_cm_event_handler(struct work_struct *);
 
 /**
  * nes_cm_post_event
@@ -2986,7 +2973,6 @@ int nes_cm_post_event(struct nes_cm_event *event)
        atomic_inc(&event->cm_node->cm_core->events_posted);
        add_ref_cm_node(event->cm_node);
        event->cm_info.cm_id->add_ref(event->cm_info.cm_id);
-       /* NES_INIT_WORK(&event->event_work, nes_cm_event_handler, (void 
*)event); */
        INIT_WORK(&event->event_work, nes_cm_event_handler);
        nes_debug(NES_DBG_CM, "queue_work, event=%p\n", event);
 
@@ -3002,9 +2988,8 @@ int nes_cm_post_event(struct nes_cm_event *event)
  * worker function to handle cm events
  * will free instance of nes_cm_event
  */
-static void nes_cm_event_handler(void *parm)
+static void nes_cm_event_handler(struct work_struct *work)
 {
-       struct work_struct *work = parm;
        struct nes_cm_event *event = container_of(work, struct nes_cm_event, 
event_work);
        struct nes_cm_core *cm_core;
 
@@ -3025,7 +3010,8 @@ static void nes_cm_event_handler(void *parm)
                        cm_event_reset(event);
                        break;
                case NES_CM_EVENT_CONNECTED:
-                       if ((!event->cm_node->cm_id) || (event->cm_node->state 
!= NES_CM_STATE_TSA)) {
+                       if ((!event->cm_node->cm_id) ||
+                               (event->cm_node->state != NES_CM_STATE_TSA)) {
                                break;
                        }
                        cm_event_connected(event);
diff --git a/drivers/infiniband/hw/nes/nes_cm.h 
b/drivers/infiniband/hw/nes/nes_cm.h
index 8956b32..00eaeb1 100644
--- a/drivers/infiniband/hw/nes/nes_cm.h
+++ b/drivers/infiniband/hw/nes/nes_cm.h
@@ -43,7 +43,7 @@
 #define IEFT_MPA_KEY_REQ  "MPA ID Req Frame"
 #define IEFT_MPA_KEY_REP  "MPA ID Rep Frame"
 #define IETF_MPA_KEY_SIZE 16
-#define IETF_MPA_VERSION   1
+#define IETF_MPA_VERSION  1
 
 enum ietf_mpa_flags {
        IETF_MPA_FLAGS_MARKERS = 0x80,  /* receive Markers */
@@ -131,32 +131,32 @@ struct nes_timer_entry {
        struct net_device *netdev;
 };
 
-#define NES_DEFAULT_RETRYS     64
+#define NES_DEFAULT_RETRYS  64
 #define NES_DEFAULT_RETRANS 8
 #ifdef CONFIG_INFINIBAND_NES_DEBUG
-#define NES_RETRY_TIMEOUT      (1000*HZ/1000)
+#define NES_RETRY_TIMEOUT   (1000*HZ/1000)
 #else
-#define NES_RETRY_TIMEOUT      (1000*HZ/10000)
+#define NES_RETRY_TIMEOUT   (1000*HZ/10000)
 #endif
-#define NES_SHORT_TIME         (10)
-#define NES_LONG_TIME          (2000*HZ/1000)
+#define NES_SHORT_TIME      (10)
+#define NES_LONG_TIME       (2000*HZ/1000)
 
-#define NES_CM_HASHTABLE_SIZE       1024
-#define NES_CM_TCP_TIMER_INTERVAL   3000       
-#define NES_CM_DEFAULT_MTU          1540
+#define NES_CM_HASHTABLE_SIZE         1024
+#define NES_CM_TCP_TIMER_INTERVAL     3000     
+#define NES_CM_DEFAULT_MTU            1540
 #define NES_CM_DEFAULT_FRAME_CNT      10
-#define NES_CM_THREAD_STACK_SIZE     256       
-#define NES_CM_DEFAULT_RCV_WND                 64240   // before we know that 
window scaling is allowed
-#define NES_CM_DEFAULT_RCV_WND_SCALED  256960  // after we know that window 
scaling is allowed
-#define NES_CM_DEFAULT_RCV_WND_SCALE   2
-#define NES_CM_DEFAULT_FREE_PKTS  0x000A       
-#define NES_CM_FREE_PKT_LO_WATERMARK   2       
+#define NES_CM_THREAD_STACK_SIZE      256      
+#define NES_CM_DEFAULT_RCV_WND        64240    // before we know that window 
scaling is allowed
+#define NES_CM_DEFAULT_RCV_WND_SCALED 256960  // after we know that window 
scaling is allowed
+#define NES_CM_DEFAULT_RCV_WND_SCALE  2
+#define NES_CM_DEFAULT_FREE_PKTS      0x000A   
+#define NES_CM_FREE_PKT_LO_WATERMARK  2        
 
-#define NES_CM_DEF_SEQ        0x159bf75f
-#define NES_CM_DEF_LOCAL_ID       0x3b47
+#define NES_CM_DEF_SEQ       0x159bf75f
+#define NES_CM_DEF_LOCAL_ID  0x3b47
 
-#define NES_CM_DEF_SEQ2       0x18ed5740
-#define NES_CM_DEF_LOCAL_ID2      0xb807
+#define NES_CM_DEF_SEQ2      0x18ed5740
+#define NES_CM_DEF_LOCAL_ID2 0xb807
 
 typedef u32 nes_addr_t;
 
@@ -192,15 +192,15 @@ enum nes_cm_conn_type {
 
 /* CM context params */
 struct nes_cm_tcp_context {
-       u8   client;            
+       u8  client;                     
 
-       u32  loc_seq_num;       
-       u32  loc_ack_num;       
-       u32  rem_ack_num;       
-       u32  rcv_nxt;           
+       u32 loc_seq_num;        
+       u32 loc_ack_num;        
+       u32 rem_ack_num;        
+       u32 rcv_nxt;            
 
-       u32  loc_id;
-       u32  rem_id;
+       u32 loc_id;
+       u32 rem_id;
 
        u32 snd_wnd;
        u32 max_snd_wnd;
@@ -211,7 +211,7 @@ struct nes_cm_tcp_context {
        u8  rcv_wscale;
 
        struct nes_cm_tsa_context tsa_cntxt;    
-       struct timeval sent_ts;         
+       struct timeval            sent_ts;              
 };
 
 
@@ -222,68 +222,67 @@ enum nes_cm_listener_state {
 };
 
 struct nes_cm_listener {
-       struct list_head list;
-       u64 session_id; 
-       struct nes_cm_core *cm_core;
-       u8 loc_mac[ETH_ALEN];
-       nes_addr_t loc_addr;
-       u16 loc_port;
-       struct iw_cm_id *cm_id;
-       enum nes_cm_conn_type conn_type;
-       atomic_t ref_count;
-       struct nes_vnic *nesvnic;
-       atomic_t pend_accepts_cnt;
-       int backlog;
+       struct list_head           list;
+       u64                        session_id;  
+       struct nes_cm_core         *cm_core;
+       u8                         loc_mac[ETH_ALEN];
+       nes_addr_t                 loc_addr;
+       u16                        loc_port;
+       struct iw_cm_id            *cm_id;
+       enum nes_cm_conn_type      conn_type;
+       atomic_t                   ref_count;
+       struct nes_vnic            *nesvnic;
+       atomic_t                   pend_accepts_cnt;
+       int                        backlog;
        enum nes_cm_listener_state listener_state;
-       u32  reused_node;
+       u32                        reused_node;
 };
 
 /* per connection node and node state information */
 struct nes_cm_node {
-       u64 session_id; 
-       u32 hashkey;    
-
-       nes_addr_t loc_addr, rem_addr;
-       u16 loc_port, rem_port;
+       u64                       session_id;   
+       u32                       hashkey;      
 
+       nes_addr_t                loc_addr, rem_addr;
+       u16                       loc_port, rem_port;
 
-       u8 loc_mac[ETH_ALEN];   
-       u8 rem_mac[ETH_ALEN];   
+       u8                        loc_mac[ETH_ALEN];    
+       u8                        rem_mac[ETH_ALEN];    
 
-       enum nes_cm_node_state state;   
+       enum nes_cm_node_state    state;        
        struct nes_cm_tcp_context tcp_cntxt;    
-       struct nes_cm_core *cm_core;
-       struct sk_buff_head resend_list;
-       atomic_t ref_count;
-       struct net_device *netdev;
-
-       struct nes_cm_node *loopbackpartner ;
-       struct list_head retrans_list;
-       spinlock_t retrans_list_lock;
-       struct list_head recv_list;
-       spinlock_t recv_list_lock;
+       struct nes_cm_core        *cm_core;
+       struct sk_buff_head       resend_list;
+       atomic_t                  ref_count;
+       struct net_device         *netdev;
+
+       struct nes_cm_node        *loopbackpartner;
+       struct list_head          retrans_list;
+       spinlock_t                retrans_list_lock;
+       struct list_head          recv_list;
+       spinlock_t                recv_list_lock;
        
-       int send_write0;
+       int                       send_write0;
        union {
                struct ietf_mpa_frame mpa_frame;        
-               u8 mpa_frame_buf[NES_CM_DEFAULT_MTU];
+               u8                    mpa_frame_buf[NES_CM_DEFAULT_MTU];
        };
-       u16 mpa_frame_size;
-       struct iw_cm_id *cm_id;
-       struct list_head list;
-       int accelerated;
-       struct nes_cm_listener *listener;
-       enum nes_cm_conn_type conn_type;
-       struct nes_vnic *nesvnic;
-       int apbvt_set;
-       int accept_pend;
+       u16                       mpa_frame_size;
+       struct iw_cm_id           *cm_id;
+       struct list_head          list;
+       int                       accelerated;
+       struct nes_cm_listener    *listener;
+       enum nes_cm_conn_type     conn_type;
+       struct nes_vnic           *nesvnic;
+       int                       apbvt_set;
+       int                       accept_pend;
 };
 
 /* structure for client or CM to fill when making CM api calls. */
 /*     - only need to set relevant data, based on op. */
 struct nes_cm_info {
        union {
-               struct iw_cm_id *cm_id;
+               struct iw_cm_id   *cm_id;
                struct net_device *netdev;
        };
 
@@ -325,36 +324,36 @@ struct nes_cm_event {
 };
 
 struct nes_cm_core {
-       enum nes_cm_node_state state;   
-       atomic_t session_id;                    
-
-       atomic_t listen_node_cnt;                       
-       struct nes_cm_node listen_list; 
-       spinlock_t listen_list_lock;    
-
-       u32 mtu;                                                
-       u32 free_tx_pkt_max;
-       u32 rx_pkt_posted;                              
-       struct sk_buff_head tx_free_list;       
-       atomic_t ht_node_cnt;                   
-       struct list_head connected_nodes;
+       enum nes_cm_node_state  state;  
+       atomic_t                session_id;                     
+
+       atomic_t                listen_node_cnt;                        
+       struct nes_cm_node      listen_list;    
+       spinlock_t              listen_list_lock;       
+
+       u32                     mtu;                                            
+       u32                     free_tx_pkt_max;
+       u32                     rx_pkt_posted;                          
+       struct sk_buff_head     tx_free_list;   
+       atomic_t                ht_node_cnt;                    
+       struct list_head        connected_nodes;
        /* struct list_head hashtable[NES_CM_HASHTABLE_SIZE]; */
-       spinlock_t ht_lock;                             
+       spinlock_t              ht_lock;                                
 
-       struct timer_list tcp_timer;    
+       struct timer_list       tcp_timer;      
 
-       struct nes_cm_ops *api;                 
+       struct nes_cm_ops       *api;                   
 
        int (*post_event)(struct nes_cm_event *event);
-       atomic_t events_posted;
+       atomic_t                events_posted;
        struct workqueue_struct *event_wq;
        struct workqueue_struct *disconn_wq;
 
-       atomic_t node_cnt;
-       u64 aborted_connects;
-       u32 options;
+       atomic_t                node_cnt;
+       u64                     aborted_connects;
+       u32                     options;
 
-       struct nes_cm_node *current_listen_node;
+       struct nes_cm_node      *current_listen_node;
 };
 
 
@@ -408,7 +407,7 @@ int mini_cm_get(struct nes_cm_core *);
 int mini_cm_set(struct nes_cm_core *, u32, u32);
 
 int nes_cm_disconn(struct nes_qp *);
-void nes_disconnect_worker(void *);
+void nes_disconnect_worker(struct work_struct *);
 int nes_cm_disconn_true(struct nes_qp *);
 int nes_disconnect(struct nes_qp *, int);
 
@@ -430,4 +429,3 @@ void cm_event_mpa_req(struct nes_cm_event *);
 int nes_cm_post_event(struct nes_cm_event *);
 
 #endif                 /* NES_CM_H */
-
diff --git a/drivers/infiniband/hw/nes/nes_context.h 
b/drivers/infiniband/hw/nes/nes_context.h
_______________________________________________
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg

Reply via email to