[PATCH] drm/radeon: add trace_radeon_vm_flush

Alex Deucher alexdeucher at gmail.com
Tue Jul 22 09:26:54 PDT 2014


On Tue, Jul 22, 2014 at 11:42 AM, Christian König
<deathsimple at vodafone.de> wrote:
> From: Christian König <christian.koenig at amd.com>
>
> Signed-off-by: Christian König <christian.koenig at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list