Lines Matching refs:tl
319 struct intel_timeline * const tl = rq->timeline; in i915_request_retire_upto() local
327 lockdep_assert_held(&tl->mutex); in i915_request_retire_upto()
331 tmp = list_first_entry(&tl->requests, typeof(*tmp), link); in i915_request_retire_upto()
582 static void retire_requests(struct intel_timeline *tl) in retire_requests() argument
586 list_for_each_entry_safe(rq, rn, &tl->requests, link) in retire_requests()
592 request_alloc_slow(struct intel_timeline *tl, gfp_t gfp) in request_alloc_slow() argument
596 if (list_empty(&tl->requests)) in request_alloc_slow()
603 rq = list_first_entry(&tl->requests, typeof(*rq), link); in request_alloc_slow()
612 rq = list_last_entry(&tl->requests, typeof(*rq), link); in request_alloc_slow()
616 retire_requests(tl); in request_alloc_slow()
625 struct intel_timeline *tl = ce->timeline; in __i915_request_create() local
667 rq = request_alloc_slow(tl, gfp); in __i915_request_create()
674 ret = intel_timeline_get_seqno(tl, rq, &seqno); in __i915_request_create()
683 rq->timeline = tl; in __i915_request_create()
684 rq->hwsp_seqno = tl->hwsp_seqno; in __i915_request_create()
685 rq->hwsp_cacheline = tl->hwsp_cacheline; in __i915_request_create()
690 tl->fence_context, seqno); in __i915_request_create()
759 struct intel_timeline *tl; in i915_request_create() local
761 tl = intel_context_timeline_lock(ce); in i915_request_create()
762 if (IS_ERR(tl)) in i915_request_create()
763 return ERR_CAST(tl); in i915_request_create()
766 rq = list_first_entry(&tl->requests, typeof(*rq), link); in i915_request_create()
767 if (!list_is_last(&rq->link, &tl->requests)) in i915_request_create()
777 rq->cookie = lockdep_pin_lock(&tl->mutex); in i915_request_create()
782 intel_context_timeline_unlock(tl); in i915_request_create()
1227 struct intel_timeline * const tl = rq->timeline; in i915_request_add() local
1230 lockdep_assert_held(&tl->mutex); in i915_request_add()
1231 lockdep_unpin_lock(&tl->mutex, rq->cookie); in i915_request_add()
1282 if (prev && i915_request_completed(prev) && prev->timeline == tl) in i915_request_add()
1285 mutex_unlock(&tl->mutex); in i915_request_add()
1506 struct intel_timeline *tl, *tn; in i915_retire_requests() local
1511 list_for_each_entry_safe(tl, tn, &timelines->active_list, link) { in i915_retire_requests()
1512 if (!mutex_trylock(&tl->mutex)) in i915_retire_requests()
1515 intel_timeline_get(tl); in i915_retire_requests()
1516 GEM_BUG_ON(!tl->active_count); in i915_retire_requests()
1517 tl->active_count++; /* pin the list element */ in i915_retire_requests()
1520 retire_requests(tl); in i915_retire_requests()
1525 list_safe_reset_next(tl, tn, link); in i915_retire_requests()
1526 if (!--tl->active_count) in i915_retire_requests()
1527 list_del(&tl->link); in i915_retire_requests()
1529 mutex_unlock(&tl->mutex); in i915_retire_requests()
1532 if (refcount_dec_and_test(&tl->kref.refcount)) { in i915_retire_requests()
1533 GEM_BUG_ON(tl->active_count); in i915_retire_requests()
1534 list_add(&tl->link, &free); in i915_retire_requests()
1539 list_for_each_entry_safe(tl, tn, &free, link) in i915_retire_requests()
1540 __intel_timeline_free(&tl->kref); in i915_retire_requests()