Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eedd5d0a authored by Roland Dreier's avatar Roland Dreier
Browse files

Merge branches 'cma', 'cxgb3', 'ehca', 'ipath', 'ipoib', 'mad', 'misc',...

Merge branches 'cma', 'cxgb3', 'ehca', 'ipath', 'ipoib', 'mad', 'misc', 'mlx4', 'mthca' and 'nes' into for-next
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1697,9 +1697,8 @@ static inline int rcv_has_same_gid(struct ib_mad_agent_private *mad_agent_priv,
	u8 port_num = mad_agent_priv->agent.port_num;
	u8 lmc;

	send_resp = ((struct ib_mad *)(wr->send_buf.mad))->
		     mad_hdr.method & IB_MGMT_METHOD_RESP;
	rcv_resp = rwc->recv_buf.mad->mad_hdr.method & IB_MGMT_METHOD_RESP;
	send_resp = ib_response_mad((struct ib_mad *)wr->send_buf.mad);
	rcv_resp = ib_response_mad(rwc->recv_buf.mad);

	if (send_resp == rcv_resp)
		/* both requests, or both responses. GIDs different */
+0 −1
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ static struct ib_qp *c2_create_qp(struct ib_pd *pd,
		pr_debug("%s: Invalid QP type: %d\n", __func__,
			init_attr->qp_type);
		return ERR_PTR(-EINVAL);
		break;
	}

	if (err) {
+3 −6
Original line number Diff line number Diff line
@@ -1155,13 +1155,11 @@ static int iwch_query_port(struct ib_device *ibdev,
			   u8 port, struct ib_port_attr *props)
{
	PDBG("%s ibdev %p\n", __func__, ibdev);

	memset(props, 0, sizeof(struct ib_port_attr));
	props->max_mtu = IB_MTU_4096;
	props->lid = 0;
	props->lmc = 0;
	props->sm_lid = 0;
	props->sm_sl = 0;
	props->active_mtu = IB_MTU_2048;
	props->state = IB_PORT_ACTIVE;
	props->phys_state = 0;
	props->port_cap_flags =
	    IB_PORT_CM_SUP |
	    IB_PORT_SNMP_TUNNEL_SUP |
@@ -1170,7 +1168,6 @@ static int iwch_query_port(struct ib_device *ibdev,
	    IB_PORT_VENDOR_CLASS_SUP | IB_PORT_BOOT_MGMT_SUP;
	props->gid_tbl_len = 1;
	props->pkey_tbl_len = 1;
	props->qkey_viol_cntr = 0;
	props->active_width = 2;
	props->active_speed = 2;
	props->max_msg_sz = -1;
+13 −1
Original line number Diff line number Diff line
@@ -164,6 +164,13 @@ struct ehca_qmap_entry {
	u16 reported;
};

struct ehca_queue_map {
	struct ehca_qmap_entry *map;
	unsigned int entries;
	unsigned int tail;
	unsigned int left_to_poll;
};

struct ehca_qp {
	union {
		struct ib_qp ib_qp;
@@ -173,8 +180,9 @@ struct ehca_qp {
	enum ehca_ext_qp_type ext_type;
	enum ib_qp_state state;
	struct ipz_queue ipz_squeue;
	struct ehca_qmap_entry *sq_map;
	struct ehca_queue_map sq_map;
	struct ipz_queue ipz_rqueue;
	struct ehca_queue_map rq_map;
	struct h_galpas galpas;
	u32 qkey;
	u32 real_qp_num;
@@ -204,6 +212,8 @@ struct ehca_qp {
	atomic_t nr_events; /* events seen */
	wait_queue_head_t wait_completion;
	int mig_armed;
	struct list_head sq_err_node;
	struct list_head rq_err_node;
};

#define IS_SRQ(qp) (qp->ext_type == EQPT_SRQ)
@@ -233,6 +243,8 @@ struct ehca_cq {
	/* mmap counter for resources mapped into user space */
	u32 mm_count_queue;
	u32 mm_count_galpa;
	struct list_head sqp_err_list;
	struct list_head rqp_err_list;
};

enum ehca_mr_flag {
+3 −0
Original line number Diff line number Diff line
@@ -276,6 +276,9 @@ struct ib_cq *ehca_create_cq(struct ib_device *device, int cqe, int comp_vector,
	for (i = 0; i < QP_HASHTAB_LEN; i++)
		INIT_HLIST_HEAD(&my_cq->qp_hashtab[i]);

	INIT_LIST_HEAD(&my_cq->sqp_err_list);
	INIT_LIST_HEAD(&my_cq->rqp_err_list);

	if (context) {
		struct ipz_queue *ipz_queue = &my_cq->ipz_queue;
		struct ehca_create_cq_resp resp;
Loading