Home
last modified time | relevance | path

Searched full:timeline (Results 1 – 25 of 100) sorted by relevance

1234

/Linux-v6.6/drivers/gpu/drm/i915/gt/
Dintel_timeline.c58 intel_timeline_pin_map(struct intel_timeline *timeline) in intel_timeline_pin_map() argument
60 struct drm_i915_gem_object *obj = timeline->hwsp_ggtt->obj; in intel_timeline_pin_map()
61 u32 ofs = offset_in_page(timeline->hwsp_offset); in intel_timeline_pin_map()
68 timeline->hwsp_map = vaddr; in intel_timeline_pin_map()
69 timeline->hwsp_seqno = memset(vaddr + ofs, 0, TIMELINE_SEQNO_BYTES); in intel_timeline_pin_map()
75 static int intel_timeline_init(struct intel_timeline *timeline, in intel_timeline_init() argument
80 kref_init(&timeline->kref); in intel_timeline_init()
81 atomic_set(&timeline->pin_count, 0); in intel_timeline_init()
83 timeline->gt = gt; in intel_timeline_init()
86 timeline->hwsp_offset = offset; in intel_timeline_init()
[all …]
Dintel_context.c173 err = intel_timeline_pin(ce->timeline, ww); in intel_context_pre_pin()
188 intel_timeline_unpin(ce->timeline); in intel_context_pre_pin()
199 intel_timeline_unpin(ce->timeline); in intel_context_post_unpin()
217 * We always pin the context/ring/timeline here, to ensure a pin in __intel_context_do_pin_ww()
222 err = i915_gem_object_lock(ce->timeline->hwsp_ggtt->obj, ww); in __intel_context_do_pin_ww()
291 i915_gem_ww_unlock_single(ce->timeline->hwsp_ggtt->obj); in __intel_context_do_pin_ww()
357 __intel_timeline_pin(ce->timeline); in __intel_context_active()
426 if (ce->timeline) in intel_context_fini()
427 intel_timeline_put(ce->timeline); in intel_context_fini()
457 intel_timeline_enter(ce->timeline); in intel_context_enter_engine()
[all …]
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()
129 * engine->wakeref.counter or our timeline->active_count. in __queue_and_release_pm()
144 /* Let new submissions commence (and maybe retire this timeline) */ in __queue_and_release_pm()
174 GEM_BUG_ON(ce->timeline->hwsp_ggtt != engine->status_page.vma); in switch_to_kernel_context()
181 * Note, we do this without taking the timeline->mutex. We cannot in switch_to_kernel_context()
183 * already underneath the timeline->mutex. Instead we rely on the in switch_to_kernel_context()
187 * the context, as they assume protection by the timeline->mutex. in switch_to_kernel_context()
[all …]
Dintel_timeline.h33 intel_timeline_get(struct intel_timeline *timeline) in intel_timeline_get() argument
35 kref_get(&timeline->kref); in intel_timeline_get()
36 return timeline; in intel_timeline_get()
40 static inline void intel_timeline_put(struct intel_timeline *timeline) in intel_timeline_put() argument
42 kref_put(&timeline->kref, __intel_timeline_free); in intel_timeline_put()
/Linux-v6.6/tools/testing/selftests/sync/
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()
38 ASSERT(valid, "Failure allocating timeline\n"); 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()
50 ASSERT(valid, "Failure allocating timeline\n"); in test_alloc_fence()
52 fence = sw_sync_fence_create(timeline, "allocFence", 1); in test_alloc_fence()
[all …]
Dsync_fence.c2 * sync fence tests with one timeline
35 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()
38 ASSERT(valid, "Failure allocating timeline\n"); in test_fence_one_timeline_wait()
40 fence = sw_sync_fence_create(timeline, "allocFence", 5); in test_fence_one_timeline_wait()
48 /* Advance timeline from 0 -> 1 */ in test_fence_one_timeline_wait()
49 ret = sw_sync_timeline_inc(timeline, 1); in test_fence_one_timeline_wait()
50 ASSERT(ret == 0, "Failure advancing timeline\n"); 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()
[all …]
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()
67 ASSERT(ret == 0, "Advancing timeline failed\n"); 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()
82 ASSERT(valid, "Failure allocating timeline\n"); in test_stress_two_threads_shared_timeline()
86 test_data_two_threads.timeline = timeline; in test_stress_two_threads_shared_timeline()
89 * Use a single timeline to synchronize two threads in test_stress_two_threads_shared_timeline()
[all …]
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()
38 ASSERT(valid, "Failure allocating timeline\n"); 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-v6.6/tools/power/pm-graph/
Dbootgraph.811 creates an html representation of the initcall timeline. It graphs
13 timeline is split into two phases: kernel mode & user mode. kernel mode
19 outputs a new timeline.
21 The tool can also augment the timeline with ftrace data on custom target
25 html timeline : <hostname>_boot.html
38 clicking a button in the timeline.
65 which are barely visible in the timeline.
69 Reduce callgraph output in the timeline by limiting it to a list of calls. The
74 Reduce callgraph output in the timeline by skipping over uninteresting
90 Reboot the machine and generate a new timeline automatically. Works in 4 steps.
[all …]
DREADME38 - Custom Timeline Entries
39 - Adding/Editing Timeline Functions
40 - Adding/Editing Dev Timeline Source Functions
142 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).
[all …]
Dsleepgraph.814 This data is transformed into a device timeline and an optional
22 html timeline : <hostname>_<mode>.html
54 clicking buttons in the timeline.
58 will execute the suspend via turbostat and collect data in the timeline log.
83 Trace through the wifi reconnect time and include it in the timeline.
92 Run the timeline over a custom suspend command, e.g. pm-suspend. By default
107 Add usermode process info into the timeline (default: disabled).
110 Add kernel source calls and threads to the timeline (default: disabled).
140 Run the test and capture the trace logs, but skip the timeline generation.
162 Add functions to be graphed in the timeline from a list in a text file
[all …]
/Linux-v6.6/drivers/gpu/drm/i915/gt/selftests/
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-v6.6/tools/power/pm-graph/config/
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 …]
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 …]
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)
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)
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)
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)
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)
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)
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)
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)
/Linux-v6.6/drivers/gpu/drm/i915/
Di915_active.c30 u64 timeline; member
156 /* Make the cached node available for reuse with any timeline */ in __active_retire()
157 ref->cache->timeline = 0; /* needs cmpxchg(u64) */ in __active_retire()
169 /* Finally free the discarded timeline tree */ in __active_retire()
236 GEM_BUG_ON(idx == 0); /* 0 is the unordered timeline, rsvd for cache */ in __active_lookup()
239 * We track the most recently used timeline to skip a rbtree search in __active_lookup()
243 * current timeline. in __active_lookup()
247 u64 cached = READ_ONCE(it->timeline); in __active_lookup()
254 * An unclaimed cache [.timeline=0] can only be claimed once. in __active_lookup()
258 * idx. If, and only if, the timeline is currently zero is it in __active_lookup()
[all …]
/Linux-v6.6/drivers/dma-buf/
Dsync_trace.h13 TP_PROTO(struct sync_timeline *timeline),
15 TP_ARGS(timeline),
18 __string(name, timeline->name)
23 __assign_str(name, timeline->name);
24 __entry->value = timeline->value;
/Linux-v6.6/Documentation/gpu/rfc/
Di915_vm_bind.h51 * struct drm_i915_gem_timeline_fence - An input or output timeline fence.
77 * @value: A point in the timeline.
79 * timeline drm_syncobj is invalid as it turns a drm_syncobj into a
139 * @fence: Timeline fence for bind completion signaling.
141 * Timeline fence is of format struct drm_i915_gem_timeline_fence.
197 * @fence: Timeline fence for unbind completion signaling.
199 * Timeline fence is of format struct drm_i915_gem_timeline_fence.
261 * @timeline_fences: Pointer to an array of timeline fences.
263 * Timeline fences are of format struct drm_i915_gem_timeline_fence.

1234