Lines Matching defs:timeline

58 intel_timeline_pin_map(struct intel_timeline *timeline)
60 struct drm_i915_gem_object *obj = timeline->hwsp_ggtt->obj;
61 u32 ofs = offset_in_page(timeline->hwsp_offset);
68 timeline->hwsp_map = vaddr;
69 timeline->hwsp_seqno = memset(vaddr + ofs, 0, TIMELINE_SEQNO_BYTES);
75 static int intel_timeline_init(struct intel_timeline *timeline,
80 kref_init(&timeline->kref);
81 atomic_set(&timeline->pin_count, 0);
83 timeline->gt = gt;
86 timeline->hwsp_offset = offset;
87 timeline->hwsp_ggtt = i915_vma_get(hwsp);
89 timeline->has_initial_breadcrumb = true;
93 timeline->hwsp_ggtt = hwsp;
96 timeline->hwsp_map = NULL;
97 timeline->hwsp_seqno = (void *)(long)timeline->hwsp_offset;
99 GEM_BUG_ON(timeline->hwsp_offset >= hwsp->size);
101 timeline->fence_context = dma_fence_context_alloc(1);
103 mutex_init(&timeline->mutex);
105 INIT_ACTIVE_FENCE(&timeline->last_request);
106 INIT_LIST_HEAD(&timeline->requests);
108 i915_syncmap_init(&timeline->sync);
109 i915_active_init(&timeline->active, __timeline_active,
125 struct intel_timeline *timeline =
128 if (timeline->hwsp_map)
129 i915_gem_object_unpin_map(timeline->hwsp_ggtt->obj);
131 i915_vma_put(timeline->hwsp_ggtt);
132 i915_active_fini(&timeline->active);
140 i915_syncmap_free(&timeline->sync);
142 kfree(timeline);
150 struct intel_timeline *timeline;
153 timeline = kzalloc(sizeof(*timeline), GFP_KERNEL);
154 if (!timeline)
157 err = intel_timeline_init(timeline, gt, global_hwsp, offset);
159 kfree(timeline);
163 return timeline;
211 GT_TRACE(tl->gt, "timeline:%llx using HWSP offset:%x\n",
239 * Pretend we are serialised by the timeline->mutex.
244 * timeline, it uses the power mutex as a global serialisation
245 * lock to prevent any other request entering its timeline.
252 * pin the timeline in the active_list while the locks are dropped.
292 * Since this timeline is idle, all bariers upon which we were waiting
347 tl = rcu_dereference(from->timeline);
393 struct intel_timeline *timeline =
394 container_of(kref, typeof(*timeline), kref);
396 GEM_BUG_ON(atomic_read(&timeline->pin_count));
397 GEM_BUG_ON(!list_empty(&timeline->requests));
398 GEM_BUG_ON(timeline->retire);
400 call_rcu(&timeline->rcu, intel_timeline_fini);