Re: [PATCH] drm/i915/dsi: Silence atomic update failure with DSI panel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>

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@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux