linux-mips
[Top] [All Lists]

[PATCH] MIPS: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD

To: linux-mips@linux-mips.org, ralf@linux-mips.org
Subject: [PATCH] MIPS: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD
From: Venkat Subbiah <venkat.subbiah@cavium.com>
Date: Mon, 3 Oct 2011 16:30:28 -0700
Cc: linux-rt-users@vger.kernel.org, david.daney@cavium.com
Sender: linux-mips-bounce@linux-mips.org
This is to exclude it from force threading to allow RT patch set to work.

The watchdog timers are per-CPU and the addresses of register that reset
the timer are calculated based on the current CPU.  Therefore we cannot
allow it to run on a thread on a different CPU.  Also we only do a
single register write, which is much faster than scheduling a handler
thread.

And while on this line remove IRQF_DISABLED as this flag is a NOP.


Signed-off-by: Venkat Subbiah <venkat.subbiah@cavium.com>
Acked-by: David Daney <david.daney@cavium.com>
---
 drivers/watchdog/octeon-wdt-main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/watchdog/octeon-wdt-main.c 
b/drivers/watchdog/octeon-wdt-main.c
index 945ee83..7c0d863 100644
--- a/drivers/watchdog/octeon-wdt-main.c
+++ b/drivers/watchdog/octeon-wdt-main.c
@@ -402,7 +402,7 @@ static void octeon_wdt_setup_interrupt(int cpu)
        irq = OCTEON_IRQ_WDOG0 + core;
 
        if (request_irq(irq, octeon_wdt_poke_irq,
-                       IRQF_DISABLED, "octeon_wdt", octeon_wdt_poke_irq))
+                       IRQF_NO_THREAD, "octeon_wdt", octeon_wdt_poke_irq))
                panic("octeon_wdt: Couldn't obtain irq %d", irq);
 
        cpumask_set_cpu(cpu, &irq_enabled_cpus);
-- 
1.7.0.4


<Prev in Thread] Current Thread [Next in Thread>