Lines Matching defs:agent

45 #include "agent.h"
298 mad_agent_priv->agent.mr = ib_get_dma_mr(port_priv->qp_info[qpn].qp->pd,
300 if (IS_ERR(mad_agent_priv->agent.mr)) {
318 mad_agent_priv->agent.rmpp_version = rmpp_version;
319 mad_agent_priv->agent.device = device;
320 mad_agent_priv->agent.recv_handler = recv_handler;
321 mad_agent_priv->agent.send_handler = send_handler;
322 mad_agent_priv->agent.context = context;
323 mad_agent_priv->agent.qp = port_priv->qp_info[qpn].qp;
324 mad_agent_priv->agent.port_num = port_num;
339 mad_agent_priv->agent.hi_tid = ++ib_mad_client_id;
382 /* Add mad agent into port's agent list */
386 return &mad_agent_priv->agent;
392 ib_dereg_mr(mad_agent_priv->agent.mr);
488 mad_snoop_priv->agent.device = device;
489 mad_snoop_priv->agent.recv_handler = recv_handler;
490 mad_snoop_priv->agent.snoop_handler = snoop_handler;
491 mad_snoop_priv->agent.context = context;
492 mad_snoop_priv->agent.qp = port_priv->qp_info[qpn].qp;
493 mad_snoop_priv->agent.port_num = port_num;
505 return &mad_snoop_priv->agent;
554 ib_dereg_mr(mad_agent_priv->agent.mr);
583 /* If the TID is zero, the agent can only snoop. */
587 agent);
592 agent);
630 mad_snoop_priv->agent.snoop_handler(&mad_snoop_priv->agent,
655 mad_snoop_priv->agent.recv_handler(&mad_snoop_priv->agent,
696 struct ib_device *device = mad_agent_priv->agent.device;
704 port_num = mad_agent_priv->agent.port_num;
743 build_smp_wc(mad_agent_priv->agent.qp,
756 mad_agent_priv->agent.recv_handler) {
760 * Reference MAD agent until receive
772 port_priv = ib_get_mad_port(mad_agent_priv->agent.device,
773 mad_agent_priv->agent.port_num);
781 * No receiving agent so drop packet and
798 /* Reference MAD agent until send side of local completion handled */
864 agent.rmpp_version;
886 agent);
1003 struct ib_mad_agent_private, agent);
1097 if (mad_agent_priv->agent.rmpp_version) {
1131 /* Reference MAD agent until send completes */
1138 if (mad_agent_priv->agent.rmpp_version) {
1216 if ((*method)->agent[i]) {
1245 if (method->agent[i])
1298 struct ib_mad_agent_private *agent)
1302 /* Remove any methods for this mad agent */
1304 if (method->agent[i] == agent) {
1305 method->agent[i] = NULL;
1354 (*method)->agent[i] = agent_priv;
1359 /* Remove any methods for this mad agent */
1453 (*method)->agent[i] = agent_priv;
1458 /* Remove any methods for this mad agent */
1508 /* Remove any methods for this mad agent */
1545 /* Remove any methods for this mad agent */
1596 if (entry->agent.hi_tid == hi_tid) {
1623 mad_agent = method->agent[mad->mad_hdr.method &
1641 mad_agent = method->agent[mad->mad_hdr.method &
1648 if (mad_agent->agent.recv_handler)
1653 &mad_agent->agent, port_priv->port_num);
1695 return !mad_agent_priv->agent.rmpp_version ||
1715 struct ib_device *device = mad_agent_priv->agent.device;
1716 u8 port_num = mad_agent_priv->agent.port_num;
1823 if (mad_agent_priv->agent.rmpp_version) {
1847 mad_agent_priv->agent.recv_handler(&mad_agent_priv->agent,
1856 mad_agent_priv->agent.recv_handler(&mad_agent_priv->agent,
2066 if (mad_agent_priv->agent.rmpp_version) {
2087 /* Remove send from MAD agent and notify client of completion */
2097 mad_agent_priv->agent.send_handler(&mad_agent_priv->agent,
2100 /* Release reference on agent taken when sending */
2299 mad_agent_priv->agent.send_handler(&mad_agent_priv->agent,
2335 agent);
2391 printk(KERN_ERR PFX "No receive MAD agent for local completion\n");
2400 build_smp_wc(recv_mad_agent->agent.qp,
2403 0, recv_mad_agent->agent.port_num, &wc);
2418 recv_mad_agent->agent.recv_handler(
2419 &recv_mad_agent->agent,
2435 mad_agent_priv->agent.send_handler(&mad_agent_priv->agent,
2459 if (mad_send_wr->mad_agent_priv->agent.rmpp_version) {
2518 mad_agent_priv->agent.send_handler(&mad_agent_priv->agent,