Lines Matching refs:ce
81 struct intel_context *ce) in add_signaling_context() argument
83 lockdep_assert_held(&ce->signal_lock); in add_signaling_context()
86 list_add_rcu(&ce->signal_link, &b->signalers); in add_signaling_context()
91 struct intel_context *ce) in remove_signaling_context() argument
93 lockdep_assert_held(&ce->signal_lock); in remove_signaling_context()
95 if (!list_empty(&ce->signals)) in remove_signaling_context()
99 list_del_rcu(&ce->signal_link); in remove_signaling_context()
106 check_signal_order(struct intel_context *ce, struct i915_request *rq) in check_signal_order() argument
108 if (rq->context != ce) in check_signal_order()
111 if (!list_is_last(&rq->signal_link, &ce->signals) && in check_signal_order()
116 if (!list_is_first(&rq->signal_link, &ce->signals) && in check_signal_order()
170 struct intel_context *ce; in signal_irq_work() local
206 list_for_each_entry_rcu(ce, &b->signalers, signal_link) { in signal_irq_work()
209 list_for_each_entry_rcu(rq, &ce->signals, signal_link) { in signal_irq_work()
224 spin_lock(&ce->signal_lock); in signal_irq_work()
226 release = remove_signaling_context(b, ce); in signal_irq_work()
227 spin_unlock(&ce->signal_lock); in signal_irq_work()
229 if (intel_timeline_is_last(ce->timeline, rq)) in signal_irq_work()
230 add_retire(b, ce->timeline); in signal_irq_work()
231 intel_context_put(ce); in signal_irq_work()
347 struct intel_context *ce = rq->context; in insert_breadcrumb() local
363 if (list_empty(&ce->signals)) { in insert_breadcrumb()
364 intel_context_get(ce); in insert_breadcrumb()
365 add_signaling_context(b, ce); in insert_breadcrumb()
366 pos = &ce->signals; in insert_breadcrumb()
382 list_for_each_prev(pos, &ce->signals) { in insert_breadcrumb()
393 GEM_BUG_ON(!check_signal_order(ce, rq)); in insert_breadcrumb()
408 struct intel_context *ce = rq->context; in i915_request_enable_breadcrumb() local
423 spin_lock(&ce->signal_lock); in i915_request_enable_breadcrumb()
426 spin_unlock(&ce->signal_lock); in i915_request_enable_breadcrumb()
434 struct intel_context *ce = rq->context; in i915_request_cancel_breadcrumb() local
437 spin_lock(&ce->signal_lock); in i915_request_cancel_breadcrumb()
439 spin_unlock(&ce->signal_lock); in i915_request_cancel_breadcrumb()
444 release = remove_signaling_context(b, ce); in i915_request_cancel_breadcrumb()
445 spin_unlock(&ce->signal_lock); in i915_request_cancel_breadcrumb()
447 intel_context_put(ce); in i915_request_cancel_breadcrumb()
455 void intel_context_remove_breadcrumbs(struct intel_context *ce, in intel_context_remove_breadcrumbs() argument
462 spin_lock_irqsave(&ce->signal_lock, flags); in intel_context_remove_breadcrumbs()
464 if (list_empty(&ce->signals)) in intel_context_remove_breadcrumbs()
467 list_for_each_entry_safe(rq, rn, &ce->signals, signal_link) { in intel_context_remove_breadcrumbs()
477 release = remove_signaling_context(b, ce); in intel_context_remove_breadcrumbs()
480 spin_unlock_irqrestore(&ce->signal_lock, flags); in intel_context_remove_breadcrumbs()
482 intel_context_put(ce); in intel_context_remove_breadcrumbs()
490 struct intel_context *ce; in print_signals() local
496 list_for_each_entry_rcu(ce, &b->signalers, signal_link) { in print_signals()
497 list_for_each_entry_rcu(rq, &ce->signals, signal_link) in print_signals()