Home
last modified time | relevance | path

Searched refs:timeline (Results 1 – 25 of 51) sorted by relevance

123

/linux/drivers/gpu/drm/i915/gt/
H A Dintel_timeline.c59 intel_timeline_pin_map(struct intel_timeline *timeline) in intel_timeline_pin_map() argument
61 struct drm_i915_gem_object *obj = timeline->hwsp_ggtt->obj; in intel_timeline_pin_map()
62 u32 ofs = offset_in_page(timeline->hwsp_offset); in intel_timeline_pin_map()
69 timeline->hwsp_map = vaddr; in intel_timeline_pin_map()
70 timeline->hwsp_seqno = memset(vaddr + ofs, 0, TIMELINE_SEQNO_BYTES); in intel_timeline_pin_map()
76 static int intel_timeline_init(struct intel_timeline *timeline, in intel_timeline_init() argument
81 kref_init(&timeline->kref); in intel_timeline_init()
82 atomic_set(&timeline->pin_count, 0); in intel_timeline_init()
84 timeline->gt = gt; in intel_timeline_init()
87 timeline->hwsp_offset = offset; in intel_timeline_init()
[all …]
H A Dintel_context.c189 err = intel_timeline_pin(ce->timeline, ww); in intel_context_pre_pin()
204 intel_timeline_unpin(ce->timeline); in intel_context_pre_pin()
215 intel_timeline_unpin(ce->timeline); in intel_context_post_unpin()
238 err = i915_gem_object_lock(ce->timeline->hwsp_ggtt->obj, ww); in __intel_context_do_pin_ww()
307 i915_gem_ww_unlock_single(ce->timeline->hwsp_ggtt->obj); in __intel_context_do_pin_ww()
373 __intel_timeline_pin(ce->timeline); in __intel_context_active()
442 if (ce->timeline) in intel_context_fini()
443 intel_timeline_put(ce->timeline); in intel_context_fini()
473 intel_timeline_enter(ce->timeline); in intel_context_enter_engine()
478 intel_timeline_exit(ce->timeline); in intel_context_exit_engine()
[all …]
H A Dintel_engine_pm.c84 ce->timeline->seqno, in __engine_unpark()
85 READ_ONCE(*ce->timeline->hwsp_seqno), in __engine_unpark()
87 GEM_BUG_ON(ce->timeline->seqno != in __engine_unpark()
88 READ_ONCE(*ce->timeline->hwsp_seqno)); in __engine_unpark()
175 GEM_BUG_ON(ce->timeline->hwsp_ggtt != engine->status_page.vma); in switch_to_kernel_context()
210 GEM_BUG_ON(atomic_read(&ce->timeline->active_count) < 0); in switch_to_kernel_context()
237 __queue_and_release_pm(rq, ce->timeline, engine); in switch_to_kernel_context()
H A Dmock_engine.c156 mock_timeline_unpin(ce->timeline); in mock_context_destroy()
171 ce->timeline = intel_timeline_create(ce->engine->gt); in mock_context_alloc()
172 if (IS_ERR(ce->timeline)) { in mock_context_alloc()
174 return PTR_ERR(ce->timeline); in mock_context_alloc()
177 err = mock_timeline_pin(ce->timeline); in mock_context_alloc()
179 intel_timeline_put(ce->timeline); in mock_context_alloc()
180 ce->timeline = NULL; in mock_context_alloc()
417 engine->status_page.vma = ce->timeline->hwsp_ggtt; in mock_engine_init()
H A Dintel_context.h25 ce__->timeline->fence_context, \
210 lockdep_assert_held(&ce->timeline->mutex); in intel_context_enter()
220 lockdep_assert(lockdep_is_held(&ce->timeline->mutex) || in intel_context_mark_active()
227 lockdep_assert_held(&ce->timeline->mutex); in intel_context_exit()
249 __acquires(&ce->timeline->mutex) in intel_context_timeline_lock()
251 struct intel_timeline *tl = ce->timeline; in intel_context_timeline_lock()
/linux/tools/testing/selftests/sync/
H A Dsync_alloc.c34 int timeline, valid; in test_alloc_timeline() local
36 timeline = sw_sync_timeline_create(); in test_alloc_timeline()
37 valid = sw_sync_timeline_is_valid(timeline); in test_alloc_timeline()
40 sw_sync_timeline_destroy(timeline); in test_alloc_timeline()
46 int timeline, fence, valid; in test_alloc_fence() local
48 timeline = sw_sync_timeline_create(); in test_alloc_fence()
49 valid = sw_sync_timeline_is_valid(timeline); in test_alloc_fence()
52 fence = sw_sync_fence_create(timeline, "allocFence", 1); in test_alloc_fence()
57 sw_sync_timeline_destroy(timeline); in test_alloc_fence()
63 int fence, timeline; in test_alloc_fence_negative() local
[all …]
H A Dsync_fence.c35 int timeline = sw_sync_timeline_create(); in test_fence_one_timeline_wait() local
37 valid = sw_sync_timeline_is_valid(timeline); in test_fence_one_timeline_wait()
40 fence = sw_sync_fence_create(timeline, "allocFence", 5); in test_fence_one_timeline_wait()
49 ret = sw_sync_timeline_inc(timeline, 1); in test_fence_one_timeline_wait()
57 ret = sw_sync_timeline_inc(timeline, 4); in test_fence_one_timeline_wait()
65 ret = sw_sync_timeline_inc(timeline, 10); in test_fence_one_timeline_wait()
71 sw_sync_timeline_destroy(timeline); in test_fence_one_timeline_wait()
79 int timeline = sw_sync_timeline_create(); in test_fence_one_timeline_merge() local
82 a = sw_sync_fence_create(timeline, "allocFence", 1); in test_fence_one_timeline_merge()
83 b = sw_sync_fence_create(timeline, "allocFence", 2); in test_fence_one_timeline_merge()
[all …]
H A Dsync_stress_parallelism.c36 int timeline; member
43 int timeline = test_data_two_threads.timeline; in test_stress_two_threads_shared_timeline_thread() local
48 fence = sw_sync_fence_create(timeline, "fence", in test_stress_two_threads_shared_timeline_thread()
66 ret = sw_sync_timeline_inc(timeline, 1); in test_stress_two_threads_shared_timeline_thread()
79 int timeline = sw_sync_timeline_create(); in test_stress_two_threads_shared_timeline() local
81 valid = sw_sync_timeline_is_valid(timeline); in test_stress_two_threads_shared_timeline()
86 test_data_two_threads.timeline = timeline; in test_stress_two_threads_shared_timeline()
108 sw_sync_timeline_destroy(timeline); in test_stress_two_threads_shared_timeline()
H A Dsync_merge.c35 int timeline = sw_sync_timeline_create(); in test_fence_merge_same_fence() local
37 valid = sw_sync_timeline_is_valid(timeline); in test_fence_merge_same_fence()
40 fence = sw_sync_fence_create(timeline, "allocFence", 5); in test_fence_merge_same_fence()
51 sw_sync_timeline_inc(timeline, 5); in test_fence_merge_same_fence()
57 sw_sync_timeline_destroy(timeline); in test_fence_merge_same_fence()
/linux/drivers/gpu/drm/i915/gt/selftests/
H A Dmock_timeline.c11 void mock_timeline_init(struct intel_timeline *timeline, u64 context) in mock_timeline_init() argument
13 timeline->gt = NULL; in mock_timeline_init()
14 timeline->fence_context = context; in mock_timeline_init()
16 mutex_init(&timeline->mutex); in mock_timeline_init()
18 INIT_ACTIVE_FENCE(&timeline->last_request); in mock_timeline_init()
19 INIT_LIST_HEAD(&timeline->requests); in mock_timeline_init()
21 i915_syncmap_init(&timeline->sync); in mock_timeline_init()
23 INIT_LIST_HEAD(&timeline->link); in mock_timeline_init()
26 void mock_timeline_fini(struct intel_timeline *timeline) in mock_timeline_fini() argument
28 i915_syncmap_free(&timeline->sync); in mock_timeline_fini()
/linux/tools/power/pm-graph/config/
H A Dcustom-timeline-functions.cfg29 # graph source functions in the timeline (default: false)
33 # gather detailed ftrace callgraph data on all timeline events (default: false)
45 # graph only devices longer than min in the timeline (default: 0.001 ms)
53 # insert a small visible gap between suspend and resume on the timeline (default: false)
60 # Override default timeline entries
61 # Do not use the internal default functions for timeline entries (default: false)
63 override-timeline-functions: true
65 # Override default dev timeline entries
66 # Do not use the internal default functions for dev timeline entries (default: false)
68 override-dev-timeline-functions: true
[all …]
H A Dexample.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
41 # Only capture the logs, don't generate the html timeline (default: false)
70 # graph user processes and cpu usage in the timeline (default: false)
74 # graph source functions in the timeline (default: false)
82 # Run two suspend/resumes back to back and display in the same timeline (default: false)
98 # graph only devices longer than min in the timeline (default: 0.001 ms)
109 # Override default timeline entries:
110 # Do not use the internal default functions for timeline entries (def: false)
112 override-timeline-functions: true
114 # Override default dev timeline entries:
[all …]
H A Dfreeze.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dstandby.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dstandby-callgraph.cfg38 # insert a small visible gap between suspend and resume on the timeline (default: false)
47 # graph user processes and cpu usage in the timeline (default: false)
51 # graph source functions in the timeline (default: false)
71 # graph only devices longer than min in the timeline (default: 0.001 ms)
77 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dfreeze-dev.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dfreeze-callgraph.cfg38 # insert a small visible gap between suspend and resume on the timeline (default: false)
47 # graph user processes and cpu usage in the timeline (default: false)
51 # graph source functions in the timeline (default: false)
71 # graph only devices longer than min in the timeline (default: 0.001 ms)
77 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dsuspend.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dsuspend-callgraph.cfg38 # insert a small visible gap between suspend and resume on the timeline (default: false)
47 # graph user processes and cpu usage in the timeline (default: false)
51 # graph source functions in the timeline (default: false)
71 # graph only devices longer than min in the timeline (default: 0.001 ms)
77 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dstandby-dev.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dsuspend-x2-proc.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
H A Dsuspend-dev.cfg37 # insert a small visible gap between suspend and resume on the timeline (default: false)
46 # graph user processes and cpu usage in the timeline (default: false)
50 # graph source functions in the timeline (default: false)
70 # graph only devices longer than min in the timeline (default: 0.001 ms)
76 # gather detailed ftrace callgraph data on all timeline events (default: false)
/linux/tools/power/pm-graph/
H A DREADME142 be used to regenerate the html timeline with different options
154 Developer mode adds information on low level source calls to the timeline.
157 subsystem dependent calls to better fill out the timeline.
160 timeline. This is useful in discovering dependent threads to get a better
165 The timeline will be much larger if run with dev mode, so it can be useful
179 Proc mode adds user process info to the timeline. This is done in a manner
240 Add kernel source calls and threads to the timeline (default: disabled).
252 Run the test and capture the trace logs, but skip the timeline and summary
279 or you can skip timeline generation in order to speed things up
284 Each test subfolder contains the dmesg/ftrace logs and/or the html timeline
[all …]
/linux/drivers/gpu/drm/i915/
H A Di915_active.c30 u64 timeline; member
157 ref->cache->timeline = 0; /* needs cmpxchg(u64) */ in __active_retire()
247 u64 cached = READ_ONCE(it->timeline); in __active_lookup()
262 if (!cached && try_cmpxchg64(&it->timeline, &cached, idx)) in __active_lookup()
273 if (it->timeline < idx) { in __active_lookup()
275 } else if (it->timeline > idx) { in __active_lookup()
306 if (node->timeline == idx) in active_instance()
309 if (node->timeline < idx) in active_instance()
325 node->timeline = idx; in active_instance()
372 GEM_BUG_ON(node->timeline != engine->kernel_context->timeline->fence_context); in ____active_del_barrier()
[all …]
/linux/drivers/dma-buf/
H A Dsync_file.c138 const char __rcu *timeline; in sync_file_get_name() local
143 timeline = dma_fence_timeline_name(fence); in sync_file_get_name()
146 rcu_dereference(timeline), in sync_file_get_name()
271 const char __rcu *timeline; in sync_fill_fence_info() local
277 timeline = dma_fence_timeline_name(fence); in sync_fill_fence_info()
279 strscpy(info->obj_name, rcu_dereference(timeline), in sync_fill_fence_info()

123