Lines Matching refs:rdi
20 void rvt_driver_mcast_init(struct rvt_dev_info *rdi) in rvt_driver_mcast_init() argument
26 spin_lock_init(&rdi->n_mcast_grps_lock); in rvt_driver_mcast_init()
151 static int rvt_mcast_add(struct rvt_dev_info *rdi, struct rvt_ibport *ibp, in rvt_mcast_add() argument
192 rdi->dparms.props.max_mcast_qp_attach) { in rvt_mcast_add()
204 spin_lock(&rdi->n_mcast_grps_lock); in rvt_mcast_add()
205 if (rdi->n_mcast_grps_allocated == rdi->dparms.props.max_mcast_grp) { in rvt_mcast_add()
206 spin_unlock(&rdi->n_mcast_grps_lock); in rvt_mcast_add()
211 rdi->n_mcast_grps_allocated++; in rvt_mcast_add()
212 spin_unlock(&rdi->n_mcast_grps_lock); in rvt_mcast_add()
241 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_attach_mcast() local
242 struct rvt_ibport *ibp = rdi->ports[qp->port_num - 1]; in rvt_attach_mcast()
262 switch (rvt_mcast_add(rdi, ibp, mcast, mqp)) { in rvt_attach_mcast()
304 struct rvt_dev_info *rdi = ib_to_rvt(ibqp->device); in rvt_detach_mcast() local
305 struct rvt_ibport *ibp = rdi->ports[qp->port_num - 1]; in rvt_detach_mcast()
378 spin_lock_irq(&rdi->n_mcast_grps_lock); in rvt_detach_mcast()
379 rdi->n_mcast_grps_allocated--; in rvt_detach_mcast()
380 spin_unlock_irq(&rdi->n_mcast_grps_lock); in rvt_detach_mcast()
392 int rvt_mcast_tree_empty(struct rvt_dev_info *rdi) in rvt_mcast_tree_empty() argument
397 for (i = 0; i < rdi->dparms.nports; i++) in rvt_mcast_tree_empty()
398 if (rdi->ports[i]->mcast_tree.rb_node) in rvt_mcast_tree_empty()