Lines Matching refs:qp_dev
416 rdi->qp_dev = kzalloc_node(sizeof(*rdi->qp_dev), GFP_KERNEL, in rvt_driver_qp_init()
418 if (!rdi->qp_dev) in rvt_driver_qp_init()
422 rdi->qp_dev->qp_table_size = rdi->dparms.qp_table_size; in rvt_driver_qp_init()
423 rdi->qp_dev->qp_table_bits = ilog2(rdi->dparms.qp_table_size); in rvt_driver_qp_init()
424 rdi->qp_dev->qp_table = in rvt_driver_qp_init()
425 kmalloc_array_node(rdi->qp_dev->qp_table_size, in rvt_driver_qp_init()
426 sizeof(*rdi->qp_dev->qp_table), in rvt_driver_qp_init()
428 if (!rdi->qp_dev->qp_table) in rvt_driver_qp_init()
431 for (i = 0; i < rdi->qp_dev->qp_table_size; i++) in rvt_driver_qp_init()
432 RCU_INIT_POINTER(rdi->qp_dev->qp_table[i], NULL); in rvt_driver_qp_init()
434 spin_lock_init(&rdi->qp_dev->qpt_lock); in rvt_driver_qp_init()
437 if (init_qpn_table(rdi, &rdi->qp_dev->qpn_table)) in rvt_driver_qp_init()
445 kfree(rdi->qp_dev->qp_table); in rvt_driver_qp_init()
446 free_qpn_table(&rdi->qp_dev->qpn_table); in rvt_driver_qp_init()
449 kfree(rdi->qp_dev); in rvt_driver_qp_init()
473 if (!rdi->qp_dev) in rvt_free_all_qps()
476 ql = &rdi->qp_dev->qpt_lock; in rvt_free_all_qps()
478 for (n = 0; n < rdi->qp_dev->qp_table_size; n++) { in rvt_free_all_qps()
479 qp = rcu_dereference_protected(rdi->qp_dev->qp_table[n], in rvt_free_all_qps()
481 RCU_INIT_POINTER(rdi->qp_dev->qp_table[n], NULL); in rvt_free_all_qps()
505 if (!rdi->qp_dev) in rvt_qp_exit()
508 kfree(rdi->qp_dev->qp_table); in rvt_qp_exit()
509 free_qpn_table(&rdi->qp_dev->qpn_table); in rvt_qp_exit()
510 kfree(rdi->qp_dev); in rvt_qp_exit()
768 u32 n = hash_32(qp->ibqp.qp_num, rdi->qp_dev->qp_table_bits); in rvt_remove_qp()
772 spin_lock_irqsave(&rdi->qp_dev->qpt_lock, flags); in rvt_remove_qp()
775 lockdep_is_held(&rdi->qp_dev->qpt_lock)) == qp) { in rvt_remove_qp()
778 lockdep_is_held(&rdi->qp_dev->qpt_lock)) == qp) { in rvt_remove_qp()
785 qpp = &rdi->qp_dev->qp_table[n]; in rvt_remove_qp()
787 lockdep_is_held(&rdi->qp_dev->qpt_lock))) != NULL; in rvt_remove_qp()
792 lockdep_is_held(&rdi->qp_dev->qpt_lock))); in rvt_remove_qp()
800 spin_unlock_irqrestore(&rdi->qp_dev->qpt_lock, flags); in rvt_remove_qp()
1178 err = alloc_qpn(rdi, &rdi->qp_dev->qpn_table, in rvt_create_qp()
1276 rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num); in rvt_create_qp()
1398 spin_lock_irqsave(&rdi->qp_dev->qpt_lock, flags); in rvt_insert_qp()
1403 u32 n = hash_32(qp->ibqp.qp_num, rdi->qp_dev->qp_table_bits); in rvt_insert_qp()
1405 qp->next = rdi->qp_dev->qp_table[n]; in rvt_insert_qp()
1406 rcu_assign_pointer(rdi->qp_dev->qp_table[n], qp); in rvt_insert_qp()
1410 spin_unlock_irqrestore(&rdi->qp_dev->qpt_lock, flags); in rvt_insert_qp()
1708 rvt_free_qpn(&rdi->qp_dev->qpn_table, qp->ibqp.qp_num); in rvt_destroy_qp()
2748 for (; n < rdi->qp_dev->qp_table_size + iter->specials; n++) { in rvt_qp_iter_next()
2761 rdi->qp_dev->qp_table[ in rvt_qp_iter_next()