patch-2.4.0-test2 linux/arch/sh/kernel/irq.c
Next file: linux/arch/sh/kernel/process.c
Previous file: linux/arch/sh/kernel/io_se.c
Back to the patch index
Back to the overall index
- Lines: 29
- Date:
Mon Jun 19 17:59:37 2000
- Orig file:
v2.4.0-test1/linux/arch/sh/kernel/irq.c
- Orig date:
Tue May 23 15:31:34 2000
diff -u --recursive --new-file v2.4.0-test1/linux/arch/sh/kernel/irq.c linux/arch/sh/kernel/irq.c
@@ -37,6 +37,9 @@
#include <asm/irq.h>
#include <linux/irq.h>
+#ifdef CONFIG_HD64461
+#include <asm/hd64461.h>
+#endif
unsigned int local_bh_count[NR_CPUS];
unsigned int local_irq_count[NR_CPUS];
@@ -243,6 +246,18 @@
"shlr %0\n\t"
"add #-16, %0\n\t"
:"=z" (irq));
+#if defined(CONFIG_HD64461)
+ if (irq == CONFIG_HD64461_IRQ) {
+ unsigned short bit;
+ unsigned short nirr = inw(HD64461_NIRR);
+ unsigned short nimr = inw(HD64461_NIMR);
+ nirr &= ~nimr;
+ for (bit = 1, irq = 0; irq < 16; bit <<= 1, irq++)
+ if (nirr & bit) break;
+ if (irq == 16) irq = CONFIG_HD64461_IRQ;
+ else irq += HD64461_IRQBASE;
+ }
+#endif
kstat.irqs[cpu][irq]++;
desc = irq_desc + irq;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)