[Intel-gfx] [PATCH] drm/i915/dsi: Silence atomic update failure with DSI panel

Daniel Vetter daniel at ffwll.ch
Tue Sep 5 16:11:40 UTC 2017


On Tue, Sep 05, 2017 at 04:35:04PM +0300, Mika Kahola wrote:
> It appears that we cannot trust scanline counters when MIPI/DSI display is
> connected. In CI system this appears as flickering errors that randomly
> appear in test cases. To avoid this flickering, let's just silence atomic
> update failure in case with DSI panel.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102403
> Signed-off-by: Mika Kahola <mika.kahola at intel.com>

This just changes a loud atomic failure to a silent atomic failure. What
we instead need to do is actually fix the bug, not hide it.

This means DSI is atm blacklisted almost entirely, but well it's broken,
so no harm in that.

Please no polishing of just results in CI, it needs to give us honest
results.
-Daniel
> ---
>  drivers/gpu/drm/i915/intel_sprite.c | 32 +++++++++++++++++---------------
>  1 file changed, 17 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index b0d6e3e..8511072 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -205,23 +205,25 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state)
>  	if (intel_vgpu_active(dev_priv))
>  		return;
>  
> -	if (crtc->debug.start_vbl_count &&
> -	    crtc->debug.start_vbl_count != end_vbl_count) {
> -		DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n",
> -			  pipe_name(pipe), crtc->debug.start_vbl_count,
> -			  end_vbl_count,
> -			  ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time),
> -			  crtc->debug.min_vbl, crtc->debug.max_vbl,
> -			  crtc->debug.scanline_start, scanline_end);
> -	}
> +	if (!intel_crtc_has_type(new_crtc_state, INTEL_OUTPUT_DSI)) {
> +		if (crtc->debug.start_vbl_count &&
> +		    crtc->debug.start_vbl_count != end_vbl_count) {
> +			DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n",
> +				  pipe_name(pipe), crtc->debug.start_vbl_count,
> +				  end_vbl_count,
> +				  ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time),
> +				  crtc->debug.min_vbl, crtc->debug.max_vbl,
> +				  crtc->debug.scanline_start, scanline_end);
> +		}
>  #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE
> -	else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) >
> -		 VBLANK_EVASION_TIME_US)
> -		DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n",
> -			 pipe_name(pipe),
> -			 ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time),
> -			 VBLANK_EVASION_TIME_US);
> +		else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) >
> +			 VBLANK_EVASION_TIME_US)
> +			DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n",
> +				 pipe_name(pipe),
> +				 ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time),
> +				 VBLANK_EVASION_TIME_US);
>  #endif
> +	}
>  }
>  
>  static void
> -- 
> 2.7.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list