Merge branches 'cma', 'ipath', 'misc', 'mlx4', 'nes' and 'qib' into for-next
This commit is contained in:
commit
f36ae34238
|
@ -1485,6 +1485,7 @@ ssize_t ib_uverbs_create_qp(struct ib_uverbs_file *file,
|
||||||
qp->event_handler = attr.event_handler;
|
qp->event_handler = attr.event_handler;
|
||||||
qp->qp_context = attr.qp_context;
|
qp->qp_context = attr.qp_context;
|
||||||
qp->qp_type = attr.qp_type;
|
qp->qp_type = attr.qp_type;
|
||||||
|
atomic_set(&qp->usecnt, 0);
|
||||||
atomic_inc(&pd->usecnt);
|
atomic_inc(&pd->usecnt);
|
||||||
atomic_inc(&attr.send_cq->usecnt);
|
atomic_inc(&attr.send_cq->usecnt);
|
||||||
if (attr.recv_cq)
|
if (attr.recv_cq)
|
||||||
|
|
|
@ -421,6 +421,7 @@ struct ib_qp *ib_create_qp(struct ib_pd *pd,
|
||||||
qp->uobject = NULL;
|
qp->uobject = NULL;
|
||||||
qp->qp_type = qp_init_attr->qp_type;
|
qp->qp_type = qp_init_attr->qp_type;
|
||||||
|
|
||||||
|
atomic_set(&qp->usecnt, 0);
|
||||||
if (qp_init_attr->qp_type == IB_QPT_XRC_TGT) {
|
if (qp_init_attr->qp_type == IB_QPT_XRC_TGT) {
|
||||||
qp->event_handler = __ib_shared_qp_event_handler;
|
qp->event_handler = __ib_shared_qp_event_handler;
|
||||||
qp->qp_context = qp;
|
qp->qp_context = qp;
|
||||||
|
@ -430,7 +431,6 @@ struct ib_qp *ib_create_qp(struct ib_pd *pd,
|
||||||
qp->xrcd = qp_init_attr->xrcd;
|
qp->xrcd = qp_init_attr->xrcd;
|
||||||
atomic_inc(&qp_init_attr->xrcd->usecnt);
|
atomic_inc(&qp_init_attr->xrcd->usecnt);
|
||||||
INIT_LIST_HEAD(&qp->open_list);
|
INIT_LIST_HEAD(&qp->open_list);
|
||||||
atomic_set(&qp->usecnt, 0);
|
|
||||||
|
|
||||||
real_qp = qp;
|
real_qp = qp;
|
||||||
qp = __ib_open_qp(real_qp, qp_init_attr->event_handler,
|
qp = __ib_open_qp(real_qp, qp_init_attr->event_handler,
|
||||||
|
|
|
@ -89,7 +89,7 @@ static int create_file(const char *name, umode_t mode,
|
||||||
error = ipathfs_mknod(parent->d_inode, *dentry,
|
error = ipathfs_mknod(parent->d_inode, *dentry,
|
||||||
mode, fops, data);
|
mode, fops, data);
|
||||||
else
|
else
|
||||||
error = PTR_ERR(dentry);
|
error = PTR_ERR(*dentry);
|
||||||
mutex_unlock(&parent->d_inode->i_mutex);
|
mutex_unlock(&parent->d_inode->i_mutex);
|
||||||
|
|
||||||
return error;
|
return error;
|
||||||
|
|
|
@ -257,12 +257,9 @@ static int ib_process_mad(struct ib_device *ibdev, int mad_flags, u8 port_num,
|
||||||
return IB_MAD_RESULT_SUCCESS;
|
return IB_MAD_RESULT_SUCCESS;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Don't process SMInfo queries or vendor-specific
|
* Don't process SMInfo queries -- the SMA can't handle them.
|
||||||
* MADs -- the SMA can't handle them.
|
|
||||||
*/
|
*/
|
||||||
if (in_mad->mad_hdr.attr_id == IB_SMP_ATTR_SM_INFO ||
|
if (in_mad->mad_hdr.attr_id == IB_SMP_ATTR_SM_INFO)
|
||||||
((in_mad->mad_hdr.attr_id & IB_SMP_ATTR_VENDOR_MASK) ==
|
|
||||||
IB_SMP_ATTR_VENDOR_MASK))
|
|
||||||
return IB_MAD_RESULT_SUCCESS;
|
return IB_MAD_RESULT_SUCCESS;
|
||||||
} else if (in_mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_PERF_MGMT ||
|
} else if (in_mad->mad_hdr.mgmt_class == IB_MGMT_CLASS_PERF_MGMT ||
|
||||||
in_mad->mad_hdr.mgmt_class == MLX4_IB_VENDOR_CLASS1 ||
|
in_mad->mad_hdr.mgmt_class == MLX4_IB_VENDOR_CLASS1 ||
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
@ -233,6 +233,7 @@ static int send_mpa_reject(struct nes_cm_node *cm_node)
|
||||||
u8 *start_ptr = &start_addr;
|
u8 *start_ptr = &start_addr;
|
||||||
u8 **start_buff = &start_ptr;
|
u8 **start_buff = &start_ptr;
|
||||||
u16 buff_len = 0;
|
u16 buff_len = 0;
|
||||||
|
struct ietf_mpa_v1 *mpa_frame;
|
||||||
|
|
||||||
skb = dev_alloc_skb(MAX_CM_BUFFER);
|
skb = dev_alloc_skb(MAX_CM_BUFFER);
|
||||||
if (!skb) {
|
if (!skb) {
|
||||||
|
@ -242,6 +243,8 @@ static int send_mpa_reject(struct nes_cm_node *cm_node)
|
||||||
|
|
||||||
/* send an MPA reject frame */
|
/* send an MPA reject frame */
|
||||||
cm_build_mpa_frame(cm_node, start_buff, &buff_len, NULL, MPA_KEY_REPLY);
|
cm_build_mpa_frame(cm_node, start_buff, &buff_len, NULL, MPA_KEY_REPLY);
|
||||||
|
mpa_frame = (struct ietf_mpa_v1 *)*start_buff;
|
||||||
|
mpa_frame->flags |= IETF_MPA_FLAGS_REJECT;
|
||||||
form_cm_frame(skb, cm_node, NULL, 0, *start_buff, buff_len, SET_ACK | SET_FIN);
|
form_cm_frame(skb, cm_node, NULL, 0, *start_buff, buff_len, SET_ACK | SET_FIN);
|
||||||
|
|
||||||
cm_node->state = NES_CM_STATE_FIN_WAIT1;
|
cm_node->state = NES_CM_STATE_FIN_WAIT1;
|
||||||
|
@ -1360,8 +1363,7 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip, int arpi
|
||||||
if (!memcmp(nesadapter->arp_table[arpindex].mac_addr,
|
if (!memcmp(nesadapter->arp_table[arpindex].mac_addr,
|
||||||
neigh->ha, ETH_ALEN)) {
|
neigh->ha, ETH_ALEN)) {
|
||||||
/* Mac address same as in nes_arp_table */
|
/* Mac address same as in nes_arp_table */
|
||||||
ip_rt_put(rt);
|
goto out;
|
||||||
return rc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nes_manage_arp_cache(nesvnic->netdev,
|
nes_manage_arp_cache(nesvnic->netdev,
|
||||||
|
@ -1377,6 +1379,8 @@ static int nes_addr_resolve_neigh(struct nes_vnic *nesvnic, u32 dst_ip, int arpi
|
||||||
neigh_event_send(neigh, NULL);
|
neigh_event_send(neigh, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
out:
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
ip_rt_put(rt);
|
ip_rt_put(rt);
|
||||||
return rc;
|
return rc;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel-NE, Inc. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel-NE, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2010 Intel-NE, Inc. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel-NE, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
* Copyright (c) 2005 Topspin Communications. All rights reserved.
|
* Copyright (c) 2005 Topspin Communications. All rights reserved.
|
||||||
* Copyright (c) 2005 Cisco Systems. All rights reserved.
|
* Copyright (c) 2005 Cisco Systems. All rights reserved.
|
||||||
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
* licenses. You may choose to be licensed under the terms of the GNU
|
* licenses. You may choose to be licensed under the terms of the GNU
|
||||||
|
@ -3427,6 +3427,8 @@ static int nes_post_send(struct ib_qp *ibqp, struct ib_send_wr *ib_wr,
|
||||||
set_wqe_32bit_value(wqe->wqe_words,
|
set_wqe_32bit_value(wqe->wqe_words,
|
||||||
NES_IWARP_SQ_FMR_WQE_LENGTH_LOW_IDX,
|
NES_IWARP_SQ_FMR_WQE_LENGTH_LOW_IDX,
|
||||||
ib_wr->wr.fast_reg.length);
|
ib_wr->wr.fast_reg.length);
|
||||||
|
set_wqe_32bit_value(wqe->wqe_words,
|
||||||
|
NES_IWARP_SQ_FMR_WQE_LENGTH_HIGH_IDX, 0);
|
||||||
set_wqe_32bit_value(wqe->wqe_words,
|
set_wqe_32bit_value(wqe->wqe_words,
|
||||||
NES_IWARP_SQ_FMR_WQE_MR_STAG_IDX,
|
NES_IWARP_SQ_FMR_WQE_MR_STAG_IDX,
|
||||||
ib_wr->wr.fast_reg.rkey);
|
ib_wr->wr.fast_reg.rkey);
|
||||||
|
@ -3724,7 +3726,7 @@ static int nes_poll_cq(struct ib_cq *ibcq, int num_entries, struct ib_wc *entry)
|
||||||
entry->opcode = IB_WC_SEND;
|
entry->opcode = IB_WC_SEND;
|
||||||
break;
|
break;
|
||||||
case NES_IWARP_SQ_OP_LOCINV:
|
case NES_IWARP_SQ_OP_LOCINV:
|
||||||
entry->opcode = IB_WR_LOCAL_INV;
|
entry->opcode = IB_WC_LOCAL_INV;
|
||||||
break;
|
break;
|
||||||
case NES_IWARP_SQ_OP_FAST_REG:
|
case NES_IWARP_SQ_OP_FAST_REG:
|
||||||
entry->opcode = IB_WC_FAST_REG_MR;
|
entry->opcode = IB_WC_FAST_REG_MR;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006 - 2009 Intel Corporation. All rights reserved.
|
* Copyright (c) 2006 - 2011 Intel Corporation. All rights reserved.
|
||||||
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
* Copyright (c) 2005 Open Grid Computing, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* This software is available to you under a choice of one of two
|
* This software is available to you under a choice of one of two
|
||||||
|
|
|
@ -2105,7 +2105,7 @@ static void alloc_dummy_hdrq(struct qib_devdata *dd)
|
||||||
dd->cspec->dummy_hdrq = dma_alloc_coherent(&dd->pcidev->dev,
|
dd->cspec->dummy_hdrq = dma_alloc_coherent(&dd->pcidev->dev,
|
||||||
dd->rcd[0]->rcvhdrq_size,
|
dd->rcd[0]->rcvhdrq_size,
|
||||||
&dd->cspec->dummy_hdrq_phys,
|
&dd->cspec->dummy_hdrq_phys,
|
||||||
GFP_KERNEL | __GFP_COMP);
|
GFP_ATOMIC | __GFP_COMP);
|
||||||
if (!dd->cspec->dummy_hdrq) {
|
if (!dd->cspec->dummy_hdrq) {
|
||||||
qib_devinfo(dd->pcidev, "Couldn't allocate dummy hdrq\n");
|
qib_devinfo(dd->pcidev, "Couldn't allocate dummy hdrq\n");
|
||||||
/* fallback to just 0'ing */
|
/* fallback to just 0'ing */
|
||||||
|
|
|
@ -560,7 +560,7 @@ static int qib_tune_pcie_coalesce(struct qib_devdata *dd)
|
||||||
* BIOS may not set PCIe bus-utilization parameters for best performance.
|
* BIOS may not set PCIe bus-utilization parameters for best performance.
|
||||||
* Check and optionally adjust them to maximize our throughput.
|
* Check and optionally adjust them to maximize our throughput.
|
||||||
*/
|
*/
|
||||||
static int qib_pcie_caps = 0x51;
|
static int qib_pcie_caps;
|
||||||
module_param_named(pcie_caps, qib_pcie_caps, int, S_IRUGO);
|
module_param_named(pcie_caps, qib_pcie_caps, int, S_IRUGO);
|
||||||
MODULE_PARM_DESC(pcie_caps, "Max PCIe tuning: Payload (0..3), ReadReq (4..7)");
|
MODULE_PARM_DESC(pcie_caps, "Max PCIe tuning: Payload (0..3), ReadReq (4..7)");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue