Lines Matching refs:cq_table
61 struct hns_roce_cq_table *cq_table = &hr_dev->cq_table; in alloc_cqn() local
66 mutex_lock(&cq_table->bank_mutex); in alloc_cqn()
67 bankid = get_least_load_bankid_for_cq(cq_table->bank); in alloc_cqn()
68 bank = &cq_table->bank[bankid]; in alloc_cqn()
72 mutex_unlock(&cq_table->bank_mutex); in alloc_cqn()
79 mutex_unlock(&cq_table->bank_mutex); in alloc_cqn()
92 struct hns_roce_cq_table *cq_table = &hr_dev->cq_table; in free_cqn() local
95 bank = &cq_table->bank[get_cq_bankid(cqn)]; in free_cqn()
99 mutex_lock(&cq_table->bank_mutex); in free_cqn()
101 mutex_unlock(&cq_table->bank_mutex); in free_cqn()
106 struct hns_roce_cq_table *cq_table = &hr_dev->cq_table; in alloc_cqc() local
121 ret = hns_roce_table_get(hr_dev, &cq_table->table, hr_cq->cqn); in alloc_cqc()
128 ret = xa_err(xa_store(&cq_table->array, hr_cq->cqn, hr_cq, GFP_KERNEL)); in alloc_cqc()
163 xa_erase(&cq_table->array, hr_cq->cqn); in alloc_cqc()
166 hns_roce_table_put(hr_dev, &cq_table->table, hr_cq->cqn); in alloc_cqc()
174 struct hns_roce_cq_table *cq_table = &hr_dev->cq_table; in free_cqc() local
185 xa_erase(&cq_table->array, hr_cq->cqn); in free_cqc()
195 hns_roce_table_put(hr_dev, &cq_table->table, hr_cq->cqn); in free_cqc()
460 hr_cq = xa_load(&hr_dev->cq_table.array, in hns_roce_cq_completion()
481 hr_cq = xa_load(&hr_dev->cq_table.array, in hns_roce_cq_event()
512 struct hns_roce_cq_table *cq_table = &hr_dev->cq_table; in hns_roce_init_cq_table() local
516 mutex_init(&cq_table->bank_mutex); in hns_roce_init_cq_table()
517 xa_init(&cq_table->array); in hns_roce_init_cq_table()
522 cq_table->bank[get_cq_bankid(i)].inuse++; in hns_roce_init_cq_table()
523 cq_table->bank[get_cq_bankid(i)].min++; in hns_roce_init_cq_table()
527 ida_init(&cq_table->bank[i].ida); in hns_roce_init_cq_table()
528 cq_table->bank[i].max = hr_dev->caps.num_cqs / in hns_roce_init_cq_table()
538 ida_destroy(&hr_dev->cq_table.bank[i].ida); in hns_roce_cleanup_cq_table()