[Intel-gfx] [PATCH 4/5] drm/i915: check the power well on i915_pipe_enabled

Daniel Vetter daniel at ffwll.ch
Tue May 7 13:31:57 CEST 2013


On Fri, May 03, 2013 at 12:15:39PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> This fixes "unclaimed register" messages when the power well is
> disabled and there's a GPU hang.

How does this blow up in a gpu hang? Afaics pipe_enabled is mostly called
in the vblank code, so this should blow up any time we call a vblank
function on a disabled pipe ...

Also yet another reason to hate the vblank code, the locking is horrible
in here.
-Daniel

> 
> v2: Use the new intel_display_power_enabled().
> v3: Use the new domains for intel_display_power_enabled().
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_irq.c |    4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 03a31be..161101f 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -384,6 +384,10 @@ i915_pipe_enabled(struct drm_device *dev, int pipe)
>  	enum transcoder cpu_transcoder = intel_pipe_to_cpu_transcoder(dev_priv,
>  								      pipe);
>  
> +	if (!intel_display_power_enabled(dev,
> +		POWER_DOMAIN_TRANSCODER(cpu_transcoder)))
> +		return false;
> +
>  	return I915_READ(PIPECONF(cpu_transcoder)) & PIPECONF_ENABLE;
>  }
>  
> -- 
> 1.7.10.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