Lines Matching refs:cgrp

44 	struct nvkm_cgrp *cgrp = chan->cgrp;  in nvkm_chan_cctx_bind()  local
45 struct nvkm_runl *runl = cgrp->runl; in nvkm_chan_cctx_bind()
56 if (cgrp->hw) in nvkm_chan_cctx_bind()
66 if (cgrp->hw) in nvkm_chan_cctx_bind()
80 if (refcount_dec_and_mutex_lock(&cctx->refs, &chan->cgrp->mutex)) { in nvkm_chan_cctx_put()
82 nvkm_cgrp_vctx_put(chan->cgrp, &cctx->vctx); in nvkm_chan_cctx_put()
85 mutex_unlock(&chan->cgrp->mutex); in nvkm_chan_cctx_put()
96 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_cctx_get() local
102 mutex_lock(&cgrp->mutex); in nvkm_chan_cctx_get()
108 mutex_unlock(&chan->cgrp->mutex); in nvkm_chan_cctx_get()
113 ret = nvkm_cgrp_vctx_get(cgrp, engn, chan, &vctx, client); in nvkm_chan_cctx_get()
122 nvkm_cgrp_vctx_put(cgrp, &vctx); in nvkm_chan_cctx_get()
132 mutex_unlock(&cgrp->mutex); in nvkm_chan_cctx_get()
139 struct nvkm_runl *runl = chan->cgrp->runl; in nvkm_chan_preempt_locked()
157 mutex_lock(&chan->cgrp->runl->mutex); in nvkm_chan_preempt()
159 mutex_unlock(&chan->cgrp->runl->mutex); in nvkm_chan_preempt()
166 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_remove_locked() local
167 struct nvkm_runl *runl = cgrp->runl; in nvkm_chan_remove_locked()
173 if (!--cgrp->chan_nr) { in nvkm_chan_remove_locked()
175 list_del(&cgrp->head); in nvkm_chan_remove_locked()
185 struct nvkm_runl *runl = chan->cgrp->runl; in nvkm_chan_remove()
198 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_insert() local
199 struct nvkm_runl *runl = cgrp->runl; in nvkm_chan_insert()
208 list_add_tail(&chan->head, &cgrp->chans); in nvkm_chan_insert()
210 if (!cgrp->chan_nr++) { in nvkm_chan_insert()
211 list_add_tail(&cgrp->head, &cgrp->runl->cgrps); in nvkm_chan_insert()
238 nvkm_event_ntfy(&chan->cgrp->runl->chid->event, chan->id, NVKM_CHAN_EVENT_ERRORED); in nvkm_chan_error()
280 if (chan->cgrp) { in nvkm_chan_del()
281 nvkm_chid_put(chan->cgrp->runl->chid, chan->id, &chan->cgrp->lock); in nvkm_chan_del()
282 nvkm_cgrp_unref(&chan->cgrp); in nvkm_chan_del()
304 spin_unlock_irqrestore(&chan->cgrp->lock, irqflags); in nvkm_chan_put()
347 struct nvkm_cgrp *cgrp, const char *name, bool priv, u32 devm, struct nvkm_vmm *vmm, in nvkm_chan_new_() argument
392 if (!cgrp) { in nvkm_chan_new_()
393 ret = nvkm_cgrp_new(runl, chan->name, vmm, fifo->func->cgrp.force, &chan->cgrp); in nvkm_chan_new_()
399 cgrp = chan->cgrp; in nvkm_chan_new_()
401 if (cgrp->runl != runl || cgrp->vmm != vmm) { in nvkm_chan_new_()
402 RUNL_DEBUG(runl, "cgrp %d %d", cgrp->runl != runl, cgrp->vmm != vmm); in nvkm_chan_new_()
406 chan->cgrp = nvkm_cgrp_ref(cgrp); in nvkm_chan_new_()
447 if (cgrp->id < 0) in nvkm_chan_new_()
448 cgrp->id = chan->id; in nvkm_chan_new_()