Lines Matching refs:mad_agent

607 int ib_unregister_mad_agent(struct ib_mad_agent *mad_agent)  in ib_unregister_mad_agent()  argument
613 if (mad_agent->hi_tid) { in ib_unregister_mad_agent()
614 mad_agent_priv = container_of(mad_agent, in ib_unregister_mad_agent()
619 mad_snoop_priv = container_of(mad_agent, in ib_unregister_mad_agent()
952 dev_err(&send_buf->mad_agent->device->dev, in alloc_send_rmpp_list()
983 struct ib_mad_send_buf * ib_create_send_mad(struct ib_mad_agent *mad_agent, in ib_create_send_mad() argument
997 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, in ib_create_send_mad()
1000 opa = rdma_cap_opa_mad(mad_agent->device, mad_agent->port_num); in ib_create_send_mad()
1010 if (ib_mad_kernel_rmpp_agent(mad_agent)) { in ib_create_send_mad()
1031 mad_send_wr->sg_list[0].lkey = mad_agent->qp->pd->local_dma_lkey; in ib_create_send_mad()
1040 mad_send_wr->sg_list[1].lkey = mad_agent->qp->pd->local_dma_lkey; in ib_create_send_mad()
1059 mad_send_wr->send_buf.mad_agent = mad_agent; in ib_create_send_mad()
1131 mad_agent_priv = container_of(send_buf->mad_agent, in ib_free_send_mad()
1147 struct ib_mad_agent *mad_agent; in ib_send_mad() local
1157 mad_agent = mad_send_wr->send_buf.mad_agent; in ib_send_mad()
1159 sge[0].addr = ib_dma_map_single(mad_agent->device, in ib_send_mad()
1163 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[0].addr))) in ib_send_mad()
1168 sge[1].addr = ib_dma_map_single(mad_agent->device, in ib_send_mad()
1172 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[1].addr))) { in ib_send_mad()
1173 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1182 ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr.wr, in ib_send_mad()
1196 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1199 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1227 if (!send_buf->mad_agent->send_handler || in ib_post_send_mad()
1229 !send_buf->mad_agent->recv_handler)) { in ib_post_send_mad()
1337 int ib_process_mad_wc(struct ib_mad_agent *mad_agent, in ib_process_mad_wc() argument
1340 dev_err(&mad_agent->device->dev, in ib_process_mad_wc()
1709 struct ib_mad_agent_private *mad_agent = NULL; in find_mad_agent() local
1724 mad_agent = entry; in find_mad_agent()
1753 mad_agent = method->agent[mad_hdr->method & in find_mad_agent()
1771 mad_agent = method->agent[mad_hdr->method & in find_mad_agent()
1777 if (mad_agent) { in find_mad_agent()
1778 if (mad_agent->agent.recv_handler) in find_mad_agent()
1779 atomic_inc(&mad_agent->refcount); in find_mad_agent()
1783 &mad_agent->agent, port_priv->port_num); in find_mad_agent()
1784 mad_agent = NULL; in find_mad_agent()
1790 return mad_agent; in find_mad_agent()
2182 struct ib_mad_agent_private *mad_agent; in ib_mad_recv_done_handler() local
2275 mad_agent = find_mad_agent(port_priv, (const struct ib_mad_hdr *)recv->mad); in ib_mad_recv_done_handler()
2276 if (mad_agent) { in ib_mad_recv_done_handler()
2277 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc); in ib_mad_recv_done_handler()
2435 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, in ib_mad_send_done_handler()
2438 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, in ib_mad_send_done_handler()
2638 int ib_modify_mad(struct ib_mad_agent *mad_agent, in ib_modify_mad() argument
2646 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, in ib_modify_mad()
2672 void ib_cancel_mad(struct ib_mad_agent *mad_agent, in ib_cancel_mad() argument
2675 ib_modify_mad(mad_agent, send_buf, 0); in ib_cancel_mad()