Lines Matching refs:mad_agent
617 int ib_unregister_mad_agent(struct ib_mad_agent *mad_agent) in ib_unregister_mad_agent() argument
623 if (mad_agent->hi_tid) { in ib_unregister_mad_agent()
624 mad_agent_priv = container_of(mad_agent, in ib_unregister_mad_agent()
629 mad_snoop_priv = container_of(mad_agent, in ib_unregister_mad_agent()
888 dev_err(&send_buf->mad_agent->device->dev, in alloc_send_rmpp_list()
919 struct ib_mad_send_buf * ib_create_send_mad(struct ib_mad_agent *mad_agent, in ib_create_send_mad() argument
930 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, in ib_create_send_mad()
935 if (ib_mad_kernel_rmpp_agent(mad_agent)) { in ib_create_send_mad()
956 mad_send_wr->sg_list[0].lkey = mad_agent->mr->lkey; in ib_create_send_mad()
958 mad_send_wr->sg_list[1].lkey = mad_agent->mr->lkey; in ib_create_send_mad()
977 mad_send_wr->send_buf.mad_agent = mad_agent; in ib_create_send_mad()
1049 mad_agent_priv = container_of(send_buf->mad_agent, in ib_free_send_mad()
1065 struct ib_mad_agent *mad_agent; in ib_send_mad() local
1075 mad_agent = mad_send_wr->send_buf.mad_agent; in ib_send_mad()
1077 sge[0].addr = ib_dma_map_single(mad_agent->device, in ib_send_mad()
1081 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[0].addr))) in ib_send_mad()
1086 sge[1].addr = ib_dma_map_single(mad_agent->device, in ib_send_mad()
1090 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[1].addr))) { in ib_send_mad()
1091 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1100 ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr, in ib_send_mad()
1114 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1117 ib_dma_unmap_single(mad_agent->device, in ib_send_mad()
1145 if (!send_buf->mad_agent->send_handler || in ib_post_send_mad()
1147 !send_buf->mad_agent->recv_handler)) { in ib_post_send_mad()
1255 int ib_process_mad_wc(struct ib_mad_agent *mad_agent, in ib_process_mad_wc() argument
1258 dev_err(&mad_agent->device->dev, in ib_process_mad_wc()
1627 struct ib_mad_agent_private *mad_agent = NULL; in find_mad_agent() local
1642 mad_agent = entry; in find_mad_agent()
1671 mad_agent = method->agent[mad->mad_hdr.method & in find_mad_agent()
1689 mad_agent = method->agent[mad->mad_hdr.method & in find_mad_agent()
1695 if (mad_agent) { in find_mad_agent()
1696 if (mad_agent->agent.recv_handler) in find_mad_agent()
1697 atomic_inc(&mad_agent->refcount); in find_mad_agent()
1701 &mad_agent->agent, port_priv->port_num); in find_mad_agent()
1702 mad_agent = NULL; in find_mad_agent()
1708 return mad_agent; in find_mad_agent()
1954 struct ib_mad_agent_private *mad_agent; in ib_mad_recv_done_handler() local
2059 mad_agent = find_mad_agent(port_priv, &recv->mad.mad); in ib_mad_recv_done_handler()
2060 if (mad_agent) { in ib_mad_recv_done_handler()
2061 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc); in ib_mad_recv_done_handler()
2219 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, in ib_mad_send_done_handler()
2222 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, in ib_mad_send_done_handler()
2421 int ib_modify_mad(struct ib_mad_agent *mad_agent, in ib_modify_mad() argument
2429 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, in ib_modify_mad()
2455 void ib_cancel_mad(struct ib_mad_agent *mad_agent, in ib_cancel_mad() argument
2458 ib_modify_mad(mad_agent, send_buf, 0); in ib_cancel_mad()