diff options
author | Christian König <christian.koenig@amd.com> | 2014-07-22 11:42:34 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-08-05 08:53:38 -0400 |
commit | a3a9226d29bcfdcbe8f8608c9f739f266de6106c (patch) | |
tree | 9155d03bb341f06cd88153f2cf17638325ead361 | |
parent | 33fa9fe3ddae48c552bce1ab33db0f2f49eb81ea (diff) |
drm/radeon: add trace_radeon_vm_flush
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_trace.h | 18 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_vm.c | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_trace.h b/drivers/gpu/drm/radeon/radeon_trace.h index f749f2c3bbdb..cd781f34bd8d 100644 --- a/drivers/gpu/drm/radeon/radeon_trace.h +++ b/drivers/gpu/drm/radeon/radeon_trace.h | |||
@@ -104,6 +104,24 @@ TRACE_EVENT(radeon_vm_set_page, | |||
104 | __entry->flags, __entry->count) | 104 | __entry->flags, __entry->count) |
105 | ); | 105 | ); |
106 | 106 | ||
107 | TRACE_EVENT(radeon_vm_flush, | ||
108 | TP_PROTO(uint64_t pd_addr, unsigned ring, unsigned id), | ||
109 | TP_ARGS(pd_addr, ring, id), | ||
110 | TP_STRUCT__entry( | ||
111 | __field(u64, pd_addr) | ||
112 | __field(u32, ring) | ||
113 | __field(u32, id) | ||
114 | ), | ||
115 | |||
116 | TP_fast_assign( | ||
117 | __entry->pd_addr = pd_addr; | ||
118 | __entry->ring = ring; | ||
119 | __entry->id = id; | ||
120 | ), | ||
121 | TP_printk("pd_addr=%010Lx, ring=%u, id=%u", | ||
122 | __entry->pd_addr, __entry->ring, __entry->id) | ||
123 | ); | ||
124 | |||
107 | DECLARE_EVENT_CLASS(radeon_fence_request, | 125 | DECLARE_EVENT_CLASS(radeon_fence_request, |
108 | 126 | ||
109 | TP_PROTO(struct drm_device *dev, int ring, u32 seqno), | 127 | TP_PROTO(struct drm_device *dev, int ring, u32 seqno), |
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c index f0a8cd7a83a6..2a2509e7ba87 100644 --- a/drivers/gpu/drm/radeon/radeon_vm.c +++ b/drivers/gpu/drm/radeon/radeon_vm.c | |||
@@ -240,6 +240,7 @@ void radeon_vm_flush(struct radeon_device *rdev, | |||
240 | /* if we can't remember our last VM flush then flush now! */ | 240 | /* if we can't remember our last VM flush then flush now! */ |
241 | /* XXX figure out why we have to flush all the time */ | 241 | /* XXX figure out why we have to flush all the time */ |
242 | if (!vm->last_flush || true || pd_addr != vm->pd_gpu_addr) { | 242 | if (!vm->last_flush || true || pd_addr != vm->pd_gpu_addr) { |
243 | trace_radeon_vm_flush(pd_addr, ring, vm->id); | ||
243 | vm->pd_gpu_addr = pd_addr; | 244 | vm->pd_gpu_addr = pd_addr; |
244 | radeon_ring_vm_flush(rdev, ring, vm); | 245 | radeon_ring_vm_flush(rdev, ring, vm); |
245 | } | 246 | } |