[Intel-gfx] [PATCH 02/17] drm/i915: Warn if stealing power sequencer from an active eDP port

Daniel Vetter daniel at ffwll.ch
Tue Oct 28 09:10:13 CET 2014


On Thu, Oct 16, 2014 at 09:27:28PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> eDP ports need the power seqeuncer whenever the port is active. Warn if
> we accidentally steal the power sequener from an active eDP port. This
> should not happen unless there's a bug somewhere else, but it's best to
> scream loudly if it happens to help with debugging.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_dp.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index de919e9..7ac5c47 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -2606,6 +2606,10 @@ static void vlv_steal_power_sequencer(struct drm_device *dev,
>  		DRM_DEBUG_KMS("stealing pipe %c power sequencer from port %c\n",
>  			      pipe_name(pipe), port_name(port));
>  
> +		WARN(encoder->connectors_active,

This only checks for the pipe actually running, i.e. dpms on. But I guess
we actually want to check for logically enabled (i.e. no matter the dpms
state) to make sure we can always transition from dpms off to on again.
That should check for encoder->base.crtc instead.

I'll punt on this patch until this is clarified.
-Daniel

> +		     "stealing pipe %c power sequencer from active eDP port %c\n",
> +		     pipe_name(pipe), port_name(port));
> +
>  		/* make sure vdd is off before we steal it */
>  		edp_panel_vdd_off_sync(intel_dp);
>  
> -- 
> 2.0.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list