Lines Matching refs:bmap

38 			struct qed_bmap *bmap, u32 max_count, char *name)  in qed_rdma_bmap_alloc()  argument
42 bmap->max_count = max_count; in qed_rdma_bmap_alloc()
44 bmap->bitmap = kcalloc(BITS_TO_LONGS(max_count), sizeof(long), in qed_rdma_bmap_alloc()
46 if (!bmap->bitmap) in qed_rdma_bmap_alloc()
49 snprintf(bmap->name, QED_RDMA_MAX_BMAP_NAME, "%s", name); in qed_rdma_bmap_alloc()
56 struct qed_bmap *bmap, u32 *id_num) in qed_rdma_bmap_alloc_id() argument
58 *id_num = find_first_zero_bit(bmap->bitmap, bmap->max_count); in qed_rdma_bmap_alloc_id()
59 if (*id_num >= bmap->max_count) in qed_rdma_bmap_alloc_id()
62 __set_bit(*id_num, bmap->bitmap); in qed_rdma_bmap_alloc_id()
65 bmap->name, *id_num); in qed_rdma_bmap_alloc_id()
71 struct qed_bmap *bmap, u32 id_num) in qed_bmap_set_id() argument
73 if (id_num >= bmap->max_count) in qed_bmap_set_id()
76 __set_bit(id_num, bmap->bitmap); in qed_bmap_set_id()
80 struct qed_bmap *bmap, u32 id_num) in qed_bmap_release_id() argument
84 if (id_num >= bmap->max_count) in qed_bmap_release_id()
87 b_acquired = test_and_clear_bit(id_num, bmap->bitmap); in qed_bmap_release_id()
90 bmap->name, id_num); in qed_bmap_release_id()
95 bmap->name, id_num); in qed_bmap_release_id()
99 struct qed_bmap *bmap, u32 id_num) in qed_bmap_test_id() argument
101 if (id_num >= bmap->max_count) in qed_bmap_test_id()
104 return test_bit(id_num, bmap->bitmap); in qed_bmap_test_id()
107 static bool qed_bmap_is_empty(struct qed_bmap *bmap) in qed_bmap_is_empty() argument
109 return bmap->max_count == find_first_bit(bmap->bitmap, bmap->max_count); in qed_bmap_is_empty()
319 struct qed_bmap *bmap, bool check) in qed_rdma_bmap_free() argument
321 int weight = bitmap_weight(bmap->bitmap, bmap->max_count); in qed_rdma_bmap_free()
322 int last_line = bmap->max_count / (64 * 8); in qed_rdma_bmap_free()
324 DIV_ROUND_UP(bmap->max_count % (64 * 8), 64); in qed_rdma_bmap_free()
325 u64 *pmap = (u64 *)bmap->bitmap; in qed_rdma_bmap_free()
334 bmap->name, bmap->max_count, weight); in qed_rdma_bmap_free()
351 if ((bmap->max_count % (64 * 8)) && in qed_rdma_bmap_free()
353 bmap->max_count - item * 64))) { in qed_rdma_bmap_free()
362 kfree(bmap->bitmap); in qed_rdma_bmap_free()
363 bmap->bitmap = NULL; in qed_rdma_bmap_free()
1752 struct qed_bmap *bmap; in qed_rdma_destroy_srq() local
1776 bmap = qed_rdma_get_srq_bmap(p_hwfn, in_params->is_xrc); in qed_rdma_destroy_srq()
1780 qed_bmap_release_id(p_hwfn, bmap, in_params->srq_id - offset); in qed_rdma_destroy_srq()
1801 struct qed_bmap *bmap; in qed_rdma_create_srq() local
1806 bmap = qed_rdma_get_srq_bmap(p_hwfn, in_params->is_xrc); in qed_rdma_create_srq()
1808 rc = qed_rdma_bmap_alloc_id(p_hwfn, bmap, &returned_id); in qed_rdma_create_srq()
1871 qed_bmap_release_id(p_hwfn, bmap, returned_id); in qed_rdma_create_srq()