Lines Matching refs:send_buf

142 	mad_send_wc.send_buf = &mad_send_wr->send_buf;
396 * @send_buf: the MAD to modify in queue
401 * Note: The send_buf may point on MAD that is already released.
406 struct ib_mad_send_buf *send_buf, u32 timeout_ms)
416 &tfe_to_mad(item)->send_buf == send_buf) {
467 mad = (struct ib_mad_hdr *)mad_send_wr->send_buf.mad;
469 return ((mad_send_wr->send_buf.timeout_ms) &&
499 if (time_left_ms > mad_send_wr->send_buf.timeout_ms) {
500 retries = time_left_ms / mad_send_wr->send_buf.timeout_ms - 1;
501 timeout_ms = mad_send_wr->send_buf.timeout_ms;
530 ret = send_sa_cc_mad(mad_send_wr, mad_send_wr->send_buf.timeout_ms,
536 int qtime = (mad_send_wr->send_buf.timeout_ms *
576 struct ib_mad_send_buf *send_buf, u32 timeout_ms)
585 mad_agent_priv, send_buf, (u32)qtime);
604 mad_send_wc.send_buf = &mad_send_wr->send_buf;
1135 struct ib_mad_send_buf *send_buf,
1153 send_buf, mad_send_wc);
1212 struct ib_smp *smp = mad_send_wr->send_buf.mad;
1359 struct ib_mad_send_buf *send_buf = &send_wr->send_buf;
1360 struct ib_rmpp_mad *rmpp_mad = send_buf->mad;
1364 send_buf->seg_size = sizeof (struct ib_mad) - send_buf->hdr_len;
1365 seg_size = send_buf->seg_size;
1369 for (left = send_buf->data_len + pad; left > 0; left -= seg_size) {
1378 seg->num = ++send_buf->seg_count;
1425 mad_send_wr->send_buf.mad = buf;
1426 mad_send_wr->send_buf.hdr_len = hdr_len;
1427 mad_send_wr->send_buf.data_len = data_len;
1453 mad_send_wr->send_buf.mad_agent = mad_agent;
1455 return &mad_send_wr->send_buf;
1488 void *ib_get_rmpp_segment(struct ib_mad_send_buf *send_buf, int seg_num)
1493 mad_send_wr = container_of(send_buf, struct ib_mad_send_wr_private,
1494 send_buf);
1512 if (mad_send_wr->send_buf.seg_count)
1513 return ib_get_rmpp_segment(&mad_send_wr->send_buf,
1516 return mad_send_wr->send_buf.mad +
1517 mad_send_wr->send_buf.hdr_len;
1520 void ib_free_send_mad(struct ib_mad_send_buf *send_buf)
1525 mad_agent_priv = container_of(send_buf->mad_agent,
1527 mad_send_wr = container_of(send_buf, struct ib_mad_send_wr_private,
1528 send_buf);
1531 kfree(send_buf->mad);
1551 mad_agent = mad_send_wr->send_buf.mad_agent;
1554 mad_send_wr->send_buf.mad,
1640 int ib_post_send_mad(struct ib_mad_send_buf *send_buf,
1650 for (; send_buf; send_buf = next_send_buf) {
1652 mad_send_wr = container_of(send_buf,
1654 send_buf);
1657 if (!send_buf->mad_agent->send_handler ||
1658 (send_buf->timeout_ms &&
1659 !send_buf->mad_agent->recv_handler)) {
1664 if (!ib_is_mad_class_rmpp(((struct ib_mad_hdr *) send_buf->mad)->mgmt_class)) {
1676 next_send_buf = send_buf->next;
1677 mad_send_wr->send_wr.wr.ud.ah = send_buf->ah;
1679 if (((struct ib_mad_hdr *) send_buf->mad)->mgmt_class ==
1689 mad_send_wr->tid = ((struct ib_mad_hdr *) send_buf->mad)->tid;
1691 mad_send_wr->timeout = msecs_to_jiffies(send_buf->timeout_ms);
1692 mad_send_wr->max_retries = send_buf->retries;
1693 mad_send_wr->retries_left = send_buf->retries;
1694 send_buf->retries = 0;
1731 *bad_send_buf = send_buf;
2271 return ((struct ib_mad *)(wr->send_buf.mad))->mad_hdr.mgmt_class ==
2286 send_resp = ib_response_mad((struct ib_mad *)wr->send_buf.mad);
2293 if (ib_query_ah(wr->send_buf.ah, &attr))
2357 if (is_data_mad(mad_agent_priv, wr->send_buf.mad) &&
2413 mad_recv_wc->wc->wr_id = (unsigned long) &mad_send_wr->send_buf;
2420 mad_send_wc.send_buf = &mad_send_wr->send_buf;
2724 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device,
2727 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device,
2745 mad_send_wc.send_buf = &mad_send_wr->send_buf;
2749 snoop_send(qp_info, &mad_send_wr->send_buf, &mad_send_wc,
2896 mad_send_wc.send_buf = &mad_send_wr->send_buf;
2908 struct ib_mad_send_buf *send_buf)
2914 if (&mad_send_wr->send_buf == send_buf)
2920 if (is_data_mad(mad_agent_priv, mad_send_wr->send_buf.mad) &&
2921 &mad_send_wr->send_buf == send_buf)
2928 struct ib_mad_send_buf *send_buf, u32 timeout_ms)
2938 mad_send_wr = find_send_wr(mad_agent_priv, send_buf);
2941 if (modify_sa_cc_mad(mad_agent_priv, send_buf, timeout_ms))
2956 mad_send_wr->send_buf.timeout_ms = timeout_ms;
2968 struct ib_mad_send_buf *send_buf)
2970 ib_modify_mad(mad_agent, send_buf, 0);
3037 mad_send_wc.send_buf = &local->mad_send_wr->send_buf;
3040 &local->mad_send_wr->send_buf,
3062 mad_send_wr->send_buf.retries++;
3064 mad_send_wr->timeout = msecs_to_jiffies(mad_send_wr->send_buf.timeout_ms);
3128 mad_send_wc.send_buf = &mad_send_wr->send_buf;