| /linux/drivers/gpu/drm/i915/gt/ |
| H A D | intel_timeline.c | 59 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 D | intel_context.c | 189 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 D | intel_engine_pm.c | 84 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 D | mock_engine.c | 156 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 D | intel_context.h | 25 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 D | sync_alloc.c | 34 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 D | sync_fence.c | 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() 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 D | sync_stress_parallelism.c | 36 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 D | sync_merge.c | 35 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 D | mock_timeline.c | 11 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 D | custom-timeline-functions.cfg | 29 # 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 D | example.cfg | 37 # 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 D | freeze.cfg | 37 # 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 D | standby.cfg | 37 # 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 D | standby-callgraph.cfg | 38 # 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 D | freeze-dev.cfg | 37 # 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 D | freeze-callgraph.cfg | 38 # 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 D | suspend.cfg | 37 # 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 D | suspend-callgraph.cfg | 38 # 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 D | standby-dev.cfg | 37 # 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 D | suspend-x2-proc.cfg | 37 # 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 D | suspend-dev.cfg | 37 # 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 D | README | 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). 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 D | i915_active.c | 30 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 D | sync_file.c | 138 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()
|