Re: [PATCH 2/2] drm/i915: Wait for pipe to start on i830 as well

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

 



Quoting Ville Syrjala (2017-11-13 15:32:15)
> From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> 
> We should make sure the pipe has fully started when we enable it from
> the i830 "power well". Otherwise theoretically i830 could also hit
> problems with vblank timestamps jumping around (since we skip the
> wait during modeset on i830). Additionally moving planes between the
> pipes etc. might not work correctly until both pipes are actually up and
> running.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 810b1147a0ac..467f72df9db3 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14704,6 +14704,9 @@ void i830_enable_pipe(struct drm_i915_private *dev_priv, enum pipe pipe)
>  
>         I915_WRITE(PIPECONF(pipe), PIPECONF_ENABLE | PIPECONF_PROGRESSIVE);
>         POSTING_READ(PIPECONF(pipe));
> +
> +       if (wait_for(pipe_dsl_stopped(dev_priv, pipe, false), 100))
> +               DRM_ERROR("pipe %c on wait timed out\n", pipe_name(pipe));

This seems to fit in the with the pattern of wait for vblank after
enabling, but more refined (i.e. don't wait for the whole frame, just
wait for the frame to start scanning out).

Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>

Why not intel_wait_for_pipe_on() here?
-Chris
_______________________________________________
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