diff mbox

[1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE

Message ID 1389379761-16837-1-git-send-email-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Jan. 10, 2014, 6:49 p.m. UTC
It seems that hardware that is broken enough to emit a hotplug IRQ even
though the pin is surposedly disable, will do so indefinitely.

References: https://bugzilla.redhat.com/show_bug.cgi?id=1051170
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1051369
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_irq.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Chris Wilson Jan. 10, 2014, 6:52 p.m. UTC | #1
On Fri, Jan 10, 2014 at 06:49:20PM +0000, Chris Wilson wrote:
> It seems that hardware that is broken enough to emit a hotplug IRQ even
> though the pin is surposedly disable, will do so indefinitely.
> 
> References: https://bugzilla.redhat.com/show_bug.cgi?id=1051170
> Link: https://bugzilla.redhat.com/show_bug.cgi?id=1051369

Wrong URL, should have been
Link: https://bugzilla.redhat.com/attachment.cgi?id=847786
-Chris
Daniel Vetter Jan. 10, 2014, 7:57 p.m. UTC | #2
On Fri, Jan 10, 2014 at 06:49:20PM +0000, Chris Wilson wrote:
> It seems that hardware that is broken enough to emit a hotplug IRQ even
> though the pin is surposedly disable, will do so indefinitely.
> 
> References: https://bugzilla.redhat.com/show_bug.cgi?id=1051170
> Link: https://bugzilla.redhat.com/show_bug.cgi?id=1051369
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

gm45, unsurprisingly ... Underlying cause should be fixed with

commit 0ce99f749b3834edeb500e17d6ad17e86b60ff83
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Jul 26 11:27:49 2013 +0200

    drm/i915: fix gen4 digital port hotplug definitions

Or at least that's my hope. For further debug help, care to also dump the
hotplug_trigger bits in the format string while at it?
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_irq.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index ec67bb8aff0a..3be8bcd4d797 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1247,9 +1247,9 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev,
>  	spin_lock(&dev_priv->irq_lock);
>  	for (i = 1; i < HPD_NUM_PINS; i++) {
>  
> -		WARN(((hpd[i] & hotplug_trigger) &&
> -		      dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED),
> -		     "Received HPD interrupt although disabled\n");
> +		WARN_ONCE(hpd[i] & hotplug_trigger &&
> +			  dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED,
> +			  "Received HPD interrupt although disabled\n");
>  
>  		if (!(hpd[i] & hotplug_trigger) ||
>  		    dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED)
> -- 
> 1.8.5.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index ec67bb8aff0a..3be8bcd4d797 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1247,9 +1247,9 @@  static inline void intel_hpd_irq_handler(struct drm_device *dev,
 	spin_lock(&dev_priv->irq_lock);
 	for (i = 1; i < HPD_NUM_PINS; i++) {
 
-		WARN(((hpd[i] & hotplug_trigger) &&
-		      dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED),
-		     "Received HPD interrupt although disabled\n");
+		WARN_ONCE(hpd[i] & hotplug_trigger &&
+			  dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED,
+			  "Received HPD interrupt although disabled\n");
 
 		if (!(hpd[i] & hotplug_trigger) ||
 		    dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED)