[Intel-gfx] [PATCH] drm/i915: remove redundant and partially broken GSE interrupt enable

Jani Nikula jani.nikula at intel.com
Tue Mar 12 09:50:21 CET 2013


GSE interrupts are always enabled on PCH split platforms, so remove the
redundant enable for ASLE. Moreover, the same interrupt bit was used on all
PCH split platforms, even though the bit definitions changed in IVB, thus
unmasking a reserved bit.

Signed-off-by: Jani Nikula <jani.nikula at intel.com>

---

An alternative to this patch would be keeping GSE interrupts masked until
separately enabled. The question is, when are we ready to handle GSE
interrupts? And if we need to care about that, would the right choice be to
mask the interrupts, or rather tell the BIOS through opregion ARDY/DRDY
fields that we are not ready yet?

I chose the approach in this patch because it's the smallest change towards
being more correct; removing a NOP unmask for ILK+SNB and removing a bogus
unmask for IVB and later.

Let the bikeshedding begin. ;)
---
 drivers/gpu/drm/i915/i915_irq.c |   16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 2139714..ba47ec0 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -98,17 +98,15 @@ void intel_enable_asle(struct drm_device *dev)
 	if (IS_VALLEYVIEW(dev))
 		return;
 
+	/* GSE interrupt is always enabled */
+	if (HAS_PCH_SPLIT(dev))
+		return;
+
 	spin_lock_irqsave(&dev_priv->irq_lock, irqflags);
 
-	if (HAS_PCH_SPLIT(dev))
-		ironlake_enable_display_irq(dev_priv, DE_GSE);
-	else {
-		i915_enable_pipestat(dev_priv, 1,
-				     PIPE_LEGACY_BLC_EVENT_ENABLE);
-		if (INTEL_INFO(dev)->gen >= 4)
-			i915_enable_pipestat(dev_priv, 0,
-					     PIPE_LEGACY_BLC_EVENT_ENABLE);
-	}
+	i915_enable_pipestat(dev_priv, 1, PIPE_LEGACY_BLC_EVENT_ENABLE);
+	if (INTEL_INFO(dev)->gen >= 4)
+		i915_enable_pipestat(dev_priv, 0, PIPE_LEGACY_BLC_EVENT_ENABLE);
 
 	spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
 }
-- 
1.7.9.5




More information about the Intel-gfx mailing list