Lines Matching refs:srq_table
14 struct hns_roce_srq_table *srq_table = &hr_dev->srq_table; in hns_roce_srq_event() local
17 xa_lock(&srq_table->xa); in hns_roce_srq_event()
18 srq = xa_load(&srq_table->xa, srqn & (hr_dev->caps.num_srqs - 1)); in hns_roce_srq_event()
21 xa_unlock(&srq_table->xa); in hns_roce_srq_event()
84 struct hns_roce_srq_table *srq_table = &hr_dev->srq_table; in hns_roce_srq_alloc() local
113 ret = hns_roce_bitmap_alloc(&srq_table->bitmap, &srq->srqn); in hns_roce_srq_alloc()
119 ret = hns_roce_table_get(hr_dev, &srq_table->table, srq->srqn); in hns_roce_srq_alloc()
123 ret = xa_err(xa_store(&srq_table->xa, srq->srqn, srq, GFP_KERNEL)); in hns_roce_srq_alloc()
147 xa_erase(&srq_table->xa, srq->srqn); in hns_roce_srq_alloc()
150 hns_roce_table_put(hr_dev, &srq_table->table, srq->srqn); in hns_roce_srq_alloc()
153 hns_roce_bitmap_free(&srq_table->bitmap, srq->srqn, BITMAP_NO_RR); in hns_roce_srq_alloc()
160 struct hns_roce_srq_table *srq_table = &hr_dev->srq_table; in hns_roce_srq_free() local
168 xa_erase(&srq_table->xa, srq->srqn); in hns_roce_srq_free()
174 hns_roce_table_put(hr_dev, &srq_table->table, srq->srqn); in hns_roce_srq_free()
175 hns_roce_bitmap_free(&srq_table->bitmap, srq->srqn, BITMAP_NO_RR); in hns_roce_srq_free()
461 struct hns_roce_srq_table *srq_table = &hr_dev->srq_table; in hns_roce_init_srq_table() local
463 xa_init(&srq_table->xa); in hns_roce_init_srq_table()
465 return hns_roce_bitmap_init(&srq_table->bitmap, hr_dev->caps.num_srqs, in hns_roce_init_srq_table()
472 hns_roce_bitmap_cleanup(&hr_dev->srq_table.bitmap); in hns_roce_cleanup_srq_table()