aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-01-23 08:24:17 -0500
committerAlex Deucher <alexander.deucher@amd.com>2014-01-29 15:23:03 -0500
commit1d7841676676691c205bfcb3d99c5997466a3408 (patch)
treeca2f4c9b6452619a3730c75edcf54496cee178b4
parent31dd8d9347c4bf288572ad1c5513d9b778989cd5 (diff)
drm/radeon: add ring to fence trace functions
Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_fence.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_trace.h21
2 files changed, 15 insertions, 12 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c
index 866744e47cfa..c37cb79a9489 100644
--- a/drivers/gpu/drm/radeon/radeon_fence.c
+++ b/drivers/gpu/drm/radeon/radeon_fence.c
@@ -121,7 +121,7 @@ int radeon_fence_emit(struct radeon_device *rdev,
121 (*fence)->seq = ++rdev->fence_drv[ring].sync_seq[ring]; 121 (*fence)->seq = ++rdev->fence_drv[ring].sync_seq[ring];
122 (*fence)->ring = ring; 122 (*fence)->ring = ring;
123 radeon_fence_ring_emit(rdev, ring, *fence); 123 radeon_fence_ring_emit(rdev, ring, *fence);
124 trace_radeon_fence_emit(rdev->ddev, (*fence)->seq); 124 trace_radeon_fence_emit(rdev->ddev, ring, (*fence)->seq);
125 return 0; 125 return 0;
126} 126}
127 127
@@ -313,7 +313,7 @@ static int radeon_fence_wait_seq(struct radeon_device *rdev, u64 *target_seq,
313 continue; 313 continue;
314 314
315 last_seq[i] = atomic64_read(&rdev->fence_drv[i].last_seq); 315 last_seq[i] = atomic64_read(&rdev->fence_drv[i].last_seq);
316 trace_radeon_fence_wait_begin(rdev->ddev, target_seq[i]); 316 trace_radeon_fence_wait_begin(rdev->ddev, i, target_seq[i]);
317 radeon_irq_kms_sw_irq_get(rdev, i); 317 radeon_irq_kms_sw_irq_get(rdev, i);
318 } 318 }
319 319
@@ -332,7 +332,7 @@ static int radeon_fence_wait_seq(struct radeon_device *rdev, u64 *target_seq,
332 continue; 332 continue;
333 333
334 radeon_irq_kms_sw_irq_put(rdev, i); 334 radeon_irq_kms_sw_irq_put(rdev, i);
335 trace_radeon_fence_wait_end(rdev->ddev, target_seq[i]); 335 trace_radeon_fence_wait_end(rdev->ddev, i, target_seq[i]);
336 } 336 }
337 337
338 if (unlikely(r < 0)) 338 if (unlikely(r < 0))
diff --git a/drivers/gpu/drm/radeon/radeon_trace.h b/drivers/gpu/drm/radeon/radeon_trace.h
index 0473257d4078..f749f2c3bbdb 100644
--- a/drivers/gpu/drm/radeon/radeon_trace.h
+++ b/drivers/gpu/drm/radeon/radeon_trace.h
@@ -106,42 +106,45 @@ TRACE_EVENT(radeon_vm_set_page,
106 106
107DECLARE_EVENT_CLASS(radeon_fence_request, 107DECLARE_EVENT_CLASS(radeon_fence_request,
108 108
109 TP_PROTO(struct drm_device *dev, u32 seqno), 109 TP_PROTO(struct drm_device *dev, int ring, u32 seqno),
110 110
111 TP_ARGS(dev, seqno), 111 TP_ARGS(dev, ring, seqno),
112 112
113 TP_STRUCT__entry( 113 TP_STRUCT__entry(
114 __field(u32, dev) 114 __field(u32, dev)
115 __field(int, ring)
115 __field(u32, seqno) 116 __field(u32, seqno)
116 ), 117 ),
117 118
118 TP_fast_assign( 119 TP_fast_assign(
119 __entry->dev = dev->primary->index; 120 __entry->dev = dev->primary->index;
121 __entry->ring = ring;
120 __entry->seqno = seqno; 122 __entry->seqno = seqno;
121 ), 123 ),
122 124
123 TP_printk("dev=%u, seqno=%u", __entry->dev, __entry->seqno) 125 TP_printk("dev=%u, ring=%d, seqno=%u",
126 __entry->dev, __entry->ring, __entry->seqno)
124); 127);
125 128
126DEFINE_EVENT(radeon_fence_request, radeon_fence_emit, 129DEFINE_EVENT(radeon_fence_request, radeon_fence_emit,
127 130
128 TP_PROTO(struct drm_device *dev, u32 seqno), 131 TP_PROTO(struct drm_device *dev, int ring, u32 seqno),
129 132
130 TP_ARGS(dev, seqno) 133 TP_ARGS(dev, ring, seqno)
131); 134);
132 135
133DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_begin, 136DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_begin,
134 137
135 TP_PROTO(struct drm_device *dev, u32 seqno), 138 TP_PROTO(struct drm_device *dev, int ring, u32 seqno),
136 139
137 TP_ARGS(dev, seqno) 140 TP_ARGS(dev, ring, seqno)
138); 141);
139 142
140DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_end, 143DEFINE_EVENT(radeon_fence_request, radeon_fence_wait_end,
141 144
142 TP_PROTO(struct drm_device *dev, u32 seqno), 145 TP_PROTO(struct drm_device *dev, int ring, u32 seqno),
143 146
144 TP_ARGS(dev, seqno) 147 TP_ARGS(dev, ring, seqno)
145); 148);
146 149
147DECLARE_EVENT_CLASS(radeon_semaphore_request, 150DECLARE_EVENT_CLASS(radeon_semaphore_request,