On Fri, 18 Sep 2015, Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > On Thu, Sep 17, 2015 at 08:08:32AM -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) >> v3: fix up trace_i915_pipe_update_end, needs end scanline (Ville) >> >> Requested-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> >> Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> > > Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Both pushed to drm-intel-next-queued, thanks for the patches and review. BR, Jani. > >> --- >> drivers/gpu/drm/i915/i915_trace.h | 26 +++++++++++++------------- >> drivers/gpu/drm/i915/intel_sprite.c | 11 +++++------ >> 2 files changed, 18 insertions(+), 19 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h >> index e6b5c74..d0993bc 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", >> @@ -68,8 +68,8 @@ TRACE_EVENT(i915_pipe_update_vblank_evaded, >> ); >> >> TRACE_EVENT(i915_pipe_update_end, >> - TP_PROTO(struct intel_crtc *crtc, u32 frame), >> - TP_ARGS(crtc, frame), >> + TP_PROTO(struct intel_crtc *crtc, u32 frame, int scanline_end), >> + TP_ARGS(crtc, frame, scanline_end), >> >> TP_STRUCT__entry( >> __field(enum pipe, pipe) >> @@ -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 = scanline_end; >> ), >> >> 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..79f7cc2 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); >> } >> >> /** >> @@ -161,7 +160,7 @@ void intel_pipe_update_end(struct intel_crtc *crtc) >> u32 end_vbl_count = dev->driver->get_vblank_counter(dev, pipe); >> ktime_t end_vbl_time = ktime_get(); >> >> - trace_i915_pipe_update_end(crtc, end_vbl_count); >> + trace_i915_pipe_update_end(crtc, end_vbl_count, scanline_end); >> >> local_irq_enable(); >> >> -- >> 1.9.1 >> >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Ville Syrjälä > Intel OTC > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx