diff mbox

i915 irq storm mitigation in 3.10

Message ID 20973.38872.684689.270371@linux-qknr.site (mailing list archive)
State New, archived
Headers show

Commit Message

Egbert Eich July 22, 2013, 8:36 p.m. UTC
Jan Niggemann writes:
 > Egbert, Daniel, others,
 > It's a Lenovo ThinkPad T400, the model is 7434-AG2.
 > root@muretop:~# lspci -n
 > 00:00.0 0600: 8086:2a40 (rev 07)
 > 00:02.0 0300: 8086:2a42 (rev 07)

Ok, this is a gm45.

 > 
 > As to the log: I messed up the kernel parameters this morning... was 
 > out of coffee this morning and my 1,5y daughter played around me :-)
 > 
 > Here's my kernel log with drm.debug and printk.time enabled:
 > Uncompressed (22M): http://files.hz6.de/kern_20130722.log

These logs show that interrupts are still coming thru although they
should be disabled.

Could you try if the patch below makes any difference?

Cheers,
	Egbert.

From 70dae32e99799d15ddcedd5853514215624a8289 Mon Sep 17 00:00:00 2001
From: Egbert Eich <eich@suse.de>
Date: Mon, 22 Jul 2013 22:33:36 +0200
Subject: [PATCH] drm/i915: Make sure PORT_HOTPLUG_EN is written

Add posting read to make sure PORT_HOTPLUG_EN is written in
i915_hpd_irq_setup().

Signed-off-by: Egbert Eich <eich@suse.de>
---
 drivers/gpu/drm/i915/i915_irq.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Daniel Vetter July 23, 2013, 8:17 a.m. UTC | #1
On Mon, Jul 22, 2013 at 10:36 PM, Egbert Eich <eich@suse.com> wrote:
> Jan Niggemann writes:
>  > Egbert, Daniel, others,
>  > It's a Lenovo ThinkPad T400, the model is 7434-AG2.
>  > root@muretop:~# lspci -n
>  > 00:00.0 0600: 8086:2a40 (rev 07)
>  > 00:02.0 0300: 8086:2a42 (rev 07)
>
> Ok, this is a gm45.
>
>  >
>  > As to the log: I messed up the kernel parameters this morning... was
>  > out of coffee this morning and my 1,5y daughter played around me :-)
>  >
>  > Here's my kernel log with drm.debug and printk.time enabled:
>  > Uncompressed (22M): http://files.hz6.de/kern_20130722.log
>
> These logs show that interrupts are still coming thru although they
> should be disabled.

Hm, in my reading of that logfile it looks like the irq disabling
works, every time we detect a storm there's no noise for 2 minutes on
that pin. But it seems to take the code an awful long time to notice a
storm, sometimes it even takes 2-3 minutes ... And we seem to get a
lot of hpd events per second, so this should trigger much quicker. No
idea yet what's going on here.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index f708e4e..e43d809 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -2802,6 +2802,7 @@  static void i915_hpd_irq_setup(struct drm_device *dev)
 
 		/* Ignore TV since it's buggy */
 		I915_WRITE(PORT_HOTPLUG_EN, hotplug_en);
+		POSTING_READ(PORT_HOTPLUG_EN);
 	}
 }