Lines Matching defs:uctx
226 get_qpid(struct cxio_rdev *rdev_p, struct cxio_ucontext *uctx)
232 mtx_lock(&uctx->lock);
233 if (!TAILQ_EMPTY(&uctx->qpids)) {
235 entry = TAILQ_FIRST(&uctx->qpids);
236 TAILQ_REMOVE(&uctx->qpids, entry, entry);
248 TAILQ_INSERT_TAIL(&uctx->qpids, entry, entry);
252 mtx_unlock(&uctx->lock);
259 struct cxio_ucontext *uctx)
266 mtx_lock(&uctx->lock);
267 TAILQ_INSERT_TAIL(&uctx->qpids, entry, entry);
268 mtx_unlock(&uctx->lock);
272 cxio_release_ucontext(struct cxio_rdev *rdev_p, struct cxio_ucontext *uctx)
276 mtx_lock(&uctx->lock);
277 TAILQ_FOREACH_SAFE(pos, &uctx->qpids, entry, tmp) {
278 TAILQ_REMOVE(&uctx->qpids, pos, entry);
283 mtx_unlock(&uctx->lock);
287 cxio_init_ucontext(struct cxio_rdev *rdev_p, struct cxio_ucontext *uctx)
289 TAILQ_INIT(&uctx->qpids);
290 mtx_init(&uctx->lock, "cxio uctx", NULL, MTX_DEF|MTX_DUPOK);
295 struct t3_wq *wq, struct cxio_ucontext *uctx)
300 wq->qpid = get_qpid(rdev_p, uctx);
338 put_qpid(rdev_p, wq->qpid, uctx);
363 struct cxio_ucontext *uctx)
378 put_qpid(rdev_p, wq->qpid, uctx);
989 cxio_init_ucontext(rdev_p, &rdev_p->uctx);