[Intel-gfx] [PATCH 10/10] drm/i915: also POSTING_READ(DEIER) on ivybridge_irq_handler

Ben Widawsky ben at bwidawsk.net
Sat Feb 9 18:34:34 CET 2013


On Fri,  8 Feb 2013 17:35:21 -0200
Paulo Zanoni <przanoni at gmail.com> wrote:

> From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> This is already done on ironlake_irq_handler. We want to make sure the
> interrupts are disabled before we check any of the other interrupt
> registers.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_irq.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c
> b/drivers/gpu/drm/i915/i915_irq.c index 09bd8d4..e9a6ade 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -786,6 +786,7 @@ static irqreturn_t ivybridge_irq_handler(int irq,
> void *arg) /* disable master interrupt before clearing iir  */
>  	de_ier = I915_READ(DEIER);
>  	I915_WRITE(DEIER, de_ier & ~DE_MASTER_IRQ_CONTROL);
> +	POSTING_READ(DEIER);
>  
>  	/* On Haswell, also mask ERR_INT because we don't want to
> risk
>  	 * generating "unclaimed register" interrupts from inside
> the interrupt


The POSTING_READ isn't needed because the very next line will serve as
a posting read, assuming that hasn't changed throughout the series, but
it still looks to be the case as of patch 5.

Also note, the only thing DEIER should effect is the propagation of the
interrupt to the CPU, and not the status bits in registers.



More information about the Intel-gfx mailing list