Lines Matching refs:mad_agent

615 int ib_unregister_mad_agent(struct ib_mad_agent *mad_agent)
621 if (mad_agent->hi_tid) {
622 mad_agent_priv = container_of(mad_agent,
627 mad_snoop_priv = container_of(mad_agent,
985 struct ib_mad_send_buf * ib_create_send_mad(struct ib_mad_agent *mad_agent,
999 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private,
1002 opa = rdma_cap_opa_mad(mad_agent->device, mad_agent->port_num);
1012 if (ib_mad_kernel_rmpp_agent(mad_agent)) {
1033 mad_send_wr->sg_list[0].lkey = mad_agent->qp->pd->local_dma_lkey;
1042 mad_send_wr->sg_list[1].lkey = mad_agent->qp->pd->local_dma_lkey;
1063 mad_send_wr->send_buf.mad_agent = mad_agent;
1135 mad_agent_priv = container_of(send_buf->mad_agent,
1151 struct ib_mad_agent *mad_agent;
1162 mad_agent = mad_send_wr->send_buf.mad_agent;
1164 sge[0].addr = ib_dma_map_single(mad_agent->device,
1168 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[0].addr)))
1173 sge[1].addr = ib_dma_map_single(mad_agent->device,
1177 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[1].addr))) {
1178 ib_dma_unmap_single(mad_agent->device,
1187 ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr.wr,
1201 ib_dma_unmap_single(mad_agent->device,
1204 ib_dma_unmap_single(mad_agent->device,
1232 if (!send_buf->mad_agent->send_handler ||
1234 !send_buf->mad_agent->recv_handler)) {
1342 int ib_process_mad_wc(struct ib_mad_agent *mad_agent,
1345 dev_err(&mad_agent->device->dev,
1704 struct ib_mad_agent_private *mad_agent = NULL;
1719 mad_agent = entry;
1748 mad_agent = method->agent[mad_hdr->method &
1766 mad_agent = method->agent[mad_hdr->method &
1772 if (mad_agent) {
1773 if (mad_agent->agent.recv_handler)
1774 atomic_inc(&mad_agent->refcount);
1778 &mad_agent->agent, port_priv->port_num);
1779 mad_agent = NULL;
1785 return mad_agent;
2179 struct ib_mad_agent_private *mad_agent;
2279 mad_agent = find_mad_agent(port_priv, (const struct ib_mad_hdr *)recv->mad);
2280 if (mad_agent) {
2281 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc);
2447 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device,
2450 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device,
2612 int ib_modify_mad(struct ib_mad_agent *mad_agent,
2620 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private,
2646 void ib_cancel_mad(struct ib_mad_agent *mad_agent,
2649 ib_modify_mad(mad_agent, send_buf, 0);