Lines Matching refs:agent
119 struct ib_mad_agent *agent[IB_UMAD_MAX_AGENTS]; member
167 return file->agents_dead ? NULL : file->agent[id]; in __get_agent()
171 struct ib_mad_agent *agent, in queue_packet() argument
181 if (agent == __get_agent(file, packet->mad.hdr.id)) { in queue_packet()
201 static void send_handler(struct ib_mad_agent *agent, in send_handler() argument
204 struct ib_umad_file *file = agent->context; in send_handler()
214 if (!queue_packet(file, agent, packet)) in send_handler()
220 static void recv_handler(struct ib_mad_agent *agent, in recv_handler() argument
224 struct ib_umad_file *file = agent->context; in recv_handler()
244 if (rdma_cap_opa_mad(agent->device, agent->port_num)) in recv_handler()
258 ret = ib_init_ah_attr_from_wc(agent->device, agent->port_num, in recv_handler()
274 if (queue_packet(file, agent, packet)) in recv_handler()
474 struct ib_mad_agent *agent; in ib_umad_write() local
508 agent = __get_agent(file, packet->mad.hdr.id); in ib_umad_write()
509 if (!agent) { in ib_umad_write()
515 ah_attr.type = rdma_ah_find_type(agent->device, in ib_umad_write()
530 ah = rdma_create_user_ah(agent->qp->pd, &ah_attr, NULL); in ib_umad_write()
540 && ib_mad_kernel_rmpp_agent(agent)) { in ib_umad_write()
551 packet->msg = ib_create_send_mad(agent, in ib_umad_write()
589 *tid = cpu_to_be64(((u64) agent->hi_tid) << 32 | in ib_umad_write()
594 if (!ib_mad_kernel_rmpp_agent(agent) in ib_umad_write()
652 struct ib_mad_agent *agent = NULL; in ib_umad_reg_agent() local
708 agent = ib_register_mad_agent(file->port->ib_dev, file->port->port_num, in ib_umad_reg_agent()
713 if (IS_ERR(agent)) { in ib_umad_reg_agent()
714 ret = PTR_ERR(agent); in ib_umad_reg_agent()
715 agent = NULL; in ib_umad_reg_agent()
736 file->agent[agent_id] = agent; in ib_umad_reg_agent()
742 if (ret && agent) in ib_umad_reg_agent()
743 ib_unregister_mad_agent(agent); in ib_umad_reg_agent()
754 struct ib_mad_agent *agent = NULL; in ib_umad_reg_agent2() local
824 agent = ib_register_mad_agent(file->port->ib_dev, file->port->port_num, in ib_umad_reg_agent2()
830 if (IS_ERR(agent)) { in ib_umad_reg_agent2()
831 ret = PTR_ERR(agent); in ib_umad_reg_agent2()
832 agent = NULL; in ib_umad_reg_agent2()
848 file->agent[agent_id] = agent; in ib_umad_reg_agent2()
854 if (ret && agent) in ib_umad_reg_agent2()
855 ib_unregister_mad_agent(agent); in ib_umad_reg_agent2()
865 struct ib_mad_agent *agent = NULL; in ib_umad_unreg_agent() local
880 agent = file->agent[id]; in ib_umad_unreg_agent()
881 file->agent[id] = NULL; in ib_umad_unreg_agent()
886 if (agent) in ib_umad_unreg_agent()
887 ib_unregister_mad_agent(agent); in ib_umad_unreg_agent()
1022 if (file->agent[i]) in ib_umad_close()
1023 ib_unregister_mad_agent(file->agent[i]); in ib_umad_close()
1259 if (file->agent[id]) in ib_umad_kill_port()
1260 ib_unregister_mad_agent(file->agent[id]); in ib_umad_kill_port()