Lines Matching defs:chan

131 nouveau_fence_update(struct nouveau_channel *chan, struct nouveau_fence_chan *fctx)
135 u32 seq = fctx->read(chan);
160 struct nouveau_channel *chan;
163 chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
164 if (nouveau_fence_update(chan, fctx))
182 nouveau_fence_context_new(struct nouveau_channel *chan, struct nouveau_fence_chan *fctx)
184 struct nouveau_fence_priv *priv = (void*)chan->drm->fence;
185 struct nouveau_cli *cli = (void *)chan->user.client;
196 fctx->context = chan->drm->runl[chan->runlist].context_base + chan->chid;
198 if (chan == chan->drm->cechan)
200 else if (chan == chan->drm->channel)
212 ret = nvif_event_ctor(&chan->user, "fenceNonStallIntr", (chan->runlist << 16) | chan->chid,
222 struct nouveau_channel *chan = unrcu_pointer(fence->channel);
223 struct nouveau_fence_chan *fctx = chan->fence;
224 struct nouveau_fence_priv *priv = (void*)chan->drm->fence;
248 if (nouveau_fence_update(chan, fctx))
264 struct nouveau_channel *chan;
271 chan = rcu_dereference_protected(fence->channel, lockdep_is_held(&fctx->lock));
272 if (chan && nouveau_fence_update(chan, fctx))
357 nouveau_fence_sync(struct nouveau_bo *nvbo, struct nouveau_channel *chan,
360 struct nouveau_fence_chan *fctx = chan->fence;
385 f = nouveau_local_fence(fence, chan->drm);
392 if (prev && (prev == chan ||
393 fctx->sync(f, prev, chan) == 0))
419 struct nouveau_channel *chan)
423 if (unlikely(!chan->fence))
430 fence->channel = chan;
438 struct nouveau_channel *chan)
442 ret = nouveau_fence_create(pfence, chan);
476 struct nouveau_channel *chan;
480 chan = rcu_dereference(fence->channel);
481 if (chan)
482 ret = (int)(fctx->read(chan) - fence->base.seqno) >= 0;