diff options
Diffstat (limited to 'drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h')
-rw-r--r-- | drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h b/drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h index 144f50acc971..c89dc777768f 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h +++ b/drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h | |||
@@ -16,6 +16,8 @@ TRACE_EVENT(amd_sched_job, | |||
16 | TP_ARGS(sched_job), | 16 | TP_ARGS(sched_job), |
17 | TP_STRUCT__entry( | 17 | TP_STRUCT__entry( |
18 | __field(struct amd_sched_entity *, entity) | 18 | __field(struct amd_sched_entity *, entity) |
19 | __field(struct amd_sched_job *, sched_job) | ||
20 | __field(struct fence *, fence) | ||
19 | __field(const char *, name) | 21 | __field(const char *, name) |
20 | __field(u32, job_count) | 22 | __field(u32, job_count) |
21 | __field(int, hw_job_count) | 23 | __field(int, hw_job_count) |
@@ -23,16 +25,32 @@ TRACE_EVENT(amd_sched_job, | |||
23 | 25 | ||
24 | TP_fast_assign( | 26 | TP_fast_assign( |
25 | __entry->entity = sched_job->s_entity; | 27 | __entry->entity = sched_job->s_entity; |
28 | __entry->sched_job = sched_job; | ||
29 | __entry->fence = &sched_job->s_fence->base; | ||
26 | __entry->name = sched_job->sched->name; | 30 | __entry->name = sched_job->sched->name; |
27 | __entry->job_count = kfifo_len( | 31 | __entry->job_count = kfifo_len( |
28 | &sched_job->s_entity->job_queue) / sizeof(sched_job); | 32 | &sched_job->s_entity->job_queue) / sizeof(sched_job); |
29 | __entry->hw_job_count = atomic_read( | 33 | __entry->hw_job_count = atomic_read( |
30 | &sched_job->sched->hw_rq_count); | 34 | &sched_job->sched->hw_rq_count); |
31 | ), | 35 | ), |
32 | TP_printk("entity=%p, ring=%s, job count:%u, hw job count:%d", | 36 | TP_printk("entity=%p, sched job=%p, fence=%p, ring=%s, job count:%u, hw job count:%d", |
33 | __entry->entity, __entry->name, __entry->job_count, | 37 | __entry->entity, __entry->sched_job, __entry->fence, __entry->name, |
34 | __entry->hw_job_count) | 38 | __entry->job_count, __entry->hw_job_count) |
35 | ); | 39 | ); |
40 | |||
41 | TRACE_EVENT(amd_sched_process_job, | ||
42 | TP_PROTO(struct amd_sched_fence *fence), | ||
43 | TP_ARGS(fence), | ||
44 | TP_STRUCT__entry( | ||
45 | __field(struct fence *, fence) | ||
46 | ), | ||
47 | |||
48 | TP_fast_assign( | ||
49 | __entry->fence = &fence->base; | ||
50 | ), | ||
51 | TP_printk("fence=%p signaled", __entry->fence) | ||
52 | ); | ||
53 | |||
36 | #endif | 54 | #endif |
37 | 55 | ||
38 | /* This part must be outside protection */ | 56 | /* This part must be outside protection */ |