/openbmc/linux/drivers/gpu/drm/i915/gt/ |
H A D | intel_timeline.c | 58 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 …]
|
H A D | intel_context.c | 173 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() 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() 462 intel_timeline_exit(ce->timeline); in intel_context_exit_engine() [all …]
|
H A D | intel_timeline.h | 33 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()
|
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() 174 GEM_BUG_ON(ce->timeline->hwsp_ggtt != engine->status_page.vma); in switch_to_kernel_context() 209 GEM_BUG_ON(atomic_read(&ce->timeline->active_count) < 0); in switch_to_kernel_context() 236 __queue_and_release_pm(rq, ce->timeline, engine); in switch_to_kernel_context()
|
H A D | intel_engine_heartbeat.c | 212 if (!mutex_trylock(&ce->timeline->mutex)) { in heartbeat() 229 mutex_unlock(&ce->timeline->mutex); in heartbeat() 280 lockdep_assert_held(&ce->timeline->mutex); in __intel_engine_pulse() 332 err = mutex_lock_interruptible(&ce->timeline->mutex); in intel_engine_set_heartbeat() 347 mutex_unlock(&ce->timeline->mutex); in intel_engine_set_heartbeat() 366 if (!mutex_lock_interruptible(&ce->timeline->mutex)) { in intel_engine_pulse() 368 mutex_unlock(&ce->timeline->mutex); in intel_engine_pulse() 389 if (mutex_lock_interruptible(&ce->timeline->mutex)) { in intel_engine_flush_barriers() 404 mutex_unlock(&ce->timeline->mutex); in intel_engine_flush_barriers()
|
/openbmc/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()
|
/openbmc/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()
|
/openbmc/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 | 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 | 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 | 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-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 | 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-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-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 | 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)
|
/openbmc/linux/drivers/dma-buf/ |
H A D | sync_trace.h | 13 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;
|
/openbmc/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 …]
|
/openbmc/linux/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_throttle.c | 66 if (!ce->timeline) in i915_gem_throttle_ioctl() 69 mutex_lock(&ce->timeline->mutex); in i915_gem_throttle_ioctl() 71 &ce->timeline->requests, in i915_gem_throttle_ioctl() 83 mutex_unlock(&ce->timeline->mutex); in i915_gem_throttle_ioctl()
|
/openbmc/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() 263 if (!cached && !cmpxchg64(&it->timeline, 0, idx)) in __active_lookup() 274 if (it->timeline < idx) { in __active_lookup() 276 } else if (it->timeline > idx) { in __active_lookup() 307 if (node->timeline == idx) in active_instance() 310 if (node->timeline < idx) in active_instance() 326 node->timeline = idx; in active_instance() 373 GEM_BUG_ON(node->timeline != engine->kernel_context->timeline->fence_context); in ____active_del_barrier() [all …]
|