]>
git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - drivers/gpu/drm/amd/scheduler/gpu_sched_trace.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #if !defined(_GPU_SCHED_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
3 #define _GPU_SCHED_TRACE_H_
5 #include <linux/stringify.h>
6 #include <linux/types.h>
7 #include <linux/tracepoint.h>
12 #define TRACE_SYSTEM gpu_sched
13 #define TRACE_INCLUDE_FILE gpu_sched_trace
15 TRACE_EVENT(amd_sched_job
,
16 TP_PROTO(struct amd_sched_job
*sched_job
),
19 __field(struct amd_sched_entity
*, entity
)
20 __field(struct dma_fence
*, fence
)
21 __field(const char *, name
)
23 __field(u32
, job_count
)
24 __field(int, hw_job_count
)
28 __entry
->entity
= sched_job
->s_entity
;
29 __entry
->id
= sched_job
->id
;
30 __entry
->fence
= &sched_job
->s_fence
->finished
;
31 __entry
->name
= sched_job
->sched
->name
;
32 __entry
->job_count
= kfifo_len(
33 &sched_job
->s_entity
->job_queue
) / sizeof(sched_job
);
34 __entry
->hw_job_count
= atomic_read(
35 &sched_job
->sched
->hw_rq_count
);
37 TP_printk("entity=%p, id=%llu, fence=%p, ring=%s, job count:%u, hw job count:%d",
38 __entry
->entity
, __entry
->id
,
39 __entry
->fence
, __entry
->name
,
40 __entry
->job_count
, __entry
->hw_job_count
)
43 TRACE_EVENT(amd_sched_process_job
,
44 TP_PROTO(struct amd_sched_fence
*fence
),
47 __field(struct dma_fence
*, fence
)
51 __entry
->fence
= &fence
->finished
;
53 TP_printk("fence=%p signaled", __entry
->fence
)
58 /* This part must be outside protection */
59 #undef TRACE_INCLUDE_PATH
60 #define TRACE_INCLUDE_PATH .
61 #include <trace/define_trace.h>