mad_snoop_priv    503 drivers/infiniband/core/mad.c 				struct ib_mad_snoop_private *mad_snoop_priv)
mad_snoop_priv    518 drivers/infiniband/core/mad.c 					   sizeof mad_snoop_priv *
mad_snoop_priv    529 drivers/infiniband/core/mad.c 	qp_info->snoop_table[i] = mad_snoop_priv;
mad_snoop_priv    546 drivers/infiniband/core/mad.c 	struct ib_mad_snoop_private *mad_snoop_priv;
mad_snoop_priv    567 drivers/infiniband/core/mad.c 	mad_snoop_priv = kzalloc(sizeof *mad_snoop_priv, GFP_KERNEL);
mad_snoop_priv    568 drivers/infiniband/core/mad.c 	if (!mad_snoop_priv) {
mad_snoop_priv    574 drivers/infiniband/core/mad.c 	mad_snoop_priv->qp_info = &port_priv->qp_info[qpn];
mad_snoop_priv    575 drivers/infiniband/core/mad.c 	mad_snoop_priv->agent.device = device;
mad_snoop_priv    576 drivers/infiniband/core/mad.c 	mad_snoop_priv->agent.recv_handler = recv_handler;
mad_snoop_priv    577 drivers/infiniband/core/mad.c 	mad_snoop_priv->agent.snoop_handler = snoop_handler;
mad_snoop_priv    578 drivers/infiniband/core/mad.c 	mad_snoop_priv->agent.context = context;
mad_snoop_priv    579 drivers/infiniband/core/mad.c 	mad_snoop_priv->agent.qp = port_priv->qp_info[qpn].qp;
mad_snoop_priv    580 drivers/infiniband/core/mad.c 	mad_snoop_priv->agent.port_num = port_num;
mad_snoop_priv    581 drivers/infiniband/core/mad.c 	mad_snoop_priv->mad_snoop_flags = mad_snoop_flags;
mad_snoop_priv    582 drivers/infiniband/core/mad.c 	init_completion(&mad_snoop_priv->comp);
mad_snoop_priv    584 drivers/infiniband/core/mad.c 	err = ib_mad_agent_security_setup(&mad_snoop_priv->agent, qp_type);
mad_snoop_priv    590 drivers/infiniband/core/mad.c 	mad_snoop_priv->snoop_index = register_snoop_agent(
mad_snoop_priv    592 drivers/infiniband/core/mad.c 						mad_snoop_priv);
mad_snoop_priv    593 drivers/infiniband/core/mad.c 	if (mad_snoop_priv->snoop_index < 0) {
mad_snoop_priv    594 drivers/infiniband/core/mad.c 		ret = ERR_PTR(mad_snoop_priv->snoop_index);
mad_snoop_priv    598 drivers/infiniband/core/mad.c 	atomic_set(&mad_snoop_priv->refcount, 1);
mad_snoop_priv    599 drivers/infiniband/core/mad.c 	return &mad_snoop_priv->agent;
mad_snoop_priv    601 drivers/infiniband/core/mad.c 	ib_mad_agent_security_cleanup(&mad_snoop_priv->agent);
mad_snoop_priv    603 drivers/infiniband/core/mad.c 	kfree(mad_snoop_priv);
mad_snoop_priv    615 drivers/infiniband/core/mad.c static inline void deref_snoop_agent(struct ib_mad_snoop_private *mad_snoop_priv)
mad_snoop_priv    617 drivers/infiniband/core/mad.c 	if (atomic_dec_and_test(&mad_snoop_priv->refcount))
mad_snoop_priv    618 drivers/infiniband/core/mad.c 		complete(&mad_snoop_priv->comp);
mad_snoop_priv    653 drivers/infiniband/core/mad.c static void unregister_mad_snoop(struct ib_mad_snoop_private *mad_snoop_priv)
mad_snoop_priv    658 drivers/infiniband/core/mad.c 	qp_info = mad_snoop_priv->qp_info;
mad_snoop_priv    660 drivers/infiniband/core/mad.c 	qp_info->snoop_table[mad_snoop_priv->snoop_index] = NULL;
mad_snoop_priv    664 drivers/infiniband/core/mad.c 	deref_snoop_agent(mad_snoop_priv);
mad_snoop_priv    665 drivers/infiniband/core/mad.c 	wait_for_completion(&mad_snoop_priv->comp);
mad_snoop_priv    667 drivers/infiniband/core/mad.c 	ib_mad_agent_security_cleanup(&mad_snoop_priv->agent);
mad_snoop_priv    669 drivers/infiniband/core/mad.c 	kfree(mad_snoop_priv);
mad_snoop_priv    680 drivers/infiniband/core/mad.c 	struct ib_mad_snoop_private *mad_snoop_priv;
mad_snoop_priv    689 drivers/infiniband/core/mad.c 		mad_snoop_priv = container_of(mad_agent,
mad_snoop_priv    692 drivers/infiniband/core/mad.c 		unregister_mad_snoop(mad_snoop_priv);
mad_snoop_priv    714 drivers/infiniband/core/mad.c 	struct ib_mad_snoop_private *mad_snoop_priv;
mad_snoop_priv    720 drivers/infiniband/core/mad.c 		mad_snoop_priv = qp_info->snoop_table[i];
mad_snoop_priv    721 drivers/infiniband/core/mad.c 		if (!mad_snoop_priv ||
mad_snoop_priv    722 drivers/infiniband/core/mad.c 		    !(mad_snoop_priv->mad_snoop_flags & mad_snoop_flags))
mad_snoop_priv    725 drivers/infiniband/core/mad.c 		atomic_inc(&mad_snoop_priv->refcount);
mad_snoop_priv    727 drivers/infiniband/core/mad.c 		mad_snoop_priv->agent.snoop_handler(&mad_snoop_priv->agent,
mad_snoop_priv    729 drivers/infiniband/core/mad.c 		deref_snoop_agent(mad_snoop_priv);
mad_snoop_priv    739 drivers/infiniband/core/mad.c 	struct ib_mad_snoop_private *mad_snoop_priv;
mad_snoop_priv    745 drivers/infiniband/core/mad.c 		mad_snoop_priv = qp_info->snoop_table[i];
mad_snoop_priv    746 drivers/infiniband/core/mad.c 		if (!mad_snoop_priv ||
mad_snoop_priv    747 drivers/infiniband/core/mad.c 		    !(mad_snoop_priv->mad_snoop_flags & mad_snoop_flags))
mad_snoop_priv    750 drivers/infiniband/core/mad.c 		atomic_inc(&mad_snoop_priv->refcount);
mad_snoop_priv    752 drivers/infiniband/core/mad.c 		mad_snoop_priv->agent.recv_handler(&mad_snoop_priv->agent, NULL,
mad_snoop_priv    754 drivers/infiniband/core/mad.c 		deref_snoop_agent(mad_snoop_priv);