| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/tl/ |
| H A D | mali_kbase_timeline.c | 64 struct kbase_timeline *timeline = in kbasep_timeline_autoflush_timer_callback() local 71 struct kbase_tlstream *stream = &timeline->streams[stype]; in kbasep_timeline_autoflush_timer_callback() 92 if (atomic_read(&timeline->autoflush_timer_active)) in kbasep_timeline_autoflush_timer_callback() 94 &timeline->autoflush_timer, in kbasep_timeline_autoflush_timer_callback() 103 int kbase_timeline_init(struct kbase_timeline **timeline, in kbase_timeline_init() argument 112 if (!timeline || !timeline_flags) in kbase_timeline_init() 142 *timeline = result; in kbase_timeline_init() 146 void kbase_timeline_term(struct kbase_timeline *timeline) in kbase_timeline_term() argument 150 if (!timeline) in kbase_timeline_term() 154 kbase_csf_tl_reader_term(&timeline->csf_tl_reader); in kbase_timeline_term() [all …]
|
| H A D | mali_kbase_timeline_io.c | 112 kbasep_timeline_io_packet_pending(struct kbase_timeline *timeline, in kbasep_timeline_io_packet_pending() argument 122 struct kbase_tlstream *stream = &timeline->streams[i]; in kbasep_timeline_io_packet_pending() 146 static int kbasep_timeline_has_header_data(struct kbase_timeline *timeline) in kbasep_timeline_has_header_data() argument 148 return timeline->obj_header_btc || timeline->aux_header_btc in kbasep_timeline_has_header_data() 150 || timeline->csf_tl_reader.tl_header.btc in kbasep_timeline_has_header_data() 205 static inline int kbasep_timeline_copy_headers(struct kbase_timeline *timeline, in kbasep_timeline_copy_headers() argument 210 obj_desc_header_size, &timeline->obj_header_btc)) in kbasep_timeline_copy_headers() 214 aux_desc_header_size, &timeline->aux_header_btc)) in kbasep_timeline_copy_headers() 218 timeline->csf_tl_reader.tl_header.data, in kbasep_timeline_copy_headers() 219 timeline->csf_tl_reader.tl_header.size, in kbasep_timeline_copy_headers() [all …]
|
| H A D | mali_kbase_timeline.h | 40 int kbase_timeline_init(struct kbase_timeline **timeline, 49 void kbase_timeline_term(struct kbase_timeline *timeline); 75 int kbase_timeline_streams_flush(struct kbase_timeline *timeline); 83 void kbase_timeline_streams_body_reset(struct kbase_timeline *timeline); 117 void kbase_timeline_stats(struct kbase_timeline *timeline, u32 *bytes_collected, u32 *bytes_generat…
|
| /OK3568_Linux_fs/buildroot/docs/website/css/ |
| H A D | timeline.css | 1 .timeline { 7 .timeline:before { 18 .timeline > li { 23 .timeline > li:before, 24 .timeline > li:after { 29 .timeline > li:after { 33 .timeline > li:before, 34 .timeline > li:after { 39 .timeline > li:after { 43 .timeline > li > .timeline-panel { [all …]
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/mali400/mali/common/ |
| H A D | mali_timeline.c | 111 struct mali_timeline *timeline; in mali_timeline_timer_callback() local 115 timeline = (struct mali_timeline *) data; in mali_timeline_timer_callback() 116 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_timer_callback() 118 system = timeline->system; in mali_timeline_timer_callback() 128 tracker = timeline->tracker_tail; in mali_timeline_timer_callback() 129 timeline->timer_active = MALI_FALSE; in mali_timeline_timer_callback() 161 struct mali_timeline *timeline = system->timelines[i]; in mali_timeline_system_stop_timer() local 163 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_system_stop_timer() 165 if (NULL != timeline->delayed_work) { in mali_timeline_system_stop_timer() 166 _mali_osk_wq_delayed_cancel_work_sync(timeline->delayed_work); in mali_timeline_system_stop_timer() [all …]
|
| H A D | mali_timeline.h | 214 struct mali_timeline *timeline; /**< Timeline, or NULL if not on a timeline. */ member 278 MALI_STATIC_INLINE mali_bool mali_timeline_is_point_on(struct mali_timeline *timeline, mali_timelin… in mali_timeline_is_point_on() argument 280 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_is_point_on() 283 return (point - timeline->point_oldest) < (timeline->point_next - timeline->point_oldest); in mali_timeline_is_point_on() 294 MALI_STATIC_INLINE mali_bool mali_timeline_is_point_released(struct mali_timeline *timeline, mali_t… in mali_timeline_is_point_released() argument 299 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_is_point_released() 302 point_normalized = point - timeline->point_oldest; in mali_timeline_is_point_released() 303 next_normalized = timeline->point_next - timeline->point_oldest; in mali_timeline_is_point_released() 314 MALI_STATIC_INLINE mali_bool mali_timeline_is_tracker_released(struct mali_timeline *timeline, mali… in mali_timeline_is_tracker_released() argument 318 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_is_tracker_released() [all …]
|
| H A D | mali_timeline_sync_fence.c | 27 … *mali_timeline_sync_fence_create_and_add_tracker(struct mali_timeline *timeline, mali_timeline_po… in mali_timeline_sync_fence_create_and_add_tracker() argument 29 … *mali_timeline_sync_fence_create_and_add_tracker(struct mali_timeline *timeline, mali_timeline_po… in mali_timeline_sync_fence_create_and_add_tracker() 40 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_sync_fence_create_and_add_tracker() 51 MALI_DEBUG_ASSERT_POINTER(timeline->sync_tl); in mali_timeline_sync_fence_create_and_add_tracker() 52 sync_fence_tracker->flag = mali_sync_flag_create(timeline->sync_tl, point); in mali_timeline_sync_fence_create_and_add_tracker() 71 fence.points[timeline->id] = point; in mali_timeline_sync_fence_create_and_add_tracker() 75 …point = mali_timeline_system_add_tracker(timeline->system, &sync_fence_tracker->tracker, MALI_TIME… in mali_timeline_sync_fence_create_and_add_tracker() 93 struct mali_timeline *timeline; in mali_timeline_sync_fence_create() local 101 timeline = system->timelines[i]; in mali_timeline_sync_fence_create() 102 MALI_DEBUG_ASSERT_POINTER(timeline); in mali_timeline_sync_fence_create() [all …]
|
| H A D | mali_timeline_fence_wait.c | 80 struct mali_timeline *timeline; local 90 timeline = system->timelines[i]; 91 MALI_DEBUG_ASSERT_POINTER(timeline); 93 if (unlikely(!mali_timeline_is_point_valid(timeline, point))) { 94 …line: point %d is not valid (oldest=%d, next=%d)\n", point, timeline->point_oldest, timeline->poin… 97 if (!mali_timeline_is_point_released(timeline, point)) {
|
| /OK3568_Linux_fs/kernel/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()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/gt/ |
| H A D | intel_timeline.c | 49 hwsp_alloc(struct intel_timeline *timeline, unsigned int *cacheline) in hwsp_alloc() argument 51 struct intel_gt_timelines *gt = &timeline->gt->timelines; in hwsp_alloc() 70 vma = __hwsp_alloc(timeline->gt); in hwsp_alloc() 76 GT_TRACE(timeline->gt, "new HWSP allocated\n"); in hwsp_alloc() 79 hwsp->gt = timeline->gt; in hwsp_alloc() 218 static int intel_timeline_init(struct intel_timeline *timeline, in intel_timeline_init() argument 225 kref_init(&timeline->kref); in intel_timeline_init() 226 atomic_set(&timeline->pin_count, 0); in intel_timeline_init() 228 timeline->gt = gt; in intel_timeline_init() 230 timeline->has_initial_breadcrumb = !hwsp; in intel_timeline_init() [all …]
|
| H A D | intel_context.c | 174 err = intel_timeline_pin(ce->timeline, ww); in intel_context_pre_pin() 189 intel_timeline_unpin(ce->timeline); in intel_context_pre_pin() 200 intel_timeline_unpin(ce->timeline); in intel_context_post_unpin() 223 err = i915_gem_object_lock(ce->timeline->hwsp_ggtt->obj, ww); in __intel_context_do_pin_ww() 288 i915_gem_ww_unlock_single(ce->timeline->hwsp_ggtt->obj); in __intel_context_do_pin_ww() 354 __intel_timeline_pin(ce->timeline); in __intel_context_active() 394 if (ce->timeline) in intel_context_fini() 395 intel_timeline_put(ce->timeline); in intel_context_fini() 430 intel_timeline_enter(ce->timeline); in intel_context_enter_engine() 435 intel_timeline_exit(ce->timeline); in intel_context_exit_engine() [all …]
|
| H A D | intel_timeline.h | 55 intel_timeline_get(struct intel_timeline *timeline) in intel_timeline_get() argument 57 kref_get(&timeline->kref); in intel_timeline_get() 58 return timeline; in intel_timeline_get() 62 static inline void intel_timeline_put(struct intel_timeline *timeline) in intel_timeline_put() argument 64 kref_put(&timeline->kref, __intel_timeline_free); in intel_timeline_put()
|
| /OK3568_Linux_fs/kernel/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()
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/midgard/ |
| H A D | mali_kbase_trace_timeline.c | 124 if (kbdev->timeline.slot_atoms_submitted[js] > 0) { in kbase_timeline_job_slot_submit() 132 ++kbdev->timeline.slot_atoms_submitted[js]; in kbase_timeline_job_slot_submit() 134 KBASE_TIMELINE_ATOMS_SUBMITTED(kctx, js, kbdev->timeline.slot_atoms_submitted[js]); in kbase_timeline_job_slot_submit() 168 --kbdev->timeline.slot_atoms_submitted[js]; in kbase_timeline_job_slot_done() 170 KBASE_TIMELINE_ATOMS_SUBMITTED(kctx, js, kbdev->timeline.slot_atoms_submitted[js]); in kbase_timeline_job_slot_done() 179 uid = atomic_read(&kbdev->timeline.pm_event_uid[event_sent]); in kbase_timeline_pm_send_event() 184 uid = atomic_inc_return(&kbdev->timeline.pm_event_uid_counter); in kbase_timeline_pm_send_event() 187 if (old_uid != atomic_cmpxchg(&kbdev->timeline.pm_event_uid[event_sent], old_uid, uid)) in kbase_timeline_pm_send_event() 196 int uid = atomic_read(&kbdev->timeline.pm_event_uid[event]); in kbase_timeline_pm_check_handle_event() 199 if (uid != atomic_cmpxchg(&kbdev->timeline.pm_event_uid[event], uid, 0)) in kbase_timeline_pm_check_handle_event() [all …]
|
| H A D | mali_kbase_sync_android.c | 37 struct sync_timeline timeline; member 58 struct sync_timeline *timeline) in to_mali_sync_timeline() argument 60 return container_of(timeline, struct mali_sync_timeline, timeline); in to_mali_sync_timeline() 113 static void timeline_value_str(struct sync_timeline *timeline, char *str, in timeline_value_str() argument 116 struct mali_sync_timeline *mtl = to_mali_sync_timeline(timeline); in timeline_value_str() 317 static int kbase_sync_timeline_is_ours(struct sync_timeline *timeline) in kbase_sync_timeline_is_ours() argument 319 return timeline->ops == &mali_timeline_ops; in kbase_sync_timeline_is_ours() 369 struct sync_timeline *timeline; local 390 timeline = sync_pt_parent(pt); 392 if (!kbase_sync_timeline_is_ours(timeline)) { [all …]
|
| /OK3568_Linux_fs/kernel/include/trace/events/ |
| H A D | sync.h | 12 TP_PROTO(struct sync_timeline *timeline), 14 TP_ARGS(timeline), 17 __string(name, timeline->name) 22 __assign_str(name, timeline->name); 23 if (timeline->ops->timeline_value_str) { 24 timeline->ops->timeline_value_str(timeline, 62 __string(timeline, pt->parent->name) 67 __assign_str(timeline, pt->parent->name); 77 TP_printk("name=%s value=%s", __get_str(timeline), __entry->value)
|
| /OK3568_Linux_fs/kernel/drivers/gpu/arm/bifrost/tl/backend/ |
| H A D | mali_kbase_timeline_jm.c | 33 struct kbase_timeline *timeline = kbdev->timeline; in kbase_create_timeline_objects() local 35 &timeline->streams[TL_STREAM_TYPE_OBJ_SUMMARY]; in kbase_create_timeline_objects() 68 mutex_lock(&timeline->tl_kctx_list_lock); in kbase_create_timeline_objects() 71 list_for_each_entry(kctx, &timeline->tl_kctx_list, tl_kctx_list_node) { in kbase_create_timeline_objects() 87 kbase_timeline_streams_body_reset(timeline); in kbase_create_timeline_objects() 89 mutex_unlock(&timeline->tl_kctx_list_lock); in kbase_create_timeline_objects() 95 kbase_timeline_streams_flush(timeline); in kbase_create_timeline_objects()
|
| H A D | mali_kbase_timeline_csf.c | 35 struct kbase_timeline *timeline = kbdev->timeline; in kbase_create_timeline_objects() local 37 &kbdev->timeline->streams[TL_STREAM_TYPE_OBJ_SUMMARY]; in kbase_create_timeline_objects() 80 mutex_lock(&timeline->tl_kctx_list_lock); in kbase_create_timeline_objects() 106 kbase_timeline_streams_body_reset(timeline); in kbase_create_timeline_objects() 111 list_for_each_entry(kctx, &timeline->tl_kctx_list, tl_kctx_list_node) { in kbase_create_timeline_objects() 114 &timeline->streams[TL_STREAM_TYPE_OBJ]; in kbase_create_timeline_objects() 183 mutex_unlock(&timeline->tl_kctx_list_lock); in kbase_create_timeline_objects() 189 kbase_timeline_streams_flush(timeline); in kbase_create_timeline_objects()
|
| /OK3568_Linux_fs/kernel/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 …]
|
| /OK3568_Linux_fs/kernel/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;
|
| /OK3568_Linux_fs/kernel/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 …]
|