Lines Matching refs:qp_table

230 	struct hns_roce_qp_table *qp_table = &hr_dev->qp_table;  in alloc_qpn()  local
238 mutex_lock(&qp_table->bank_mutex); in alloc_qpn()
239 bankid = get_least_load_bankid_for_qp(init_attr, qp_table->bank); in alloc_qpn()
241 ret = alloc_qpn_with_bankid(&qp_table->bank[bankid], bankid, in alloc_qpn()
246 mutex_unlock(&qp_table->bank_mutex); in alloc_qpn()
250 qp_table->bank[bankid].inuse++; in alloc_qpn()
251 mutex_unlock(&qp_table->bank_mutex); in alloc_qpn()
305 struct hns_roce_qp_table *qp_table = &hr_dev->qp_table; in alloc_qpc() local
313 ret = hns_roce_table_get(hr_dev, &qp_table->qp_table, hr_qp->qpn); in alloc_qpc()
320 ret = hns_roce_table_get(hr_dev, &qp_table->irrl_table, hr_qp->qpn); in alloc_qpc()
328 ret = hns_roce_table_get(hr_dev, &qp_table->trrl_table, in alloc_qpc()
338 ret = hns_roce_table_get(hr_dev, &qp_table->sccc_table, in alloc_qpc()
350 hns_roce_table_put(hr_dev, &qp_table->trrl_table, hr_qp->qpn); in alloc_qpc()
353 hns_roce_table_put(hr_dev, &qp_table->irrl_table, hr_qp->qpn); in alloc_qpc()
356 hns_roce_table_put(hr_dev, &qp_table->qp_table, hr_qp->qpn); in alloc_qpc()
388 struct hns_roce_qp_table *qp_table = &hr_dev->qp_table; in free_qpc() local
391 hns_roce_table_put(hr_dev, &qp_table->trrl_table, hr_qp->qpn); in free_qpc()
392 hns_roce_table_put(hr_dev, &qp_table->irrl_table, hr_qp->qpn); in free_qpc()
413 ida_free(&hr_dev->qp_table.bank[bankid].ida, hr_qp->qpn >> 3); in free_qpn()
415 mutex_lock(&hr_dev->qp_table.bank_mutex); in free_qpn()
416 hr_dev->qp_table.bank[bankid].inuse--; in free_qpn()
417 mutex_unlock(&hr_dev->qp_table.bank_mutex); in free_qpn()
1462 struct hns_roce_qp_table *qp_table = &hr_dev->qp_table; in hns_roce_init_qp_table() local
1466 qp_table->idx_table.spare_idx = kcalloc(hr_dev->caps.num_qps, in hns_roce_init_qp_table()
1468 if (!qp_table->idx_table.spare_idx) in hns_roce_init_qp_table()
1471 mutex_init(&qp_table->scc_mutex); in hns_roce_init_qp_table()
1472 mutex_init(&qp_table->bank_mutex); in hns_roce_init_qp_table()
1478 hr_dev->qp_table.bank[get_qp_bankid(i)].inuse++; in hns_roce_init_qp_table()
1479 hr_dev->qp_table.bank[get_qp_bankid(i)].min++; in hns_roce_init_qp_table()
1483 ida_init(&hr_dev->qp_table.bank[i].ida); in hns_roce_init_qp_table()
1484 hr_dev->qp_table.bank[i].max = hr_dev->caps.num_qps / in hns_roce_init_qp_table()
1486 hr_dev->qp_table.bank[i].next = hr_dev->qp_table.bank[i].min; in hns_roce_init_qp_table()
1497 ida_destroy(&hr_dev->qp_table.bank[i].ida); in hns_roce_cleanup_qp_table()
1498 kfree(hr_dev->qp_table.idx_table.spare_idx); in hns_roce_cleanup_qp_table()