mad_send_wr        89 drivers/infiniband/core/agent.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr       126 drivers/infiniband/core/agent.c 		mad_send_wr = container_of(send_buf,
mad_send_wr       129 drivers/infiniband/core/agent.c 		mad_send_wr->send_wr.port_num = port_num;
mad_send_wr        58 drivers/infiniband/core/mad.c static void create_mad_addr_info(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr        65 drivers/infiniband/core/mad.c 	struct ib_ud_wr *wr = &mad_send_wr->send_wr;
mad_send_wr       809 drivers/infiniband/core/mad.c 				  struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr       812 drivers/infiniband/core/mad.c 	struct ib_smp *smp = mad_send_wr->send_buf.mad;
mad_send_wr       822 drivers/infiniband/core/mad.c 	struct ib_ud_wr *send_wr = &mad_send_wr->send_wr;
mad_send_wr       909 drivers/infiniband/core/mad.c 		mad_wc.byte_len = mad_send_wr->send_buf.hdr_len
mad_send_wr       910 drivers/infiniband/core/mad.c 					+ mad_send_wr->send_buf.data_len
mad_send_wr       964 drivers/infiniband/core/mad.c 	local->mad_send_wr = mad_send_wr;
mad_send_wr       966 drivers/infiniband/core/mad.c 		local->mad_send_wr->send_wr.pkey_index = out_mad_pkey_index;
mad_send_wr       994 drivers/infiniband/core/mad.c static void free_send_rmpp_list(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr       998 drivers/infiniband/core/mad.c 	list_for_each_entry_safe(s, t, &mad_send_wr->rmpp_list, list) {
mad_send_wr      1057 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      1084 drivers/infiniband/core/mad.c 	buf = kzalloc(sizeof *mad_send_wr + size, gfp_mask);
mad_send_wr      1088 drivers/infiniband/core/mad.c 	mad_send_wr = buf + size;
mad_send_wr      1089 drivers/infiniband/core/mad.c 	INIT_LIST_HEAD(&mad_send_wr->rmpp_list);
mad_send_wr      1090 drivers/infiniband/core/mad.c 	mad_send_wr->send_buf.mad = buf;
mad_send_wr      1091 drivers/infiniband/core/mad.c 	mad_send_wr->send_buf.hdr_len = hdr_len;
mad_send_wr      1092 drivers/infiniband/core/mad.c 	mad_send_wr->send_buf.data_len = data_len;
mad_send_wr      1093 drivers/infiniband/core/mad.c 	mad_send_wr->pad = pad;
mad_send_wr      1095 drivers/infiniband/core/mad.c 	mad_send_wr->mad_agent_priv = mad_agent_priv;
mad_send_wr      1096 drivers/infiniband/core/mad.c 	mad_send_wr->sg_list[0].length = hdr_len;
mad_send_wr      1097 drivers/infiniband/core/mad.c 	mad_send_wr->sg_list[0].lkey = mad_agent->qp->pd->local_dma_lkey;
mad_send_wr      1102 drivers/infiniband/core/mad.c 		mad_send_wr->sg_list[1].length = data_len;
mad_send_wr      1104 drivers/infiniband/core/mad.c 		mad_send_wr->sg_list[1].length = mad_size - hdr_len;
mad_send_wr      1106 drivers/infiniband/core/mad.c 	mad_send_wr->sg_list[1].lkey = mad_agent->qp->pd->local_dma_lkey;
mad_send_wr      1108 drivers/infiniband/core/mad.c 	mad_send_wr->mad_list.cqe.done = ib_mad_send_done;
mad_send_wr      1110 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.wr.wr_cqe = &mad_send_wr->mad_list.cqe;
mad_send_wr      1111 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.wr.sg_list = mad_send_wr->sg_list;
mad_send_wr      1112 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.wr.num_sge = 2;
mad_send_wr      1113 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.wr.opcode = IB_WR_SEND;
mad_send_wr      1114 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.wr.send_flags = IB_SEND_SIGNALED;
mad_send_wr      1115 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.remote_qpn = remote_qpn;
mad_send_wr      1116 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.remote_qkey = IB_QP_SET_QKEY;
mad_send_wr      1117 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.pkey_index = pkey_index;
mad_send_wr      1120 drivers/infiniband/core/mad.c 		ret = alloc_send_rmpp_list(mad_send_wr, mad_size, gfp_mask);
mad_send_wr      1127 drivers/infiniband/core/mad.c 	mad_send_wr->send_buf.mad_agent = mad_agent;
mad_send_wr      1129 drivers/infiniband/core/mad.c 	return &mad_send_wr->send_buf;
mad_send_wr      1164 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      1167 drivers/infiniband/core/mad.c 	mad_send_wr = container_of(send_buf, struct ib_mad_send_wr_private,
mad_send_wr      1169 drivers/infiniband/core/mad.c 	list = &mad_send_wr->cur_seg->list;
mad_send_wr      1171 drivers/infiniband/core/mad.c 	if (mad_send_wr->cur_seg->num < seg_num) {
mad_send_wr      1172 drivers/infiniband/core/mad.c 		list_for_each_entry(mad_send_wr->cur_seg, list, list)
mad_send_wr      1173 drivers/infiniband/core/mad.c 			if (mad_send_wr->cur_seg->num == seg_num)
mad_send_wr      1175 drivers/infiniband/core/mad.c 	} else if (mad_send_wr->cur_seg->num > seg_num) {
mad_send_wr      1176 drivers/infiniband/core/mad.c 		list_for_each_entry_reverse(mad_send_wr->cur_seg, list, list)
mad_send_wr      1177 drivers/infiniband/core/mad.c 			if (mad_send_wr->cur_seg->num == seg_num)
mad_send_wr      1180 drivers/infiniband/core/mad.c 	return mad_send_wr->cur_seg->data;
mad_send_wr      1184 drivers/infiniband/core/mad.c static inline void *ib_get_payload(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr      1186 drivers/infiniband/core/mad.c 	if (mad_send_wr->send_buf.seg_count)
mad_send_wr      1187 drivers/infiniband/core/mad.c 		return ib_get_rmpp_segment(&mad_send_wr->send_buf,
mad_send_wr      1188 drivers/infiniband/core/mad.c 					   mad_send_wr->seg_num);
mad_send_wr      1190 drivers/infiniband/core/mad.c 		return mad_send_wr->send_buf.mad +
mad_send_wr      1191 drivers/infiniband/core/mad.c 		       mad_send_wr->send_buf.hdr_len;
mad_send_wr      1197 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      1201 drivers/infiniband/core/mad.c 	mad_send_wr = container_of(send_buf, struct ib_mad_send_wr_private,
mad_send_wr      1204 drivers/infiniband/core/mad.c 	free_send_rmpp_list(mad_send_wr);
mad_send_wr      1210 drivers/infiniband/core/mad.c int ib_send_mad(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr      1220 drivers/infiniband/core/mad.c 	qp_info = mad_send_wr->mad_agent_priv->qp_info;
mad_send_wr      1221 drivers/infiniband/core/mad.c 	mad_send_wr->mad_list.mad_queue = &qp_info->send_queue;
mad_send_wr      1222 drivers/infiniband/core/mad.c 	mad_send_wr->mad_list.cqe.done = ib_mad_send_done;
mad_send_wr      1223 drivers/infiniband/core/mad.c 	mad_send_wr->send_wr.wr.wr_cqe = &mad_send_wr->mad_list.cqe;
mad_send_wr      1225 drivers/infiniband/core/mad.c 	mad_agent = mad_send_wr->send_buf.mad_agent;
mad_send_wr      1226 drivers/infiniband/core/mad.c 	sge = mad_send_wr->sg_list;
mad_send_wr      1228 drivers/infiniband/core/mad.c 					mad_send_wr->send_buf.mad,
mad_send_wr      1234 drivers/infiniband/core/mad.c 	mad_send_wr->header_mapping = sge[0].addr;
mad_send_wr      1237 drivers/infiniband/core/mad.c 					ib_get_payload(mad_send_wr),
mad_send_wr      1242 drivers/infiniband/core/mad.c 				    mad_send_wr->header_mapping,
mad_send_wr      1246 drivers/infiniband/core/mad.c 	mad_send_wr->payload_mapping = sge[1].addr;
mad_send_wr      1250 drivers/infiniband/core/mad.c 		trace_ib_mad_ib_send_mad(mad_send_wr, qp_info);
mad_send_wr      1251 drivers/infiniband/core/mad.c 		ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr.wr,
mad_send_wr      1261 drivers/infiniband/core/mad.c 		list_add_tail(&mad_send_wr->mad_list.list, list);
mad_send_wr      1266 drivers/infiniband/core/mad.c 				    mad_send_wr->header_mapping,
mad_send_wr      1269 drivers/infiniband/core/mad.c 				    mad_send_wr->payload_mapping,
mad_send_wr      1284 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      1290 drivers/infiniband/core/mad.c 		mad_send_wr = container_of(send_buf,
mad_send_wr      1293 drivers/infiniband/core/mad.c 		mad_agent_priv = mad_send_wr->mad_agent_priv;
mad_send_wr      1296 drivers/infiniband/core/mad.c 					      mad_send_wr->send_wr.pkey_index);
mad_send_wr      1320 drivers/infiniband/core/mad.c 		mad_send_wr->send_wr.ah = send_buf->ah;
mad_send_wr      1325 drivers/infiniband/core/mad.c 						     mad_send_wr);
mad_send_wr      1332 drivers/infiniband/core/mad.c 		mad_send_wr->tid = ((struct ib_mad_hdr *) send_buf->mad)->tid;
mad_send_wr      1334 drivers/infiniband/core/mad.c 		mad_send_wr->timeout = msecs_to_jiffies(send_buf->timeout_ms);
mad_send_wr      1335 drivers/infiniband/core/mad.c 		mad_send_wr->max_retries = send_buf->retries;
mad_send_wr      1336 drivers/infiniband/core/mad.c 		mad_send_wr->retries_left = send_buf->retries;
mad_send_wr      1339 drivers/infiniband/core/mad.c 		mad_send_wr->refcount = 1 + (mad_send_wr->timeout > 0);
mad_send_wr      1340 drivers/infiniband/core/mad.c 		mad_send_wr->status = IB_WC_SUCCESS;
mad_send_wr      1345 drivers/infiniband/core/mad.c 		list_add_tail(&mad_send_wr->agent_list,
mad_send_wr      1350 drivers/infiniband/core/mad.c 			ret = ib_send_rmpp_mad(mad_send_wr);
mad_send_wr      1352 drivers/infiniband/core/mad.c 				ret = ib_send_mad(mad_send_wr);
mad_send_wr      1354 drivers/infiniband/core/mad.c 			ret = ib_send_mad(mad_send_wr);
mad_send_wr      1358 drivers/infiniband/core/mad.c 			list_del(&mad_send_wr->agent_list);
mad_send_wr      2011 drivers/infiniband/core/mad.c void ib_mark_mad_done(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr      2013 drivers/infiniband/core/mad.c 	mad_send_wr->timeout = 0;
mad_send_wr      2014 drivers/infiniband/core/mad.c 	if (mad_send_wr->refcount == 1)
mad_send_wr      2015 drivers/infiniband/core/mad.c 		list_move_tail(&mad_send_wr->agent_list,
mad_send_wr      2016 drivers/infiniband/core/mad.c 			      &mad_send_wr->mad_agent_priv->done_list);
mad_send_wr      2022 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2049 drivers/infiniband/core/mad.c 		mad_send_wr = ib_find_send_mad(mad_agent_priv, mad_recv_wc);
mad_send_wr      2050 drivers/infiniband/core/mad.c 		if (!mad_send_wr) {
mad_send_wr      2071 drivers/infiniband/core/mad.c 			ib_mark_mad_done(mad_send_wr);
mad_send_wr      2077 drivers/infiniband/core/mad.c 					&mad_send_wr->send_buf,
mad_send_wr      2083 drivers/infiniband/core/mad.c 			mad_send_wc.send_buf = &mad_send_wr->send_buf;
mad_send_wr      2084 drivers/infiniband/core/mad.c 			ib_mad_complete_send_wr(mad_send_wr, &mad_send_wc);
mad_send_wr      2392 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2398 drivers/infiniband/core/mad.c 		mad_send_wr = list_entry(mad_agent_priv->wait_list.next,
mad_send_wr      2403 drivers/infiniband/core/mad.c 			       mad_send_wr->timeout)) {
mad_send_wr      2404 drivers/infiniband/core/mad.c 			mad_agent_priv->timeout = mad_send_wr->timeout;
mad_send_wr      2405 drivers/infiniband/core/mad.c 			delay = mad_send_wr->timeout - jiffies;
mad_send_wr      2414 drivers/infiniband/core/mad.c static void wait_for_response(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr      2421 drivers/infiniband/core/mad.c 	mad_agent_priv = mad_send_wr->mad_agent_priv;
mad_send_wr      2422 drivers/infiniband/core/mad.c 	list_del(&mad_send_wr->agent_list);
mad_send_wr      2424 drivers/infiniband/core/mad.c 	delay = mad_send_wr->timeout;
mad_send_wr      2425 drivers/infiniband/core/mad.c 	mad_send_wr->timeout += jiffies;
mad_send_wr      2432 drivers/infiniband/core/mad.c 			if (time_after(mad_send_wr->timeout,
mad_send_wr      2439 drivers/infiniband/core/mad.c 	list_add(&mad_send_wr->agent_list, list_item);
mad_send_wr      2442 drivers/infiniband/core/mad.c 	if (mad_agent_priv->wait_list.next == &mad_send_wr->agent_list)
mad_send_wr      2447 drivers/infiniband/core/mad.c void ib_reset_mad_timeout(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr      2450 drivers/infiniband/core/mad.c 	mad_send_wr->timeout = msecs_to_jiffies(timeout_ms);
mad_send_wr      2451 drivers/infiniband/core/mad.c 	wait_for_response(mad_send_wr);
mad_send_wr      2457 drivers/infiniband/core/mad.c void ib_mad_complete_send_wr(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr      2464 drivers/infiniband/core/mad.c 	mad_agent_priv = mad_send_wr->mad_agent_priv;
mad_send_wr      2467 drivers/infiniband/core/mad.c 		ret = ib_process_rmpp_send_wc(mad_send_wr, mad_send_wc);
mad_send_wr      2474 drivers/infiniband/core/mad.c 	    mad_send_wr->status == IB_WC_SUCCESS) {
mad_send_wr      2475 drivers/infiniband/core/mad.c 		mad_send_wr->status = mad_send_wc->status;
mad_send_wr      2476 drivers/infiniband/core/mad.c 		mad_send_wr->refcount -= (mad_send_wr->timeout > 0);
mad_send_wr      2479 drivers/infiniband/core/mad.c 	if (--mad_send_wr->refcount > 0) {
mad_send_wr      2480 drivers/infiniband/core/mad.c 		if (mad_send_wr->refcount == 1 && mad_send_wr->timeout &&
mad_send_wr      2481 drivers/infiniband/core/mad.c 		    mad_send_wr->status == IB_WC_SUCCESS) {
mad_send_wr      2482 drivers/infiniband/core/mad.c 			wait_for_response(mad_send_wr);
mad_send_wr      2488 drivers/infiniband/core/mad.c 	list_del(&mad_send_wr->agent_list);
mad_send_wr      2492 drivers/infiniband/core/mad.c 	if (mad_send_wr->status != IB_WC_SUCCESS )
mad_send_wr      2493 drivers/infiniband/core/mad.c 		mad_send_wc->status = mad_send_wr->status;
mad_send_wr      2512 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private	*mad_send_wr, *queued_send_wr;
mad_send_wr      2527 drivers/infiniband/core/mad.c 	mad_send_wr = container_of(mad_list, struct ib_mad_send_wr_private,
mad_send_wr      2532 drivers/infiniband/core/mad.c 	trace_ib_mad_send_done_agent(mad_send_wr->mad_agent_priv);
mad_send_wr      2533 drivers/infiniband/core/mad.c 	trace_ib_mad_send_done_handler(mad_send_wr, wc);
mad_send_wr      2536 drivers/infiniband/core/mad.c 	ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device,
mad_send_wr      2537 drivers/infiniband/core/mad.c 			    mad_send_wr->header_mapping,
mad_send_wr      2538 drivers/infiniband/core/mad.c 			    mad_send_wr->sg_list[0].length, DMA_TO_DEVICE);
mad_send_wr      2539 drivers/infiniband/core/mad.c 	ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device,
mad_send_wr      2540 drivers/infiniband/core/mad.c 			    mad_send_wr->payload_mapping,
mad_send_wr      2541 drivers/infiniband/core/mad.c 			    mad_send_wr->sg_list[1].length, DMA_TO_DEVICE);
mad_send_wr      2557 drivers/infiniband/core/mad.c 	mad_send_wc.send_buf = &mad_send_wr->send_buf;
mad_send_wr      2561 drivers/infiniband/core/mad.c 		snoop_send(qp_info, &mad_send_wr->send_buf, &mad_send_wc,
mad_send_wr      2563 drivers/infiniband/core/mad.c 	ib_mad_complete_send_wr(mad_send_wr, &mad_send_wc);
mad_send_wr      2572 drivers/infiniband/core/mad.c 			mad_send_wr = queued_send_wr;
mad_send_wr      2581 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2587 drivers/infiniband/core/mad.c 		mad_send_wr = container_of(mad_list,
mad_send_wr      2590 drivers/infiniband/core/mad.c 		mad_send_wr->retry = 1;
mad_send_wr      2601 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2608 drivers/infiniband/core/mad.c 	mad_send_wr = container_of(mad_list, struct ib_mad_send_wr_private,
mad_send_wr      2611 drivers/infiniband/core/mad.c 		if (mad_send_wr->retry) {
mad_send_wr      2613 drivers/infiniband/core/mad.c 			mad_send_wr->retry = 0;
mad_send_wr      2614 drivers/infiniband/core/mad.c 			trace_ib_mad_error_handler(mad_send_wr, qp_info);
mad_send_wr      2615 drivers/infiniband/core/mad.c 			ret = ib_post_send(qp_info->qp, &mad_send_wr->send_wr.wr,
mad_send_wr      2646 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr, *temp_mad_send_wr;
mad_send_wr      2653 drivers/infiniband/core/mad.c 	list_for_each_entry_safe(mad_send_wr, temp_mad_send_wr,
mad_send_wr      2655 drivers/infiniband/core/mad.c 		if (mad_send_wr->status == IB_WC_SUCCESS) {
mad_send_wr      2656 drivers/infiniband/core/mad.c 			mad_send_wr->status = IB_WC_WR_FLUSH_ERR;
mad_send_wr      2657 drivers/infiniband/core/mad.c 			mad_send_wr->refcount -= (mad_send_wr->timeout > 0);
mad_send_wr      2669 drivers/infiniband/core/mad.c 	list_for_each_entry_safe(mad_send_wr, temp_mad_send_wr,
mad_send_wr      2671 drivers/infiniband/core/mad.c 		mad_send_wc.send_buf = &mad_send_wr->send_buf;
mad_send_wr      2672 drivers/infiniband/core/mad.c 		list_del(&mad_send_wr->agent_list);
mad_send_wr      2683 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2685 drivers/infiniband/core/mad.c 	list_for_each_entry(mad_send_wr, &mad_agent_priv->wait_list,
mad_send_wr      2687 drivers/infiniband/core/mad.c 		if (&mad_send_wr->send_buf == send_buf)
mad_send_wr      2688 drivers/infiniband/core/mad.c 			return mad_send_wr;
mad_send_wr      2691 drivers/infiniband/core/mad.c 	list_for_each_entry(mad_send_wr, &mad_agent_priv->send_list,
mad_send_wr      2694 drivers/infiniband/core/mad.c 				     mad_send_wr->send_buf.mad) &&
mad_send_wr      2695 drivers/infiniband/core/mad.c 		    &mad_send_wr->send_buf == send_buf)
mad_send_wr      2696 drivers/infiniband/core/mad.c 			return mad_send_wr;
mad_send_wr      2705 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2712 drivers/infiniband/core/mad.c 	mad_send_wr = find_send_wr(mad_agent_priv, send_buf);
mad_send_wr      2713 drivers/infiniband/core/mad.c 	if (!mad_send_wr || mad_send_wr->status != IB_WC_SUCCESS) {
mad_send_wr      2718 drivers/infiniband/core/mad.c 	active = (!mad_send_wr->timeout || mad_send_wr->refcount > 1);
mad_send_wr      2720 drivers/infiniband/core/mad.c 		mad_send_wr->status = IB_WC_WR_FLUSH_ERR;
mad_send_wr      2721 drivers/infiniband/core/mad.c 		mad_send_wr->refcount -= (mad_send_wr->timeout > 0);
mad_send_wr      2724 drivers/infiniband/core/mad.c 	mad_send_wr->send_buf.timeout_ms = timeout_ms;
mad_send_wr      2726 drivers/infiniband/core/mad.c 		mad_send_wr->timeout = msecs_to_jiffies(timeout_ms);
mad_send_wr      2728 drivers/infiniband/core/mad.c 		ib_reset_mad_timeout(mad_send_wr, timeout_ms);
mad_send_wr      2782 drivers/infiniband/core/mad.c 				     local->mad_send_wr->send_wr.wr.wr_cqe,
mad_send_wr      2784 drivers/infiniband/core/mad.c 				     local->mad_send_wr->send_wr.pkey_index,
mad_send_wr      2810 drivers/infiniband/core/mad.c 						&local->mad_send_wr->send_buf,
mad_send_wr      2821 drivers/infiniband/core/mad.c 		mad_send_wc.send_buf = &local->mad_send_wr->send_buf;
mad_send_wr      2824 drivers/infiniband/core/mad.c 				   &local->mad_send_wr->send_buf,
mad_send_wr      2838 drivers/infiniband/core/mad.c static int retry_send(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr      2842 drivers/infiniband/core/mad.c 	if (!mad_send_wr->retries_left)
mad_send_wr      2845 drivers/infiniband/core/mad.c 	mad_send_wr->retries_left--;
mad_send_wr      2846 drivers/infiniband/core/mad.c 	mad_send_wr->send_buf.retries++;
mad_send_wr      2848 drivers/infiniband/core/mad.c 	mad_send_wr->timeout = msecs_to_jiffies(mad_send_wr->send_buf.timeout_ms);
mad_send_wr      2850 drivers/infiniband/core/mad.c 	if (ib_mad_kernel_rmpp_agent(&mad_send_wr->mad_agent_priv->agent)) {
mad_send_wr      2851 drivers/infiniband/core/mad.c 		ret = ib_retry_rmpp(mad_send_wr);
mad_send_wr      2854 drivers/infiniband/core/mad.c 			ret = ib_send_mad(mad_send_wr);
mad_send_wr      2864 drivers/infiniband/core/mad.c 		ret = ib_send_mad(mad_send_wr);
mad_send_wr      2867 drivers/infiniband/core/mad.c 		mad_send_wr->refcount++;
mad_send_wr      2868 drivers/infiniband/core/mad.c 		list_add_tail(&mad_send_wr->agent_list,
mad_send_wr      2869 drivers/infiniband/core/mad.c 			      &mad_send_wr->mad_agent_priv->send_list);
mad_send_wr      2877 drivers/infiniband/core/mad.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr      2887 drivers/infiniband/core/mad.c 		mad_send_wr = list_entry(mad_agent_priv->wait_list.next,
mad_send_wr      2891 drivers/infiniband/core/mad.c 		if (time_after(mad_send_wr->timeout, jiffies)) {
mad_send_wr      2892 drivers/infiniband/core/mad.c 			delay = mad_send_wr->timeout - jiffies;
mad_send_wr      2901 drivers/infiniband/core/mad.c 		list_del(&mad_send_wr->agent_list);
mad_send_wr      2902 drivers/infiniband/core/mad.c 		if (mad_send_wr->status == IB_WC_SUCCESS &&
mad_send_wr      2903 drivers/infiniband/core/mad.c 		    !retry_send(mad_send_wr))
mad_send_wr      2908 drivers/infiniband/core/mad.c 		if (mad_send_wr->status == IB_WC_SUCCESS)
mad_send_wr      2911 drivers/infiniband/core/mad.c 			mad_send_wc.status = mad_send_wr->status;
mad_send_wr      2912 drivers/infiniband/core/mad.c 		mad_send_wc.send_buf = &mad_send_wr->send_buf;
mad_send_wr       153 drivers/infiniband/core/mad_priv.h 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr       212 drivers/infiniband/core/mad_priv.h int ib_send_mad(struct ib_mad_send_wr_private *mad_send_wr);
mad_send_wr       218 drivers/infiniband/core/mad_priv.h void ib_mad_complete_send_wr(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr       221 drivers/infiniband/core/mad_priv.h void ib_mark_mad_done(struct ib_mad_send_wr_private *mad_send_wr);
mad_send_wr       223 drivers/infiniband/core/mad_priv.h void ib_reset_mad_timeout(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr       576 drivers/infiniband/core/mad_rmpp.c static int send_next_seg(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr       582 drivers/infiniband/core/mad_rmpp.c 	rmpp_mad = mad_send_wr->send_buf.mad;
mad_send_wr       584 drivers/infiniband/core/mad_rmpp.c 	rmpp_mad->rmpp_hdr.seg_num = cpu_to_be32(++mad_send_wr->seg_num);
mad_send_wr       586 drivers/infiniband/core/mad_rmpp.c 	if (mad_send_wr->seg_num == 1) {
mad_send_wr       588 drivers/infiniband/core/mad_rmpp.c 		paylen = (mad_send_wr->send_buf.seg_count *
mad_send_wr       589 drivers/infiniband/core/mad_rmpp.c 			  mad_send_wr->send_buf.seg_rmpp_size) -
mad_send_wr       590 drivers/infiniband/core/mad_rmpp.c 			  mad_send_wr->pad;
mad_send_wr       593 drivers/infiniband/core/mad_rmpp.c 	if (mad_send_wr->seg_num == mad_send_wr->send_buf.seg_count) {
mad_send_wr       595 drivers/infiniband/core/mad_rmpp.c 		paylen = mad_send_wr->send_buf.seg_rmpp_size - mad_send_wr->pad;
mad_send_wr       600 drivers/infiniband/core/mad_rmpp.c 	timeout = mad_send_wr->send_buf.timeout_ms;
mad_send_wr       602 drivers/infiniband/core/mad_rmpp.c 		mad_send_wr->timeout = msecs_to_jiffies(2000);
mad_send_wr       604 drivers/infiniband/core/mad_rmpp.c 	return ib_send_mad(mad_send_wr);
mad_send_wr       610 drivers/infiniband/core/mad_rmpp.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr       615 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr = ib_find_send_mad(agent, mad_recv_wc);
mad_send_wr       616 drivers/infiniband/core/mad_rmpp.c 	if (!mad_send_wr)
mad_send_wr       619 drivers/infiniband/core/mad_rmpp.c 	if ((mad_send_wr->last_ack == mad_send_wr->send_buf.seg_count) ||
mad_send_wr       620 drivers/infiniband/core/mad_rmpp.c 	    (!mad_send_wr->timeout) || (mad_send_wr->status != IB_WC_SUCCESS))
mad_send_wr       623 drivers/infiniband/core/mad_rmpp.c 	ib_mark_mad_done(mad_send_wr);
mad_send_wr       628 drivers/infiniband/core/mad_rmpp.c 	wc.send_buf = &mad_send_wr->send_buf;
mad_send_wr       629 drivers/infiniband/core/mad_rmpp.c 	ib_mad_complete_send_wr(mad_send_wr, &wc);
mad_send_wr       660 drivers/infiniband/core/mad_rmpp.c 	struct ib_mad_send_wr_private *mad_send_wr;
mad_send_wr       681 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr = ib_find_send_mad(agent, mad_recv_wc);
mad_send_wr       682 drivers/infiniband/core/mad_rmpp.c 	if (!mad_send_wr) {
mad_send_wr       688 drivers/infiniband/core/mad_rmpp.c 	if ((mad_send_wr->last_ack == mad_send_wr->send_buf.seg_count) &&
mad_send_wr       689 drivers/infiniband/core/mad_rmpp.c 	    (mad_send_wr->timeout)) {
mad_send_wr       695 drivers/infiniband/core/mad_rmpp.c 	if ((mad_send_wr->last_ack == mad_send_wr->send_buf.seg_count) ||
mad_send_wr       696 drivers/infiniband/core/mad_rmpp.c 	    (!mad_send_wr->timeout) || (mad_send_wr->status != IB_WC_SUCCESS))
mad_send_wr       699 drivers/infiniband/core/mad_rmpp.c 	if (seg_num > mad_send_wr->send_buf.seg_count ||
mad_send_wr       700 drivers/infiniband/core/mad_rmpp.c 	    seg_num > mad_send_wr->newwin) {
mad_send_wr       707 drivers/infiniband/core/mad_rmpp.c 	if (newwin < mad_send_wr->newwin || seg_num < mad_send_wr->last_ack)
mad_send_wr       710 drivers/infiniband/core/mad_rmpp.c 	if (seg_num > mad_send_wr->last_ack) {
mad_send_wr       711 drivers/infiniband/core/mad_rmpp.c 		adjust_last_ack(mad_send_wr, seg_num);
mad_send_wr       712 drivers/infiniband/core/mad_rmpp.c 		mad_send_wr->retries_left = mad_send_wr->max_retries;
mad_send_wr       714 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr->newwin = newwin;
mad_send_wr       715 drivers/infiniband/core/mad_rmpp.c 	if (mad_send_wr->last_ack == mad_send_wr->send_buf.seg_count) {
mad_send_wr       717 drivers/infiniband/core/mad_rmpp.c 		if (!mad_send_wr->send_buf.timeout_ms) {
mad_send_wr       720 drivers/infiniband/core/mad_rmpp.c 			ib_mark_mad_done(mad_send_wr);
mad_send_wr       725 drivers/infiniband/core/mad_rmpp.c 			wc.send_buf = &mad_send_wr->send_buf;
mad_send_wr       726 drivers/infiniband/core/mad_rmpp.c 			ib_mad_complete_send_wr(mad_send_wr, &wc);
mad_send_wr       729 drivers/infiniband/core/mad_rmpp.c 		if (mad_send_wr->refcount == 1)
mad_send_wr       730 drivers/infiniband/core/mad_rmpp.c 			ib_reset_mad_timeout(mad_send_wr,
mad_send_wr       731 drivers/infiniband/core/mad_rmpp.c 					     mad_send_wr->send_buf.timeout_ms);
mad_send_wr       735 drivers/infiniband/core/mad_rmpp.c 	} else if (mad_send_wr->refcount == 1 &&
mad_send_wr       736 drivers/infiniband/core/mad_rmpp.c 		   mad_send_wr->seg_num < mad_send_wr->newwin &&
mad_send_wr       737 drivers/infiniband/core/mad_rmpp.c 		   mad_send_wr->seg_num < mad_send_wr->send_buf.seg_count) {
mad_send_wr       739 drivers/infiniband/core/mad_rmpp.c 		ret = send_next_seg(mad_send_wr);
mad_send_wr       743 drivers/infiniband/core/mad_rmpp.c 		mad_send_wr->refcount++;
mad_send_wr       744 drivers/infiniband/core/mad_rmpp.c 		list_move_tail(&mad_send_wr->agent_list,
mad_send_wr       745 drivers/infiniband/core/mad_rmpp.c 			      &mad_send_wr->mad_agent_priv->send_list);
mad_send_wr       851 drivers/infiniband/core/mad_rmpp.c static int init_newwin(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr       853 drivers/infiniband/core/mad_rmpp.c 	struct ib_mad_agent_private *agent = mad_send_wr->mad_agent_priv;
mad_send_wr       854 drivers/infiniband/core/mad_rmpp.c 	struct ib_mad_hdr *mad_hdr = mad_send_wr->send_buf.mad;
mad_send_wr       871 drivers/infiniband/core/mad_rmpp.c 		if (rdma_query_ah(mad_send_wr->send_buf.ah, &ah_attr))
mad_send_wr       884 drivers/infiniband/core/mad_rmpp.c int ib_send_rmpp_mad(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr       889 drivers/infiniband/core/mad_rmpp.c 	rmpp_mad = mad_send_wr->send_buf.mad;
mad_send_wr       895 drivers/infiniband/core/mad_rmpp.c 		mad_send_wr->seg_num = 1;
mad_send_wr       899 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr->newwin = init_newwin(mad_send_wr);
mad_send_wr       902 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr->refcount += (mad_send_wr->timeout == 0);
mad_send_wr       903 drivers/infiniband/core/mad_rmpp.c 	ret = send_next_seg(mad_send_wr);
mad_send_wr       909 drivers/infiniband/core/mad_rmpp.c int ib_process_rmpp_send_wc(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr       915 drivers/infiniband/core/mad_rmpp.c 	rmpp_mad = mad_send_wr->send_buf.mad;
mad_send_wr       924 drivers/infiniband/core/mad_rmpp.c 	    mad_send_wr->status != IB_WC_SUCCESS)
mad_send_wr       927 drivers/infiniband/core/mad_rmpp.c 	if (!mad_send_wr->timeout)
mad_send_wr       930 drivers/infiniband/core/mad_rmpp.c 	if (mad_send_wr->last_ack == mad_send_wr->send_buf.seg_count) {
mad_send_wr       931 drivers/infiniband/core/mad_rmpp.c 		mad_send_wr->timeout =
mad_send_wr       932 drivers/infiniband/core/mad_rmpp.c 			msecs_to_jiffies(mad_send_wr->send_buf.timeout_ms);
mad_send_wr       936 drivers/infiniband/core/mad_rmpp.c 	if (mad_send_wr->seg_num == mad_send_wr->newwin ||
mad_send_wr       937 drivers/infiniband/core/mad_rmpp.c 	    mad_send_wr->seg_num == mad_send_wr->send_buf.seg_count)
mad_send_wr       940 drivers/infiniband/core/mad_rmpp.c 	ret = send_next_seg(mad_send_wr);
mad_send_wr       948 drivers/infiniband/core/mad_rmpp.c int ib_retry_rmpp(struct ib_mad_send_wr_private *mad_send_wr)
mad_send_wr       953 drivers/infiniband/core/mad_rmpp.c 	rmpp_mad = mad_send_wr->send_buf.mad;
mad_send_wr       958 drivers/infiniband/core/mad_rmpp.c 	if (mad_send_wr->last_ack == mad_send_wr->send_buf.seg_count)
mad_send_wr       961 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr->seg_num = mad_send_wr->last_ack;
mad_send_wr       962 drivers/infiniband/core/mad_rmpp.c 	mad_send_wr->cur_seg = mad_send_wr->last_ack_seg;
mad_send_wr       964 drivers/infiniband/core/mad_rmpp.c 	ret = send_next_seg(mad_send_wr);
mad_send_wr        43 drivers/infiniband/core/mad_rmpp.h int ib_send_rmpp_mad(struct ib_mad_send_wr_private *mad_send_wr);
mad_send_wr        49 drivers/infiniband/core/mad_rmpp.h int ib_process_rmpp_send_wc(struct ib_mad_send_wr_private *mad_send_wr,
mad_send_wr        56 drivers/infiniband/core/mad_rmpp.h int ib_retry_rmpp(struct ib_mad_send_wr_private *mad_send_wr);
mad_send_wr        18 include/trace/events/ib_mad.h static void create_mad_addr_info(struct ib_mad_send_wr_private *mad_send_wr,