Lines Matching refs:chan

127 nouveau_fence_update(struct nouveau_channel *chan, struct nouveau_fence_chan *fctx)  in nouveau_fence_update()  argument
131 u32 seq = fctx->read(chan); in nouveau_fence_update()
156 struct nouveau_channel *chan; in nouveau_fence_wait_uevent_handler() local
159 chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock)); in nouveau_fence_wait_uevent_handler()
169 nouveau_fence_context_new(struct nouveau_channel *chan, struct nouveau_fence_chan *fctx) in nouveau_fence_context_new() argument
171 struct nouveau_fence_priv *priv = (void*)chan->drm->fence; in nouveau_fence_context_new()
172 struct nouveau_cli *cli = (void *)nvif_client(chan->object); in nouveau_fence_context_new()
178 fctx->context = priv->context_base + chan->chid; in nouveau_fence_context_new()
180 if (chan == chan->drm->cechan) in nouveau_fence_context_new()
182 else if (chan == chan->drm->channel) in nouveau_fence_context_new()
191 ret = nvif_notify_init(chan->object, NULL, in nouveau_fence_context_new()
259 nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan) in nouveau_fence_emit() argument
261 struct nouveau_fence_chan *fctx = chan->fence; in nouveau_fence_emit()
262 struct nouveau_fence_priv *priv = (void*)chan->drm->fence; in nouveau_fence_emit()
265 fence->channel = chan; in nouveau_fence_emit()
282 if (nouveau_fence_update(chan, fctx)) in nouveau_fence_emit()
298 struct nouveau_channel *chan; in nouveau_fence_done() local
305 chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock)); in nouveau_fence_done()
306 if (chan && nouveau_fence_update(chan, fctx)) in nouveau_fence_done()
391 nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool exclusive, bool intr) in nouveau_fence_sync() argument
393 struct nouveau_fence_chan *fctx = chan->fence; in nouveau_fence_sync()
414 f = nouveau_local_fence(fence, chan->drm); in nouveau_fence_sync()
418 if (prev && (prev == chan || fctx->sync(f, prev, chan) == 0)) in nouveau_fence_sync()
439 f = nouveau_local_fence(fence, chan->drm); in nouveau_fence_sync()
443 if (prev && (prev == chan || fctx->sync(f, prev, chan) == 0)) in nouveau_fence_sync()
464 nouveau_fence_new(struct nouveau_channel *chan, bool sysmem, in nouveau_fence_new() argument
470 if (unlikely(!chan->fence)) in nouveau_fence_new()
479 ret = nouveau_fence_emit(fence, chan); in nouveau_fence_new()
510 struct nouveau_channel *chan; in nouveau_fence_is_signaled() local
514 chan = rcu_dereference(fence->channel); in nouveau_fence_is_signaled()
515 if (chan) in nouveau_fence_is_signaled()
516 ret = (int)(fctx->read(chan) - fence->base.seqno) >= 0; in nouveau_fence_is_signaled()