Searched refs:mad_agent (Results 1 - 7 of 7) sorted by relevance

/linux-4.1.27/drivers/infiniband/core/
H A Dmad.c617 int ib_unregister_mad_agent(struct ib_mad_agent *mad_agent) ib_unregister_mad_agent() argument
623 if (mad_agent->hi_tid) { ib_unregister_mad_agent()
624 mad_agent_priv = container_of(mad_agent, ib_unregister_mad_agent()
629 mad_snoop_priv = container_of(mad_agent, ib_unregister_mad_agent()
888 dev_err(&send_buf->mad_agent->device->dev, alloc_send_rmpp_list()
919 struct ib_mad_send_buf * ib_create_send_mad(struct ib_mad_agent *mad_agent, ib_create_send_mad() argument
930 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, ib_create_send_mad()
935 if (ib_mad_kernel_rmpp_agent(mad_agent)) { ib_create_send_mad()
956 mad_send_wr->sg_list[0].lkey = mad_agent->mr->lkey; ib_create_send_mad()
958 mad_send_wr->sg_list[1].lkey = mad_agent->mr->lkey; ib_create_send_mad()
977 mad_send_wr->send_buf.mad_agent = mad_agent; ib_create_send_mad()
1049 mad_agent_priv = container_of(send_buf->mad_agent, ib_free_send_mad()
1065 struct ib_mad_agent *mad_agent; ib_send_mad() local
1075 mad_agent = mad_send_wr->send_buf.mad_agent; ib_send_mad()
1077 sge[0].addr = ib_dma_map_single(mad_agent->device, ib_send_mad()
1081 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[0].addr))) ib_send_mad()
1086 sge[1].addr = ib_dma_map_single(mad_agent->device, ib_send_mad()
1090 if (unlikely(ib_dma_mapping_error(mad_agent->device, sge[1].addr))) { ib_send_mad()
1091 ib_dma_unmap_single(mad_agent->device, ib_send_mad()
1100 ret = ib_post_send(mad_agent->qp, &mad_send_wr->send_wr, ib_send_mad()
1114 ib_dma_unmap_single(mad_agent->device, ib_send_mad()
1117 ib_dma_unmap_single(mad_agent->device, ib_send_mad()
1145 if (!send_buf->mad_agent->send_handler || ib_post_send_mad()
1147 !send_buf->mad_agent->recv_handler)) { ib_post_send_mad()
1255 int ib_process_mad_wc(struct ib_mad_agent *mad_agent, ib_process_mad_wc() argument
1258 dev_err(&mad_agent->device->dev, ib_process_mad_wc()
1627 struct ib_mad_agent_private *mad_agent = NULL; find_mad_agent() local
1642 mad_agent = entry; find_mad_agent()
1671 mad_agent = method->agent[mad->mad_hdr.method & find_mad_agent()
1689 mad_agent = method->agent[mad->mad_hdr.method & find_mad_agent()
1695 if (mad_agent) { find_mad_agent()
1696 if (mad_agent->agent.recv_handler) find_mad_agent()
1697 atomic_inc(&mad_agent->refcount); find_mad_agent()
1701 &mad_agent->agent, port_priv->port_num); find_mad_agent()
1702 mad_agent = NULL; find_mad_agent()
1708 return mad_agent; find_mad_agent()
1954 struct ib_mad_agent_private *mad_agent; ib_mad_recv_done_handler() local
2059 mad_agent = find_mad_agent(port_priv, &recv->mad.mad); ib_mad_recv_done_handler()
2060 if (mad_agent) { ib_mad_recv_done_handler()
2061 ib_mad_complete_recv(mad_agent, &recv->header.recv_wc); ib_mad_recv_done_handler()
2219 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, ib_mad_send_done_handler()
2222 ib_dma_unmap_single(mad_send_wr->send_buf.mad_agent->device, ib_mad_send_done_handler()
2421 int ib_modify_mad(struct ib_mad_agent *mad_agent, ib_modify_mad() argument
2429 mad_agent_priv = container_of(mad_agent, struct ib_mad_agent_private, ib_modify_mad()
2455 void ib_cancel_mad(struct ib_mad_agent *mad_agent, ib_cancel_mad() argument
2458 ib_modify_mad(mad_agent, send_buf, 0); ib_cancel_mad()
H A Dcm.c161 struct ib_mad_agent *mad_agent; member in struct:cm_port
258 struct ib_mad_agent *mad_agent; cm_alloc_msg() local
262 mad_agent = cm_id_priv->av.port->mad_agent; cm_alloc_msg()
263 ah = ib_create_ah(mad_agent->qp->pd, &cm_id_priv->av.ah_attr); cm_alloc_msg()
267 m = ib_create_send_mad(mad_agent, cm_id_priv->id.remote_cm_qpn, cm_alloc_msg()
293 ah = ib_create_ah_from_wc(port->mad_agent->qp->pd, mad_recv_wc->wc, cm_alloc_response_msg()
298 m = ib_create_send_mad(port->mad_agent, 1, mad_recv_wc->wc->pkey_index, cm_alloc_response_msg()
856 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_destroy_id()
870 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_destroy_id()
890 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_destroy_id()
906 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_destroy_id()
991 hi_tid = ((u64) cm_id_priv->av.port->mad_agent->hi_tid) << 32; cm_form_tid()
1892 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_rep_handler()
1925 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_establish_handler()
1965 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_rtu_handler()
2017 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); ib_send_cm_dreq()
2157 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_dreq_handler()
2162 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_dreq_handler()
2227 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_drep_handler()
2370 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_rej_handler()
2380 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_rej_handler()
2390 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_rej_handler()
2530 ib_modify_mad(cm_id_priv->av.port->mad_agent, cm_mra_handler()
2537 ib_modify_mad(cm_id_priv->av.port->mad_agent, cm_mra_handler()
2545 ib_modify_mad(cm_id_priv->av.port->mad_agent, cm_mra_handler()
2855 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_apr_handler()
3151 ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); cm_sidr_rep_handler()
3215 static void cm_send_handler(struct ib_mad_agent *mad_agent, cm_send_handler() argument
3222 port = mad_agent->context; cm_send_handler()
3395 static void cm_recv_handler(struct ib_mad_agent *mad_agent, cm_recv_handler() argument
3398 struct cm_port *port = mad_agent->context; cm_recv_handler()
3805 port->mad_agent = ib_register_mad_agent(ib_device, i, cm_add_one()
3813 if (IS_ERR(port->mad_agent)) cm_add_one()
3828 ib_unregister_mad_agent(port->mad_agent); cm_add_one()
3837 ib_unregister_mad_agent(port->mad_agent); cm_add_one()
3865 ib_unregister_mad_agent(port->mad_agent); cm_remove_one()
H A Dagent.c138 static void agent_send_handler(struct ib_mad_agent *mad_agent, agent_send_handler() argument
H A Dsa_query.c1130 static void recv_handler(struct ib_mad_agent *mad_agent, recv_handler() argument
/linux-4.1.27/include/rdma/
H A Dib_mad.h231 * @mad_agent: MAD agent that allocated the buffer.
251 struct ib_mad_agent *mad_agent; member in struct:ib_mad_send_buf
313 * @mad_agent: MAD agent that sent the MAD.
316 typedef void (*ib_mad_send_handler)(struct ib_mad_agent *mad_agent,
321 * @mad_agent: MAD agent that snooped the MAD.
329 typedef void (*ib_mad_snoop_handler)(struct ib_mad_agent *mad_agent,
335 * @mad_agent: MAD agent requesting the received MAD.
344 typedef void (*ib_mad_recv_handler)(struct ib_mad_agent *mad_agent,
504 * @mad_agent: Corresponding MAD registration request to deregister.
509 int ib_unregister_mad_agent(struct ib_mad_agent *mad_agent);
545 * @mad_agent: Specifies the registration associated with sent MAD.
551 void ib_cancel_mad(struct ib_mad_agent *mad_agent,
556 * @mad_agent: Specifies the registration associated with sent MAD.
563 int ib_modify_mad(struct ib_mad_agent *mad_agent,
591 * @mad_agent: Specifies the registered MAD service using the redirected QP.
603 int ib_process_mad_wc(struct ib_mad_agent *mad_agent,
609 * @mad_agent: Specifies the registered MAD service to associate with the MAD.
632 struct ib_mad_send_buf *ib_create_send_mad(struct ib_mad_agent *mad_agent,
/linux-4.1.27/drivers/infiniband/ulp/srpt/
H A Dib_srpt.h346 * @mad_agent: per-port management datagram processing information.
361 struct ib_mad_agent *mad_agent; member in struct:srpt_port
H A Dib_srpt.c448 static void srpt_mad_send_handler(struct ib_mad_agent *mad_agent, srpt_mad_send_handler() argument
458 static void srpt_mad_recv_handler(struct ib_mad_agent *mad_agent, srpt_mad_recv_handler() argument
461 struct srpt_port *sport = (struct srpt_port *)mad_agent->context; srpt_mad_recv_handler()
469 ah = ib_create_ah_from_wc(mad_agent->qp->pd, mad_wc->wc, srpt_mad_recv_handler()
470 mad_wc->recv_buf.grh, mad_agent->port_num); srpt_mad_recv_handler()
476 rsp = ib_create_send_mad(mad_agent, mad_wc->wc->src_qp, srpt_mad_recv_handler()
553 if (!sport->mad_agent) { srpt_refresh_port()
560 sport->mad_agent = ib_register_mad_agent(sport->sdev->device, srpt_refresh_port()
567 if (IS_ERR(sport->mad_agent)) { srpt_refresh_port()
568 ret = PTR_ERR(sport->mad_agent); srpt_refresh_port()
569 sport->mad_agent = NULL; srpt_refresh_port()
605 if (sport->mad_agent) { srpt_unregister_mad_agent()
606 ib_unregister_mad_agent(sport->mad_agent); srpt_unregister_mad_agent()
607 sport->mad_agent = NULL; srpt_unregister_mad_agent()

Completed in 286 milliseconds