Message ID | 1406043754-7279-1-git-send-email-deathsimple@vodafone.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jul 22, 2014 at 11:42 AM, Christian König <deathsimple@vodafone.de> wrote: > From: Christian König <christian.koenig@amd.com> > > Signed-off-by: Christian König <christian.koenig@amd.com> Applied to my 3.17 tree. Alex > --- > drivers/gpu/drm/radeon/radeon_trace.h | 18 ++++++++++++++++++ > drivers/gpu/drm/radeon/radeon_vm.c | 1 + > 2 files changed, 19 insertions(+) > > diff --git a/drivers/gpu/drm/radeon/radeon_trace.h b/drivers/gpu/drm/radeon/radeon_trace.h > index f749f2c..cd781f3 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, > __entry->flags, __entry->count) > ); > > +TRACE_EVENT(radeon_vm_flush, > + TP_PROTO(uint64_t pd_addr, unsigned ring, unsigned id), > + TP_ARGS(pd_addr, ring, id), > + TP_STRUCT__entry( > + __field(u64, pd_addr) > + __field(u32, ring) > + __field(u32, id) > + ), > + > + TP_fast_assign( > + __entry->pd_addr = pd_addr; > + __entry->ring = ring; > + __entry->id = id; > + ), > + TP_printk("pd_addr=%010Lx, ring=%u, id=%u", > + __entry->pd_addr, __entry->ring, __entry->id) > +); > + > DECLARE_EVENT_CLASS(radeon_fence_request, > > 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 4b7a080..d488a87 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, > /* if we can't remember our last VM flush then flush now! */ > /* XXX figure out why we have to flush all the time */ > if (!vm->last_flush || true || pd_addr != vm->pd_gpu_addr) { > + trace_radeon_vm_flush(pd_addr, ring, vm->id); > vm->pd_gpu_addr = pd_addr; > radeon_ring_vm_flush(rdev, ring, vm); > } > -- > 1.9.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/radeon/radeon_trace.h b/drivers/gpu/drm/radeon/radeon_trace.h index f749f2c..cd781f3 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, __entry->flags, __entry->count) ); +TRACE_EVENT(radeon_vm_flush, + TP_PROTO(uint64_t pd_addr, unsigned ring, unsigned id), + TP_ARGS(pd_addr, ring, id), + TP_STRUCT__entry( + __field(u64, pd_addr) + __field(u32, ring) + __field(u32, id) + ), + + TP_fast_assign( + __entry->pd_addr = pd_addr; + __entry->ring = ring; + __entry->id = id; + ), + TP_printk("pd_addr=%010Lx, ring=%u, id=%u", + __entry->pd_addr, __entry->ring, __entry->id) +); + DECLARE_EVENT_CLASS(radeon_fence_request, 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 4b7a080..d488a87 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, /* if we can't remember our last VM flush then flush now! */ /* XXX figure out why we have to flush all the time */ if (!vm->last_flush || true || pd_addr != vm->pd_gpu_addr) { + trace_radeon_vm_flush(pd_addr, ring, vm->id); vm->pd_gpu_addr = pd_addr; radeon_ring_vm_flush(rdev, ring, vm); }