Lines Matching refs:uctx
206 static u32 get_qpid(struct cxio_rdev *rdev_p, struct cxio_ucontext *uctx) in get_qpid() argument
212 mutex_lock(&uctx->lock); in get_qpid()
213 if (!list_empty(&uctx->qpids)) { in get_qpid()
214 entry = list_entry(uctx->qpids.next, struct cxio_qpid_list, in get_qpid()
228 list_add_tail(&entry->entry, &uctx->qpids); in get_qpid()
232 mutex_unlock(&uctx->lock); in get_qpid()
238 struct cxio_ucontext *uctx) in put_qpid() argument
247 mutex_lock(&uctx->lock); in put_qpid()
248 list_add_tail(&entry->entry, &uctx->qpids); in put_qpid()
249 mutex_unlock(&uctx->lock); in put_qpid()
252 void cxio_release_ucontext(struct cxio_rdev *rdev_p, struct cxio_ucontext *uctx) in cxio_release_ucontext() argument
257 mutex_lock(&uctx->lock); in cxio_release_ucontext()
258 list_for_each_safe(pos, nxt, &uctx->qpids) { in cxio_release_ucontext()
265 mutex_unlock(&uctx->lock); in cxio_release_ucontext()
268 void cxio_init_ucontext(struct cxio_rdev *rdev_p, struct cxio_ucontext *uctx) in cxio_init_ucontext() argument
270 INIT_LIST_HEAD(&uctx->qpids); in cxio_init_ucontext()
271 mutex_init(&uctx->lock); in cxio_init_ucontext()
275 struct t3_wq *wq, struct cxio_ucontext *uctx) in cxio_create_qp() argument
280 wq->qpid = get_qpid(rdev_p, uctx); in cxio_create_qp()
319 put_qpid(rdev_p, wq->qpid, uctx); in cxio_create_qp()
337 struct cxio_ucontext *uctx) in cxio_destroy_qp() argument
346 put_qpid(rdev_p, wq->qpid, uctx); in cxio_destroy_qp()
984 cxio_init_ucontext(rdev_p, &rdev_p->uctx); in cxio_rdev_open()