[PATCH 09/12] drm/i915: Cleanup gen3 irq uninstall

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

 



On Tue, 24 Apr 2012 22:59:49 +0100
Chris Wilson <chris at chris-wilson.co.uk> wrote:

> Bring the for-each-pipe loops together so that the code is easier on the
> eyes.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_irq.c |   11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index a4e074e..e5f627f 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -2495,9 +2495,6 @@ static void i915_irq_uninstall(struct drm_device * dev)
>  	drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
>  	int pipe;
>  
> -	if (!dev_priv)
> -		return;
> -
>  	dev_priv->vblank_pipe = 0;
>  
>  	if (I915_HAS_HOTPLUG(dev)) {
> @@ -2506,14 +2503,14 @@ static void i915_irq_uninstall(struct drm_device * dev)
>  	}
>  
>  	I915_WRITE16(HWSTAM, 0xffff);
> -	for_each_pipe(pipe)
> +	for_each_pipe(pipe) {
> +		/* Clear enable bits; then clear status bits */
>  		I915_WRITE(PIPESTAT(pipe), 0);
> +		I915_WRITE(PIPESTAT(pipe), I915_READ(PIPESTAT(pipe)));
> +	}
>  	I915_WRITE(IMR, 0xffffffff);
>  	I915_WRITE(IER, 0x0);
>  
> -	for_each_pipe(pipe)
> -		I915_WRITE(PIPESTAT(pipe),
> -			   I915_READ(PIPESTAT(pipe)) & 0x8000ffff);
>  	I915_WRITE(IIR, I915_READ(IIR));
>  }
>  

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>

-- 
Jesse Barnes, Intel Open Source Technology Center


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux