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 *)chan->user.client; 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->user, nouveau_fence_wait_uevent_handler, in nouveau_fence_context_new()
258 nouveau_fence_emit(struct nouveau_fence *fence, struct nouveau_channel *chan) in nouveau_fence_emit() argument
260 struct nouveau_fence_chan *fctx = chan->fence; in nouveau_fence_emit()
261 struct nouveau_fence_priv *priv = (void*)chan->drm->fence; in nouveau_fence_emit()
264 fence->channel = chan; in nouveau_fence_emit()
281 if (nouveau_fence_update(chan, fctx)) in nouveau_fence_emit()
297 struct nouveau_channel *chan; in nouveau_fence_done() local
304 chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock)); in nouveau_fence_done()
305 if (chan && nouveau_fence_update(chan, fctx)) in nouveau_fence_done()
390 nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan, bool exclusive, bool intr) in nouveau_fence_sync() argument
392 struct nouveau_fence_chan *fctx = chan->fence; in nouveau_fence_sync()
413 f = nouveau_local_fence(fence, chan->drm); in nouveau_fence_sync()
417 if (prev && (prev == chan || fctx->sync(f, prev, chan) == 0)) in nouveau_fence_sync()
438 f = nouveau_local_fence(fence, chan->drm); in nouveau_fence_sync()
442 if (prev && (prev == chan || fctx->sync(f, prev, chan) == 0)) in nouveau_fence_sync()
463 nouveau_fence_new(struct nouveau_channel *chan, bool sysmem, in nouveau_fence_new() argument
469 if (unlikely(!chan->fence)) in nouveau_fence_new()
478 ret = nouveau_fence_emit(fence, chan); in nouveau_fence_new()
509 struct nouveau_channel *chan; in nouveau_fence_is_signaled() local
513 chan = rcu_dereference(fence->channel); in nouveau_fence_is_signaled()
514 if (chan) in nouveau_fence_is_signaled()
515 ret = (int)(fctx->read(chan) - fence->base.seqno) >= 0; in nouveau_fence_is_signaled()