* [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE
@ 2014-01-10 18:49 Chris Wilson
2014-01-10 18:49 ` [PATCH 2/2] drm/i915: Only complain about a rogue hotplug IRQ after disabling Chris Wilson
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chris Wilson @ 2014-01-10 18:49 UTC (permalink / raw)
To: intel-gfx
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(-)
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
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 2/2] drm/i915: Only complain about a rogue hotplug IRQ after disabling
2014-01-10 18:49 [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
@ 2014-01-10 18:49 ` Chris Wilson
2014-01-10 18:52 ` [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
2014-01-10 19:57 ` Daniel Vetter
2 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2014-01-10 18:49 UTC (permalink / raw)
To: intel-gfx
Disabling the hotplug IRQ is a two-step process. First, inside the IRQ
handler we mark the rogue hotplug pin for disabling. Then later in the
hotplug worker, we actually disable the hotplug pin. So we should not
WARN about the rogue hotplug IRQ being sent until after we have
completed disabling the pin.
References: https://bugzilla.redhat.com/show_bug.cgi?id=1051170
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_irq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 3be8bcd4d797..b38a375fc48f 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1248,7 +1248,7 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev,
for (i = 1; i < HPD_NUM_PINS; i++) {
WARN_ONCE(hpd[i] & hotplug_trigger &&
- dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED,
+ dev_priv->hpd_stats[i].hpd_mark == HPD_DISABLED,
"Received HPD interrupt although disabled\n");
if (!(hpd[i] & hotplug_trigger) ||
--
1.8.5.2
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE
2014-01-10 18:49 [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
2014-01-10 18:49 ` [PATCH 2/2] drm/i915: Only complain about a rogue hotplug IRQ after disabling Chris Wilson
@ 2014-01-10 18:52 ` Chris Wilson
2014-01-10 19:57 ` Daniel Vetter
2 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2014-01-10 18:52 UTC (permalink / raw)
To: intel-gfx
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
--
Chris Wilson, Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE
2014-01-10 18:49 [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
2014-01-10 18:49 ` [PATCH 2/2] drm/i915: Only complain about a rogue hotplug IRQ after disabling Chris Wilson
2014-01-10 18:52 ` [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
@ 2014-01-10 19:57 ` Daniel Vetter
2014-01-10 20:17 ` [PATCH] drm/i915: Include more information in disabled hotplug interrupt warning Chris Wilson
2 siblings, 1 reply; 5+ messages in thread
From: Daniel Vetter @ 2014-01-10 19:57 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
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
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH] drm/i915: Include more information in disabled hotplug interrupt warning
2014-01-10 19:57 ` Daniel Vetter
@ 2014-01-10 20:17 ` Chris Wilson
0 siblings, 0 replies; 5+ messages in thread
From: Chris Wilson @ 2014-01-10 20:17 UTC (permalink / raw)
To: intel-gfx
Daniel thought that this was an opportune moment to include which pins
and bits ended up being stuck in the WARN.
Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_irq.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index b38a375fc48f..7818a57f2fa4 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -1249,7 +1249,8 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev,
WARN_ONCE(hpd[i] & hotplug_trigger &&
dev_priv->hpd_stats[i].hpd_mark == HPD_DISABLED,
- "Received HPD interrupt although disabled\n");
+ "Received HPD interrupt (0x%08x) on pin %d (0x%08x) although disabled\n",
+ hotplug_trigger, i, hpd[i]);
if (!(hpd[i] & hotplug_trigger) ||
dev_priv->hpd_stats[i].hpd_mark != HPD_ENABLED)
--
1.8.5.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-01-10 20:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-10 18:49 [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
2014-01-10 18:49 ` [PATCH 2/2] drm/i915: Only complain about a rogue hotplug IRQ after disabling Chris Wilson
2014-01-10 18:52 ` [PATCH 1/2] drm/i915: Only WARN about a stuck hotplug irq ONCE Chris Wilson
2014-01-10 19:57 ` Daniel Vetter
2014-01-10 20:17 ` [PATCH] drm/i915: Include more information in disabled hotplug interrupt warning Chris Wilson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox