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

Daniel Vetter daniel at ffwll.ch
Mon Jun 29 09:37:53 PDT 2015


On Mon, Jun 29, 2015 at 04:30:40PM +0530, Sivakumar Thulasimani wrote:
> 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);

digport_work_func schedules the hotplug handler for everything not
handled, which should result in this getting called. It really shouldn't
matter when exactly it gets called.

Can you please provide more data and details for your analysis? Like bug
reports, backtraces and dmesg traces showing that the handler is stuck and
similar things.

Also your patch is missing the s-o-b line.
-Daniel

> +
>  	spin_unlock_irq(&dev_priv->irq_lock);
>  
>  	for (i = 0; i < I915_MAX_PORTS; i++) {
> -- 
> 1.7.9.5
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list