[Intel-gfx] [PATCH 19/19] drm/i915: only enable HWSTAM interrupts on postinstall on ILK+

Damien Lespiau damien.lespiau at intel.com
Wed Apr 2 13:21:45 CEST 2014


On Tue, Apr 01, 2014 at 03:37:27PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> We should only enable interrupts at postinstall.
> 
> And now on ILK/SNB/IVB/HSW the irq_preinstall and irq_postinstall
> functions leave the hardware in the same state.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

Orthogonal note to this patch, I'm wondering why we enable any interrupt
reporting in the HW status page, I don't see anywhere we read that
information back? Any idea?

-- 
Damien

> ---
>  drivers/gpu/drm/i915/i915_irq.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index fd1ef09..75f1997 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -2912,6 +2912,8 @@ static void ironlake_irq_reset(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> +	I915_WRITE(HWSTAM, 0xffffffff);
> +
>  	GEN5_IRQ_RESET(DE);
>  	if (IS_GEN7(dev))
>  		I915_WRITE(GEN7_ERR_INT, 0xffffffff);
> @@ -2923,10 +2925,6 @@ static void ironlake_irq_reset(struct drm_device *dev)
>  
>  static void ironlake_irq_preinstall(struct drm_device *dev)
>  {
> -	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
> -
> -	I915_WRITE(HWSTAM, 0xeffe);
> -
>  	ironlake_irq_reset(dev);
>  }
>  
> @@ -3099,6 +3097,8 @@ static int ironlake_irq_postinstall(struct drm_device *dev)
>  
>  	dev_priv->irq_mask = ~display_mask;
>  
> +	I915_WRITE(HWSTAM, 0xeffe);
> +
>  	ibx_irq_pre_postinstall(dev);
>  
>  	GEN5_IRQ_INIT(DE, dev_priv->irq_mask, display_mask | extra_mask);
> @@ -3354,8 +3354,6 @@ static void ironlake_irq_uninstall(struct drm_device *dev)
>  
>  	intel_hpd_irq_uninstall(dev_priv);
>  
> -	I915_WRITE(HWSTAM, 0xffffffff);
> -
>  	ironlake_irq_reset(dev);
>  }
>  
> -- 
> 1.8.5.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



More information about the Intel-gfx mailing list