Lines Matching refs:ibp
111 struct qib_mcast *qib_mcast_find(struct qib_ibport *ibp, union ib_gid *mgid) in qib_mcast_find() argument
117 spin_lock_irqsave(&ibp->lock, flags); in qib_mcast_find()
118 n = ibp->mcast_tree.rb_node; in qib_mcast_find()
132 spin_unlock_irqrestore(&ibp->lock, flags); in qib_mcast_find()
136 spin_unlock_irqrestore(&ibp->lock, flags); in qib_mcast_find()
153 static int qib_mcast_add(struct qib_ibdev *dev, struct qib_ibport *ibp, in qib_mcast_add() argument
156 struct rb_node **n = &ibp->mcast_tree.rb_node; in qib_mcast_add()
160 spin_lock_irq(&ibp->lock); in qib_mcast_add()
215 rb_insert_color(&mcast->rb_node, &ibp->mcast_tree); in qib_mcast_add()
220 spin_unlock_irq(&ibp->lock); in qib_mcast_add()
229 struct qib_ibport *ibp; in qib_multicast_attach() local
254 ibp = to_iport(ibqp->device, qp->port_num); in qib_multicast_attach()
255 switch (qib_mcast_add(dev, ibp, mcast, mqp)) { in qib_multicast_attach()
287 struct qib_ibport *ibp = to_iport(ibqp->device, qp->port_num); in qib_multicast_detach() local
299 spin_lock_irq(&ibp->lock); in qib_multicast_detach()
302 n = ibp->mcast_tree.rb_node; in qib_multicast_detach()
305 spin_unlock_irq(&ibp->lock); in qib_multicast_detach()
334 rb_erase(&mcast->rb_node, &ibp->mcast_tree); in qib_multicast_detach()
340 spin_unlock_irq(&ibp->lock); in qib_multicast_detach()
365 int qib_mcast_tree_empty(struct qib_ibport *ibp) in qib_mcast_tree_empty() argument
367 return ibp->mcast_tree.rb_node == NULL; in qib_mcast_tree_empty()