Lines Matching refs:rdev_p

111 static int cxio_init_qpid_fifo(struct cxio_rdev *rdev_p)  in cxio_init_qpid_fifo()  argument
115 spin_lock_init(&rdev_p->rscp->qpid_fifo_lock); in cxio_init_qpid_fifo()
117 if (kfifo_alloc(&rdev_p->rscp->qpid_fifo, T3_MAX_NUM_QP * sizeof(u32), in cxio_init_qpid_fifo()
122 if (!(i & rdev_p->qpmask)) in cxio_init_qpid_fifo()
123 kfifo_in(&rdev_p->rscp->qpid_fifo, in cxio_init_qpid_fifo()
140 int cxio_hal_init_resource(struct cxio_rdev *rdev_p, in cxio_hal_init_resource() argument
150 rdev_p->rscp = rscp; in cxio_hal_init_resource()
156 err = cxio_init_qpid_fifo(rdev_p); in cxio_hal_init_resource()
257 u32 cxio_hal_pblpool_alloc(struct cxio_rdev *rdev_p, int size) in cxio_hal_pblpool_alloc() argument
259 unsigned long addr = gen_pool_alloc(rdev_p->pbl_pool, size); in cxio_hal_pblpool_alloc()
264 void cxio_hal_pblpool_free(struct cxio_rdev *rdev_p, u32 addr, int size) in cxio_hal_pblpool_free() argument
267 gen_pool_free(rdev_p->pbl_pool, (unsigned long)addr, size); in cxio_hal_pblpool_free()
270 int cxio_hal_pblpool_create(struct cxio_rdev *rdev_p) in cxio_hal_pblpool_create() argument
274 rdev_p->pbl_pool = gen_pool_create(MIN_PBL_SHIFT, -1); in cxio_hal_pblpool_create()
275 if (!rdev_p->pbl_pool) in cxio_hal_pblpool_create()
278 pbl_start = rdev_p->rnic_info.pbl_base; in cxio_hal_pblpool_create()
279 pbl_chunk = rdev_p->rnic_info.pbl_top - pbl_start + 1; in cxio_hal_pblpool_create()
281 while (pbl_start < rdev_p->rnic_info.pbl_top) { in cxio_hal_pblpool_create()
282 pbl_chunk = min(rdev_p->rnic_info.pbl_top - pbl_start + 1, in cxio_hal_pblpool_create()
284 if (gen_pool_add(rdev_p->pbl_pool, pbl_start, pbl_chunk, -1)) { in cxio_hal_pblpool_create()
289 __func__, pbl_start, rdev_p->rnic_info.pbl_top - pbl_start); in cxio_hal_pblpool_create()
303 void cxio_hal_pblpool_destroy(struct cxio_rdev *rdev_p) in cxio_hal_pblpool_destroy() argument
305 gen_pool_destroy(rdev_p->pbl_pool); in cxio_hal_pblpool_destroy()
315 u32 cxio_hal_rqtpool_alloc(struct cxio_rdev *rdev_p, int size) in cxio_hal_rqtpool_alloc() argument
317 unsigned long addr = gen_pool_alloc(rdev_p->rqt_pool, size << 6); in cxio_hal_rqtpool_alloc()
322 void cxio_hal_rqtpool_free(struct cxio_rdev *rdev_p, u32 addr, int size) in cxio_hal_rqtpool_free() argument
325 gen_pool_free(rdev_p->rqt_pool, (unsigned long)addr, size << 6); in cxio_hal_rqtpool_free()
328 int cxio_hal_rqtpool_create(struct cxio_rdev *rdev_p) in cxio_hal_rqtpool_create() argument
331 rdev_p->rqt_pool = gen_pool_create(MIN_RQT_SHIFT, -1); in cxio_hal_rqtpool_create()
332 if (rdev_p->rqt_pool) in cxio_hal_rqtpool_create()
333 for (i = rdev_p->rnic_info.rqt_base; in cxio_hal_rqtpool_create()
334 i <= rdev_p->rnic_info.rqt_top - RQT_CHUNK + 1; in cxio_hal_rqtpool_create()
336 gen_pool_add(rdev_p->rqt_pool, i, RQT_CHUNK, -1); in cxio_hal_rqtpool_create()
337 return rdev_p->rqt_pool ? 0 : -ENOMEM; in cxio_hal_rqtpool_create()
340 void cxio_hal_rqtpool_destroy(struct cxio_rdev *rdev_p) in cxio_hal_rqtpool_destroy() argument
342 gen_pool_destroy(rdev_p->rqt_pool); in cxio_hal_rqtpool_destroy()