This patch skips the loop in the irq handler in non-MSI mode, with the
thought that we never had IRQ floods before it was added. I've tested
for 'a while' on my GM965 and haven't seen any problems, but I hadn't
run the looping code before.

If you're getting IRQs disabled, please give this a try and report back.

From 29165ca636b4703046f1290c489885f1f3c41420 Mon Sep 17 00:00:00 2001
From: Keith Packard <[EMAIL PROTECTED]>
Date: Mon, 17 Nov 2008 21:32:29 -0800
Subject: [PATCH] [drm/i915] Don't loop in i915 irq_handler in non-MSI mode

Fixing MSI interrupts required looping in the IRQ handler until IIR went to
zero (otherwise we'd lose interrupts). This isn't required in non-MSI mode
as the IRQ will be re-raised on exit, and if we try this, it appears to make
some machines generate an endless stream of interrupt requests while IIR is
zero. The kernel eventually disables the interrupt and things stop working.

Signed-off-by: Keith Packard <[EMAIL PROTECTED]>
---
 drivers/gpu/drm/i915/i915_irq.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 654d42f..b7e1a04 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -244,7 +244,7 @@ irqreturn_t i915_driver_irq_handler(DRM_IRQ_ARGS)
                 * stray interrupts.
                 */
                iir = new_iir;
-       } while (iir != 0);
+       } while (iir != 0 && dev->pdev->msi_enabled);
 
        return IRQ_HANDLED;
 }
-- 
1.5.6.5


-- 
[EMAIL PROTECTED]

Attachment: signature.asc
Description: This is a digitally signed message part

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to