summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
authorAndres Rodriguez <andresx7@gmail.com>2017-03-09 21:25:54 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-03-29 23:53:56 -0400
commitced2ef66dcf15b9a2ebf766a57b8fbf0726c27d7 (patch)
tree404fb4b72c40aa95e1b5fcefce42437b4139babb /drivers/gpu/drm/amd
parent2359419fa5dbb5e6afe1d16994c77dd52ecc8e25 (diff)
downloadlinux-stable-ced2ef66dcf15b9a2ebf766a57b8fbf0726c27d7.tar.gz
linux-stable-ced2ef66dcf15b9a2ebf766a57b8fbf0726c27d7.tar.bz2
linux-stable-ced2ef66dcf15b9a2ebf766a57b8fbf0726c27d7.zip
drm/amdgpu: replace fence pointer with fence data in traces
Fence data is easier to read and allows us to correlate to identify corresponding dma_fence ftrace events. Reviewed-by: Chunming Zhou <david1.zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Andres Rodriguez <andresx7@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
index 39529a1d3b21..88e17045a968 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
@@ -102,6 +102,9 @@ TRACE_EVENT(amdgpu_cs_ioctl,
TP_ARGS(job),
TP_STRUCT__entry(
__field(uint64_t, sched_job_id)
+ __string(timeline, job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished))
+ __field(unsigned int, context)
+ __field(unsigned int, seqno)
__field(struct dma_fence *, fence)
__field(char *, ring_name)
__field(u32, num_ibs)
@@ -109,13 +112,15 @@ TRACE_EVENT(amdgpu_cs_ioctl,
TP_fast_assign(
__entry->sched_job_id = job->base.id;
- __entry->fence = &job->base.s_fence->finished;
+ __assign_str(timeline, job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished))
+ __entry->context = job->base.s_fence->finished.context;
+ __entry->seqno = job->base.s_fence->finished.seqno;
__entry->ring_name = job->ring->name;
__entry->num_ibs = job->num_ibs;
),
- TP_printk("sched_job=%llu, sched_fence=%p, ring_name=%s, num_ibs=%u",
- __entry->sched_job_id,
- __entry->fence, __entry->ring_name, __entry->num_ibs)
+ TP_printk("sched_job=%llu, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u",
+ __entry->sched_job_id, __get_str(timeline), __entry->context,
+ __entry->seqno, __entry->ring_name, __entry->num_ibs)
);
TRACE_EVENT(amdgpu_sched_run_job,