[Intel-gfx] [PATCH] drm/i915: cleanup pipe_update trace functions with new crtc debug info v2

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Sep 17 07:23:19 PDT 2015


On Wed, Sep 16, 2015 at 07:54:30AM -0700, Jesse Barnes wrote:
> Use the new debug info in the intel_crtc struct in these functions
> rather than passing them as args.
> 
> v2: move min/max assignment back above first trace call (Ville)
>     use scanline from crtc->debug rather than fetching a new one (Ville)
> 
> Requested-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> ---
>  drivers/gpu/drm/i915/i915_trace.h   | 22 +++++++++++-----------
>  drivers/gpu/drm/i915/intel_sprite.c |  9 ++++-----
>  2 files changed, 15 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h
> index e6b5c74..016a07d 100644
> --- a/drivers/gpu/drm/i915/i915_trace.h
> +++ b/drivers/gpu/drm/i915/i915_trace.h
> @@ -17,8 +17,8 @@
>  /* pipe updates */
>  
>  TRACE_EVENT(i915_pipe_update_start,
> -	    TP_PROTO(struct intel_crtc *crtc, u32 min, u32 max),
> -	    TP_ARGS(crtc, min, max),
> +	    TP_PROTO(struct intel_crtc *crtc),
> +	    TP_ARGS(crtc),
>  
>  	    TP_STRUCT__entry(
>  			     __field(enum pipe, pipe)
> @@ -33,8 +33,8 @@ TRACE_EVENT(i915_pipe_update_start,
>  			   __entry->frame = crtc->base.dev->driver->get_vblank_counter(crtc->base.dev,
>  										       crtc->pipe);
>  			   __entry->scanline = intel_get_crtc_scanline(crtc);
> -			   __entry->min = min;
> -			   __entry->max = max;
> +			   __entry->min = crtc->debug.min_vbl;
> +			   __entry->max = crtc->debug.max_vbl;
>  			   ),
>  
>  	    TP_printk("pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
> @@ -43,8 +43,8 @@ TRACE_EVENT(i915_pipe_update_start,
>  );
>  
>  TRACE_EVENT(i915_pipe_update_vblank_evaded,
> -	    TP_PROTO(struct intel_crtc *crtc, u32 min, u32 max, u32 frame),
> -	    TP_ARGS(crtc, min, max, frame),
> +	    TP_PROTO(struct intel_crtc *crtc),
> +	    TP_ARGS(crtc),
>  
>  	    TP_STRUCT__entry(
>  			     __field(enum pipe, pipe)
> @@ -56,10 +56,10 @@ TRACE_EVENT(i915_pipe_update_vblank_evaded,
>  
>  	    TP_fast_assign(
>  			   __entry->pipe = crtc->pipe;
> -			   __entry->frame = frame;
> -			   __entry->scanline = intel_get_crtc_scanline(crtc);
> -			   __entry->min = min;
> -			   __entry->max = max;
> +			   __entry->frame = crtc->debug.start_vbl_count;
> +			   __entry->scanline = crtc->debug.scanline_start;
> +			   __entry->min = crtc->debug.min_vbl;
> +			   __entry->max = crtc->debug.max_vbl;
>  			   ),
>  
>  	    TP_printk("pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
> @@ -80,7 +80,7 @@ TRACE_EVENT(i915_pipe_update_end,
>  	    TP_fast_assign(
>  			   __entry->pipe = crtc->pipe;
>  			   __entry->frame = frame;
> -			   __entry->scanline = intel_get_crtc_scanline(crtc);
> +			   __entry->scanline = crtc->debug.scanline_start;

That needs to be the end scanline, so must be passed in.

With that fixed this is
Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

>  			   ),
>  
>  	    TP_printk("pipe %c, frame=%u, scanline=%u",
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 7de121d..a60a657 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -102,7 +102,9 @@ void intel_pipe_update_start(struct intel_crtc *crtc)
>  	if (WARN_ON(drm_crtc_vblank_get(&crtc->base)))
>  		return;
>  
> -	trace_i915_pipe_update_start(crtc, min, max);
> +	crtc->debug.min_vbl = min;
> +	crtc->debug.max_vbl = max;
> +	trace_i915_pipe_update_start(crtc);
>  
>  	for (;;) {
>  		/*
> @@ -133,15 +135,12 @@ void intel_pipe_update_start(struct intel_crtc *crtc)
>  
>  	drm_crtc_vblank_put(&crtc->base);
>  
> -	crtc->debug.min_vbl = min;
> -	crtc->debug.max_vbl = max;
>  	crtc->debug.scanline_start = scanline;
>  	crtc->debug.start_vbl_time = ktime_get();
>  	crtc->debug.start_vbl_count =
>  		dev->driver->get_vblank_counter(dev, pipe);
>  
> -	trace_i915_pipe_update_vblank_evaded(crtc, min, max,
> -					     crtc->debug.start_vbl_count);
> +	trace_i915_pipe_update_vblank_evaded(crtc);
>  }
>  
>  /**
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list