From: Ville Syrj?l? <ville.syrjala at linux.intel.com> Signed-off-by: Ville Syrj?l? <ville.syrjala at linux.intel.com> --- drivers/gpu/drm/i915/i915_trace.h | 19 +++++++++++++++++++ drivers/gpu/drm/i915/intel_atomic.c | 4 ++++ 2 files changed, 23 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h index 754a204..fb35edd 100644 --- a/drivers/gpu/drm/i915/i915_trace.h +++ b/drivers/gpu/drm/i915/i915_trace.h @@ -16,6 +16,25 @@ /* object tracking */ +TRACE_EVENT(i915_atomic_flush, + TP_PROTO(u32 dsl0, u32 dsl1, u32 dsl2), + TP_ARGS(dsl0, dsl1, dsl2), + + TP_STRUCT__entry( + __field(u32, dsl0) + __field(u32, dsl1) + __field(u32, dsl2) + ), + TP_fast_assign( + __entry->dsl0 = dsl0; + __entry->dsl1 = dsl1; + __entry->dsl2 = dsl2; + ), + + TP_printk("dsl(0)=%u dsl(1)=%u dsl(2)=%u", __entry->dsl0, __entry->dsl1, __entry->dsl2) +); + + TRACE_EVENT(i915_atomic_flip, TP_PROTO(bool sprite, int pipe, int action, u32 commit_surf, u32 commit_surflive, u32 surf, u32 surflive, u32 iir, u32 commit_dsl, u32 dsl, u32 flip_vbl_count, u32 vbl_count), TP_ARGS(sprite, pipe, action, commit_surf, commit_surflive, surf, surflive, iir, commit_dsl, dsl, flip_vbl_count, vbl_count), diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c index c6531b0..945ba75 100644 --- a/drivers/gpu/drm/i915/intel_atomic.c +++ b/drivers/gpu/drm/i915/intel_atomic.c @@ -1855,6 +1855,10 @@ static void intel_flip_driver_flush(struct drm_flip_driver *driver) /* Flush posted writes */ I915_READ(PIPEDSL(PIPE_A)); +#ifdef SURFLIVE_DEBUG + trace_i915_atomic_flush(I915_READ(PIPEDSL(0)), I915_READ(PIPEDSL(1)), I915_READ(PIPEDSL(2))); +#endif + #ifdef FLIP_TIME_DEBUG tend = ktime_get(); tdiff = ktime_sub(tend, tstart); -- 1.7.8.6