[Intel-gfx] [PATCH] drm/i915/hotplug: Fixing storm handling for digital ports

Sivakumar Thulasimani sivakumar.thulasimani at intel.com
Mon Jun 29 04:00:40 PDT 2015


From: "Thulasimani, Sivakumar" <sivakumar.thulasimani at intel.com>

HPD storm is detected in intel_hpd_irq_handler and disabled for respective
port immediately but polling is enabled only in i915_hotplug_work_func and
not in i915_digport_work_func. This will result in disabled hpd never enabled
back again. This is fixed by calling the appropriate storm disable function
that will handle the rest of the sequence (both polling enable and reenabling
of HPD later).
---
 drivers/gpu/drm/i915/intel_hotplug.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c
index 3c53aac..8e18587 100644
--- a/drivers/gpu/drm/i915/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/intel_hotplug.c
@@ -205,6 +205,10 @@ static void i915_digport_work_func(struct work_struct *work)
 	dev_priv->hotplug.long_port_mask = 0;
 	short_port_mask = dev_priv->hotplug.short_port_mask;
 	dev_priv->hotplug.short_port_mask = 0;
+
+	/* Disable hotplug on connectors that hit an irq storm. */
+	intel_hpd_irq_storm_disable(dev_priv);
+
 	spin_unlock_irq(&dev_priv->irq_lock);
 
 	for (i = 0; i < I915_MAX_PORTS; i++) {
-- 
1.7.9.5



More information about the Intel-gfx mailing list