Lines Matching refs:mad_agent

522 void ib_unregister_mad_agent(struct ib_mad_agent *mad_agent)  in ib_unregister_mad_agent()  argument
526 mad_agent_priv = container_of(mad_agent, in ib_unregister_mad_agent()
833 struct ib_mad_send_buf *ib_create_send_mad(struct ib_mad_agent *mad_agent, in ib_create_send_mad() argument
846 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, in ib_create_send_mad()
849 opa = rdma_cap_opa_mad(mad_agent->device, mad_agent->port_num); in ib_create_send_mad()
859 if (ib_mad_kernel_rmpp_agent(mad_agent)) { in ib_create_send_mad()
880 mad_send_wr->sg_list[0].lkey = mad_agent->qp->pd->local_dma_lkey; in ib_create_send_mad()
889 mad_send_wr->sg_list[1].lkey = mad_agent->qp->pd->local_dma_lkey; in ib_create_send_mad()
910 mad_send_wr->send_buf.mad_agent = mad_agent; in ib_create_send_mad()
982 mad_agent_priv = container_of(send_buf->mad_agent, in ib_free_send_mad()
997 struct ib_mad_agent *mad_agent; in ib_send_mad() local
1008 mad_agent = mad_send_wr->send_buf.mad_agent; in ib_send_mad()
1010 sge[0].addr = ib_dma_map_single(mad_agent->device, in ib_send_mad()
1014 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[0].addr))) in ib_send_mad()
1019 sge[1].addr = ib_dma_map_single(mad_agent->device, in ib_send_mad()
1023 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[1].addr))) { in ib_send_mad()
1024 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1034 ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr.wr, in ib_send_mad()
1048 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1051 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1083 if (!send_buf->mad_agent->send_handler || in ib_post_send_mad()
1085 !send_buf->mad_agent->recv_handler)) { in ib_post_send_mad()
1533 struct ib_mad_agent_private *mad_agent = NULL; in find_mad_agent() local
1545 mad_agent = xa_load(&ib_mad_clients, hi_tid); in find_mad_agent()
1546 if (mad_agent && !refcount_inc_not_zero(&mad_agent->refcount)) in find_mad_agent()
1547 mad_agent = NULL; in find_mad_agent()
1575 mad_agent = method->agent[mad_hdr->method & in find_mad_agent()
1593 mad_agent = method->agent[mad_hdr->method & in find_mad_agent()
1597 if (mad_agent) in find_mad_agent()
1598 refcount_inc(&mad_agent->refcount); in find_mad_agent()
1603 if (mad_agent && !mad_agent->agent.recv_handler) { in find_mad_agent()
1606 &mad_agent->agent, port_priv->port_num); in find_mad_agent()
1607 deref_mad_agent(mad_agent); in find_mad_agent()
1608 mad_agent = NULL; in find_mad_agent()
1611 return mad_agent; in find_mad_agent()
2025 struct ib_mad_agent_private *mad_agent; in ib_mad_recv_done() local
2123 mad_agent = find_mad_agent(port_priv, (const struct ib_mad_hdr *)recv->mad); in ib_mad_recv_done()
2124 if (mad_agent) { in ib_mad_recv_done()
2125 trace_ib_mad_recv_done_agent(mad_agent); in ib_mad_recv_done()
2126 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc); in ib_mad_recv_done()
2295 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, in ib_mad_send_done()
2298 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, in ib_mad_send_done()
2467 mad_agent_priv = container_of(send_buf->mad_agent, in ib_modify_mad()