diff mbox

[09/12] drm/i915: limit VLV IRQ enables to those we use

Message ID 1349217826-2538-10-git-send-email-jbarnes@virtuousgeek.org (mailing list archive)
State New, archived
Headers show

Commit Message

Jesse Barnes Oct. 2, 2012, 10:43 p.m. UTC
To match IVB.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/gpu/drm/i915/i915_irq.c |   18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

Comments

Ben Widawsky Oct. 2, 2012, 11:53 p.m. UTC | #1
On Tue,  2 Oct 2012 17:43:43 -0500
Jesse Barnes <jbarnes@virtuousgeek.org> wrote:

> To match IVB.
> 
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> ---
>  drivers/gpu/drm/i915/i915_irq.c |   18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index d915126..096b387 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1957,6 +1957,7 @@ static int valleyview_irq_postinstall(struct drm_device *dev)
>  	u32 enable_mask;
>  	u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN);
>  	u32 pipestat_enable = PLANE_FLIP_DONE_INT_EN_VLV;
> +	u32 render_irqs;
>  	u16 msid;
>  
>  	enable_mask = I915_DISPLAY_PORT_INTERRUPT;
> @@ -1996,21 +1997,12 @@ static int valleyview_irq_postinstall(struct drm_device *dev)
>  	I915_WRITE(VLV_IIR, 0xffffffff);
>  	I915_WRITE(VLV_IIR, 0xffffffff);
>  
> -	dev_priv->gt_irq_mask = ~0;
> -
> -	I915_WRITE(GTIIR, I915_READ(GTIIR));
>  	I915_WRITE(GTIIR, I915_READ(GTIIR));
>  	I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
> -	I915_WRITE(GTIER, GT_GEN6_BLT_FLUSHDW_NOTIFY_INTERRUPT |
> -		   GT_GEN6_BLT_CS_ERROR_INTERRUPT |
> -		   GT_GEN6_BLT_USER_INTERRUPT |
> -		   GT_GEN6_BSD_USER_INTERRUPT |
> -		   GT_GEN6_BSD_CS_ERROR_INTERRUPT |
> -		   GT_GEN7_L3_PARITY_ERROR_INTERRUPT |
> -		   GT_PIPE_NOTIFY |
> -		   GT_RENDER_CS_ERROR_INTERRUPT |
> -		   GT_SYNC_STATUS |
> -		   GT_USER_INTERRUPT);
> +
> +	render_irqs = GT_USER_INTERRUPT | GEN6_BSD_USER_INTERRUPT |
> +		GEN6_BLITTER_USER_INTERRUPT;
> +	I915_WRITE(GTIER, render_irqs);
>  	POSTING_READ(GTIER);
>  
>  	/* ack & enable invalid PTE error interrupts */

Were parity errors intentionally dropped? I think it's fine to drop it,
but maybe add it to the commit message.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index d915126..096b387 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1957,6 +1957,7 @@  static int valleyview_irq_postinstall(struct drm_device *dev)
 	u32 enable_mask;
 	u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN);
 	u32 pipestat_enable = PLANE_FLIP_DONE_INT_EN_VLV;
+	u32 render_irqs;
 	u16 msid;
 
 	enable_mask = I915_DISPLAY_PORT_INTERRUPT;
@@ -1996,21 +1997,12 @@  static int valleyview_irq_postinstall(struct drm_device *dev)
 	I915_WRITE(VLV_IIR, 0xffffffff);
 	I915_WRITE(VLV_IIR, 0xffffffff);
 
-	dev_priv->gt_irq_mask = ~0;
-
-	I915_WRITE(GTIIR, I915_READ(GTIIR));
 	I915_WRITE(GTIIR, I915_READ(GTIIR));
 	I915_WRITE(GTIMR, dev_priv->gt_irq_mask);
-	I915_WRITE(GTIER, GT_GEN6_BLT_FLUSHDW_NOTIFY_INTERRUPT |
-		   GT_GEN6_BLT_CS_ERROR_INTERRUPT |
-		   GT_GEN6_BLT_USER_INTERRUPT |
-		   GT_GEN6_BSD_USER_INTERRUPT |
-		   GT_GEN6_BSD_CS_ERROR_INTERRUPT |
-		   GT_GEN7_L3_PARITY_ERROR_INTERRUPT |
-		   GT_PIPE_NOTIFY |
-		   GT_RENDER_CS_ERROR_INTERRUPT |
-		   GT_SYNC_STATUS |
-		   GT_USER_INTERRUPT);
+
+	render_irqs = GT_USER_INTERRUPT | GEN6_BSD_USER_INTERRUPT |
+		GEN6_BLITTER_USER_INTERRUPT;
+	I915_WRITE(GTIER, render_irqs);
 	POSTING_READ(GTIER);
 
 	/* ack & enable invalid PTE error interrupts */