diff options
| author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2007-01-07 12:14:29 -0500 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-06 11:53:08 -0500 |
| commit | 97dcb82de6cc99a5669eb8e342efc24cceb1e77e (patch) | |
| tree | e195fd57deda8d38652c746c04a7c374cdf951a0 /include | |
| parent | b6ec8f069bf202d2bd888aa9137b2cc3aad4c573 (diff) | |
[MIPS] Define MIPS_CPU_IRQ_BASE in generic header
The irq_base for {mips,rm7k,rm9k}_cpu_irq_init() are constant on all
platforms and are same value on most platforms (0 or 16, depends on
CONFIG_I8259). Define them in asm-mips/mach-generic/irq.h and make
them customizable. This will save a few cycle on each CPU interrupt.
A good side effect is removing some dependencies to MALTA in generic
SMTC code.
Although MIPS_CPU_IRQ_BASE is customizable, this patch changes irq
mappings on DDB5477, EMMA2RH and MIPS_SIM, since really customizing
them might cause some header dependency problem and there seems no
good reason to customize it. So currently only VR41XX is using custom
MIPS_CPU_IRQ_BASE value, which is 0 regardless of CONFIG_I8259.
Testing this patch on those platforms is greatly appreciated. Thank
you.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-mips/ddb5xxx/ddb5477.h | 5 | ||||
| -rw-r--r-- | include/asm-mips/dec/interrupts.h | 3 | ||||
| -rw-r--r-- | include/asm-mips/emma2rh/emma2rh.h | 5 | ||||
| -rw-r--r-- | include/asm-mips/emma2rh/markeins.h | 1 | ||||
| -rw-r--r-- | include/asm-mips/irq_cpu.h | 6 | ||||
| -rw-r--r-- | include/asm-mips/mach-cobalt/cobalt.h | 4 | ||||
| -rw-r--r-- | include/asm-mips/mach-emma2rh/irq.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/mach-generic/irq.h | 26 | ||||
| -rw-r--r-- | include/asm-mips/mach-mips/irq.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/mach-vr41xx/irq.h | 8 | ||||
| -rw-r--r-- | include/asm-mips/mips-boards/atlasint.h | 4 | ||||
| -rw-r--r-- | include/asm-mips/mips-boards/maltaint.h | 4 | ||||
| -rw-r--r-- | include/asm-mips/mips-boards/seadint.h | 4 | ||||
| -rw-r--r-- | include/asm-mips/mips-boards/simint.h | 3 | ||||
| -rw-r--r-- | include/asm-mips/rtlx.h | 3 | ||||
| -rw-r--r-- | include/asm-mips/sgi/ip22.h | 13 |
16 files changed, 73 insertions, 20 deletions
diff --git a/include/asm-mips/ddb5xxx/ddb5477.h b/include/asm-mips/ddb5xxx/ddb5477.h index c5af4b73fd..27655dbd23 100644 --- a/include/asm-mips/ddb5xxx/ddb5477.h +++ b/include/asm-mips/ddb5xxx/ddb5477.h | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #ifndef __ASM_DDB5XXX_DDB5477_H | 17 | #ifndef __ASM_DDB5XXX_DDB5477_H |
| 18 | #define __ASM_DDB5XXX_DDB5477_H | 18 | #define __ASM_DDB5XXX_DDB5477_H |
| 19 | 19 | ||
| 20 | #include <irq.h> | ||
| 20 | 21 | ||
| 21 | /* | 22 | /* |
| 22 | * This contains macros that are specific to DDB5477 or renamed from | 23 | * This contains macros that are specific to DDB5477 or renamed from |
| @@ -257,8 +258,8 @@ extern void ll_vrc5477_irq_disable(int vrc5477_irq); | |||
| 257 | #define DDB_IRQ_BASE 0 | 258 | #define DDB_IRQ_BASE 0 |
| 258 | 259 | ||
| 259 | #define I8259_IRQ_BASE DDB_IRQ_BASE | 260 | #define I8259_IRQ_BASE DDB_IRQ_BASE |
| 260 | #define VRC5477_IRQ_BASE (I8259_IRQ_BASE + NUM_I8259_IRQ) | 261 | #define CPU_IRQ_BASE MIPS_CPU_IRQ_BASE |
| 261 | #define CPU_IRQ_BASE (VRC5477_IRQ_BASE + NUM_VRC5477_IRQ) | 262 | #define VRC5477_IRQ_BASE (CPU_IRQ_BASE + NUM_CPU_IRQ) |
| 262 | 263 | ||
| 263 | /* | 264 | /* |
| 264 | * vrc5477 irq defs | 265 | * vrc5477 irq defs |
diff --git a/include/asm-mips/dec/interrupts.h b/include/asm-mips/dec/interrupts.h index 273e4d65bf..e10d341067 100644 --- a/include/asm-mips/dec/interrupts.h +++ b/include/asm-mips/dec/interrupts.h | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #ifndef __ASM_DEC_INTERRUPTS_H | 14 | #ifndef __ASM_DEC_INTERRUPTS_H |
| 15 | #define __ASM_DEC_INTERRUPTS_H | 15 | #define __ASM_DEC_INTERRUPTS_H |
| 16 | 16 | ||
| 17 | #include <irq.h> | ||
| 17 | #include <asm/mipsregs.h> | 18 | #include <asm/mipsregs.h> |
| 18 | 19 | ||
| 19 | 20 | ||
| @@ -87,7 +88,7 @@ | |||
| 87 | #define DEC_CPU_INR_SW1 1 /* software #1 */ | 88 | #define DEC_CPU_INR_SW1 1 /* software #1 */ |
| 88 | #define DEC_CPU_INR_SW0 0 /* software #0 */ | 89 | #define DEC_CPU_INR_SW0 0 /* software #0 */ |
| 89 | 90 | ||
| 90 | #define DEC_CPU_IRQ_BASE 0 /* first IRQ assigned to CPU */ | 91 | #define DEC_CPU_IRQ_BASE MIPS_CPU_IRQ_BASE /* first IRQ assigned to CPU */ |
| 91 | 92 | ||
| 92 | #define DEC_CPU_IRQ_NR(n) ((n) + DEC_CPU_IRQ_BASE) | 93 | #define DEC_CPU_IRQ_NR(n) ((n) + DEC_CPU_IRQ_BASE) |
| 93 | #define DEC_CPU_IRQ_MASK(n) (1 << ((n) + CAUSEB_IP)) | 94 | #define DEC_CPU_IRQ_MASK(n) (1 << ((n) + CAUSEB_IP)) |
diff --git a/include/asm-mips/emma2rh/emma2rh.h b/include/asm-mips/emma2rh/emma2rh.h index 4fb8df71ca..6a1af0af51 100644 --- a/include/asm-mips/emma2rh/emma2rh.h +++ b/include/asm-mips/emma2rh/emma2rh.h | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | #ifndef __ASM_EMMA2RH_EMMA2RH_H | 24 | #ifndef __ASM_EMMA2RH_EMMA2RH_H |
| 25 | #define __ASM_EMMA2RH_EMMA2RH_H | 25 | #define __ASM_EMMA2RH_EMMA2RH_H |
| 26 | 26 | ||
| 27 | #include <irq.h> | ||
| 28 | |||
| 27 | /* | 29 | /* |
| 28 | * EMMA2RH registers | 30 | * EMMA2RH registers |
| 29 | */ | 31 | */ |
| @@ -104,7 +106,8 @@ | |||
| 104 | #define NUM_EMMA2RH_IRQ 96 | 106 | #define NUM_EMMA2RH_IRQ 96 |
| 105 | 107 | ||
| 106 | #define CPU_EMMA2RH_CASCADE 2 | 108 | #define CPU_EMMA2RH_CASCADE 2 |
| 107 | #define EMMA2RH_IRQ_BASE 0 | 109 | #define CPU_IRQ_BASE MIPS_CPU_IRQ_BASE |
| 110 | #define EMMA2RH_IRQ_BASE (CPU_IRQ_BASE + NUM_CPU_IRQ) | ||
| 108 | 111 | ||
| 109 | /* | 112 | /* |
| 110 | * emma2rh irq defs | 113 | * emma2rh irq defs |
diff --git a/include/asm-mips/emma2rh/markeins.h b/include/asm-mips/emma2rh/markeins.h index 8fa7667950..973b062849 100644 --- a/include/asm-mips/emma2rh/markeins.h +++ b/include/asm-mips/emma2rh/markeins.h | |||
| @@ -33,7 +33,6 @@ | |||
| 33 | 33 | ||
| 34 | #define EMMA2RH_SW_IRQ_BASE (EMMA2RH_IRQ_BASE + NUM_EMMA2RH_IRQ) | 34 | #define EMMA2RH_SW_IRQ_BASE (EMMA2RH_IRQ_BASE + NUM_EMMA2RH_IRQ) |
| 35 | #define EMMA2RH_GPIO_IRQ_BASE (EMMA2RH_SW_IRQ_BASE + NUM_EMMA2RH_IRQ_SW) | 35 | #define EMMA2RH_GPIO_IRQ_BASE (EMMA2RH_SW_IRQ_BASE + NUM_EMMA2RH_IRQ_SW) |
| 36 | #define CPU_IRQ_BASE (EMMA2RH_GPIO_IRQ_BASE + NUM_EMMA2RH_IRQ_GPIO) | ||
| 37 | 36 | ||
| 38 | #define EMMA2RH_SW_IRQ_INT0 (0+EMMA2RH_SW_IRQ_BASE) | 37 | #define EMMA2RH_SW_IRQ_INT0 (0+EMMA2RH_SW_IRQ_BASE) |
| 39 | #define EMMA2RH_SW_IRQ_INT1 (1+EMMA2RH_SW_IRQ_BASE) | 38 | #define EMMA2RH_SW_IRQ_INT1 (1+EMMA2RH_SW_IRQ_BASE) |
diff --git a/include/asm-mips/irq_cpu.h b/include/asm-mips/irq_cpu.h index ed3d1e3d09..ef6a07cddb 100644 --- a/include/asm-mips/irq_cpu.h +++ b/include/asm-mips/irq_cpu.h | |||
| @@ -13,8 +13,8 @@ | |||
| 13 | #ifndef _ASM_IRQ_CPU_H | 13 | #ifndef _ASM_IRQ_CPU_H |
| 14 | #define _ASM_IRQ_CPU_H | 14 | #define _ASM_IRQ_CPU_H |
| 15 | 15 | ||
| 16 | extern void mips_cpu_irq_init(int irq_base); | 16 | extern void mips_cpu_irq_init(void); |
| 17 | extern void rm7k_cpu_irq_init(int irq_base); | 17 | extern void rm7k_cpu_irq_init(void); |
| 18 | extern void rm9k_cpu_irq_init(int irq_base); | 18 | extern void rm9k_cpu_irq_init(void); |
| 19 | 19 | ||
| 20 | #endif /* _ASM_IRQ_CPU_H */ | 20 | #endif /* _ASM_IRQ_CPU_H */ |
diff --git a/include/asm-mips/mach-cobalt/cobalt.h b/include/asm-mips/mach-cobalt/cobalt.h index 00b0fc68d5..24a8d51a55 100644 --- a/include/asm-mips/mach-cobalt/cobalt.h +++ b/include/asm-mips/mach-cobalt/cobalt.h | |||
| @@ -12,6 +12,8 @@ | |||
| 12 | #ifndef __ASM_COBALT_H | 12 | #ifndef __ASM_COBALT_H |
| 13 | #define __ASM_COBALT_H | 13 | #define __ASM_COBALT_H |
| 14 | 14 | ||
| 15 | #include <irq.h> | ||
| 16 | |||
| 15 | /* | 17 | /* |
| 16 | * i8259 legacy interrupts used on Cobalt: | 18 | * i8259 legacy interrupts used on Cobalt: |
| 17 | * | 19 | * |
| @@ -25,7 +27,7 @@ | |||
| 25 | /* | 27 | /* |
| 26 | * CPU IRQs are 16 ... 23 | 28 | * CPU IRQs are 16 ... 23 |
| 27 | */ | 29 | */ |
| 28 | #define COBALT_CPU_IRQ 16 | 30 | #define COBALT_CPU_IRQ MIPS_CPU_IRQ_BASE |
| 29 | 31 | ||
| 30 | #define COBALT_GALILEO_IRQ (COBALT_CPU_IRQ + 2) | 32 | #define COBALT_GALILEO_IRQ (COBALT_CPU_IRQ + 2) |
| 31 | #define COBALT_SCC_IRQ (COBALT_CPU_IRQ + 3) /* pre-production has 85C30 */ | 33 | #define COBALT_SCC_IRQ (COBALT_CPU_IRQ + 3) /* pre-production has 85C30 */ |
diff --git a/include/asm-mips/mach-emma2rh/irq.h b/include/asm-mips/mach-emma2rh/irq.h index bce64244b8..5439eb8564 100644 --- a/include/asm-mips/mach-emma2rh/irq.h +++ b/include/asm-mips/mach-emma2rh/irq.h | |||
| @@ -10,4 +10,6 @@ | |||
| 10 | 10 | ||
| 11 | #define NR_IRQS 256 | 11 | #define NR_IRQS 256 |
| 12 | 12 | ||
| 13 | #include_next <irq.h> | ||
| 14 | |||
| 13 | #endif /* __ASM_MACH_EMMA2RH_IRQ_H */ | 15 | #endif /* __ASM_MACH_EMMA2RH_IRQ_H */ |
diff --git a/include/asm-mips/mach-generic/irq.h b/include/asm-mips/mach-generic/irq.h index 500e10ff24..91e6778907 100644 --- a/include/asm-mips/mach-generic/irq.h +++ b/include/asm-mips/mach-generic/irq.h | |||
| @@ -8,6 +8,32 @@ | |||
| 8 | #ifndef __ASM_MACH_GENERIC_IRQ_H | 8 | #ifndef __ASM_MACH_GENERIC_IRQ_H |
| 9 | #define __ASM_MACH_GENERIC_IRQ_H | 9 | #define __ASM_MACH_GENERIC_IRQ_H |
| 10 | 10 | ||
| 11 | #ifndef NR_IRQS | ||
| 11 | #define NR_IRQS 128 | 12 | #define NR_IRQS 128 |
| 13 | #endif | ||
| 14 | |||
| 15 | #ifdef CONFIG_IRQ_CPU | ||
| 16 | |||
| 17 | #ifndef MIPS_CPU_IRQ_BASE | ||
| 18 | #ifdef CONFIG_I8259 | ||
| 19 | #define MIPS_CPU_IRQ_BASE 16 | ||
| 20 | #else | ||
| 21 | #define MIPS_CPU_IRQ_BASE 0 | ||
| 22 | #endif /* CONFIG_I8259 */ | ||
| 23 | #endif | ||
| 24 | |||
| 25 | #ifdef CONFIG_IRQ_CPU_RM7K | ||
| 26 | #ifndef RM7K_CPU_IRQ_BASE | ||
| 27 | #define RM7K_CPU_IRQ_BASE (MIPS_CPU_IRQ_BASE+8) | ||
| 28 | #endif | ||
| 29 | #endif | ||
| 30 | |||
| 31 | #ifdef CONFIG_IRQ_CPU_RM9K | ||
| 32 | #ifndef RM9K_CPU_IRQ_BASE | ||
| 33 | #define RM9K_CPU_IRQ_BASE (MIPS_CPU_IRQ_BASE+12) | ||
| 34 | #endif | ||
| 35 | #endif | ||
| 36 | |||
| 37 | #endif /* CONFIG_IRQ_CPU */ | ||
| 12 | 38 | ||
| 13 | #endif /* __ASM_MACH_GENERIC_IRQ_H */ | 39 | #endif /* __ASM_MACH_GENERIC_IRQ_H */ |
diff --git a/include/asm-mips/mach-mips/irq.h b/include/asm-mips/mach-mips/irq.h index e994b0c012..9b9da26683 100644 --- a/include/asm-mips/mach-mips/irq.h +++ b/include/asm-mips/mach-mips/irq.h | |||
| @@ -4,4 +4,6 @@ | |||
| 4 | 4 | ||
| 5 | #define NR_IRQS 256 | 5 | #define NR_IRQS 256 |
| 6 | 6 | ||
| 7 | #include_next <irq.h> | ||
| 8 | |||
| 7 | #endif /* __ASM_MACH_MIPS_IRQ_H */ | 9 | #endif /* __ASM_MACH_MIPS_IRQ_H */ |
diff --git a/include/asm-mips/mach-vr41xx/irq.h b/include/asm-mips/mach-vr41xx/irq.h new file mode 100644 index 0000000000..862058d3f8 --- /dev/null +++ b/include/asm-mips/mach-vr41xx/irq.h | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #ifndef __ASM_MACH_VR41XX_IRQ_H | ||
| 2 | #define __ASM_MACH_VR41XX_IRQ_H | ||
| 3 | |||
| 4 | #include <asm/vr41xx/irq.h> /* for MIPS_CPU_IRQ_BASE */ | ||
| 5 | |||
| 6 | #include_next <irq.h> | ||
| 7 | |||
| 8 | #endif /* __ASM_MACH_VR41XX_IRQ_H */ | ||
diff --git a/include/asm-mips/mips-boards/atlasint.h b/include/asm-mips/mips-boards/atlasint.h index b15e4ea0b0..76add42e48 100644 --- a/include/asm-mips/mips-boards/atlasint.h +++ b/include/asm-mips/mips-boards/atlasint.h | |||
| @@ -26,10 +26,12 @@ | |||
| 26 | #ifndef _MIPS_ATLASINT_H | 26 | #ifndef _MIPS_ATLASINT_H |
| 27 | #define _MIPS_ATLASINT_H | 27 | #define _MIPS_ATLASINT_H |
| 28 | 28 | ||
| 29 | #include <irq.h> | ||
| 30 | |||
| 29 | /* | 31 | /* |
| 30 | * Interrupts 0..7 are used for Atlas CPU interrupts (nonEIC mode) | 32 | * Interrupts 0..7 are used for Atlas CPU interrupts (nonEIC mode) |
| 31 | */ | 33 | */ |
| 32 | #define MIPSCPU_INT_BASE 0 | 34 | #define MIPSCPU_INT_BASE MIPS_CPU_IRQ_BASE |
| 33 | 35 | ||
| 34 | /* CPU interrupt offsets */ | 36 | /* CPU interrupt offsets */ |
| 35 | #define MIPSCPU_INT_SW0 0 | 37 | #define MIPSCPU_INT_SW0 0 |
diff --git a/include/asm-mips/mips-boards/maltaint.h b/include/asm-mips/mips-boards/maltaint.h index da6cc2fbbc..9180d64661 100644 --- a/include/asm-mips/mips-boards/maltaint.h +++ b/include/asm-mips/mips-boards/maltaint.h | |||
| @@ -25,6 +25,8 @@ | |||
| 25 | #ifndef _MIPS_MALTAINT_H | 25 | #ifndef _MIPS_MALTAINT_H |
| 26 | #define _MIPS_MALTAINT_H | 26 | #define _MIPS_MALTAINT_H |
| 27 | 27 | ||
| 28 | #include <irq.h> | ||
| 29 | |||
| 28 | /* | 30 | /* |
| 29 | * Interrupts 0..15 are used for Malta ISA compatible interrupts | 31 | * Interrupts 0..15 are used for Malta ISA compatible interrupts |
| 30 | */ | 32 | */ |
| @@ -33,7 +35,7 @@ | |||
| 33 | /* | 35 | /* |
| 34 | * Interrupts 16..23 are used for Malta CPU interrupts (nonEIC mode) | 36 | * Interrupts 16..23 are used for Malta CPU interrupts (nonEIC mode) |
| 35 | */ | 37 | */ |
| 36 | #define MIPSCPU_INT_BASE 16 | 38 | #define MIPSCPU_INT_BASE MIPS_CPU_IRQ_BASE |
| 37 | 39 | ||
| 38 | /* CPU interrupt offsets */ | 40 | /* CPU interrupt offsets */ |
| 39 | #define MIPSCPU_INT_SW0 0 | 41 | #define MIPSCPU_INT_SW0 0 |
diff --git a/include/asm-mips/mips-boards/seadint.h b/include/asm-mips/mips-boards/seadint.h index 365c2a3c64..4f6a393369 100644 --- a/include/asm-mips/mips-boards/seadint.h +++ b/include/asm-mips/mips-boards/seadint.h | |||
| @@ -20,10 +20,12 @@ | |||
| 20 | #ifndef _MIPS_SEADINT_H | 20 | #ifndef _MIPS_SEADINT_H |
| 21 | #define _MIPS_SEADINT_H | 21 | #define _MIPS_SEADINT_H |
| 22 | 22 | ||
| 23 | #include <irq.h> | ||
| 24 | |||
| 23 | /* | 25 | /* |
| 24 | * Interrupts 0..7 are used for SEAD CPU interrupts | 26 | * Interrupts 0..7 are used for SEAD CPU interrupts |
| 25 | */ | 27 | */ |
| 26 | #define MIPSCPU_INT_BASE 0 | 28 | #define MIPSCPU_INT_BASE MIPS_CPU_IRQ_BASE |
| 27 | 29 | ||
| 28 | #define MIPSCPU_INT_UART0 2 | 30 | #define MIPSCPU_INT_UART0 2 |
| 29 | #define MIPSCPU_INT_UART1 3 | 31 | #define MIPSCPU_INT_UART1 3 |
diff --git a/include/asm-mips/mips-boards/simint.h b/include/asm-mips/mips-boards/simint.h index 4952e0b3bf..54f2fe621d 100644 --- a/include/asm-mips/mips-boards/simint.h +++ b/include/asm-mips/mips-boards/simint.h | |||
| @@ -17,10 +17,11 @@ | |||
| 17 | #ifndef _MIPS_SIMINT_H | 17 | #ifndef _MIPS_SIMINT_H |
| 18 | #define _MIPS_SIMINT_H | 18 | #define _MIPS_SIMINT_H |
| 19 | 19 | ||
| 20 | #include <irq.h> | ||
| 20 | 21 | ||
| 21 | #define SIM_INT_BASE 0 | 22 | #define SIM_INT_BASE 0 |
| 22 | #define MIPSCPU_INT_MB0 2 | 23 | #define MIPSCPU_INT_MB0 2 |
| 23 | #define MIPSCPU_INT_BASE 16 | 24 | #define MIPSCPU_INT_BASE MIPS_CPU_IRQ_BASE |
| 24 | #define MIPS_CPU_TIMER_IRQ 7 | 25 | #define MIPS_CPU_TIMER_IRQ 7 |
| 25 | 26 | ||
| 26 | 27 | ||
diff --git a/include/asm-mips/rtlx.h b/include/asm-mips/rtlx.h index 76cd51c6be..59162f74a7 100644 --- a/include/asm-mips/rtlx.h +++ b/include/asm-mips/rtlx.h | |||
| @@ -6,9 +6,10 @@ | |||
| 6 | #ifndef __ASM_RTLX_H | 6 | #ifndef __ASM_RTLX_H |
| 7 | #define __ASM_RTLX_H_ | 7 | #define __ASM_RTLX_H_ |
| 8 | 8 | ||
| 9 | #include <irq.h> | ||
| 10 | |||
| 9 | #define LX_NODE_BASE 10 | 11 | #define LX_NODE_BASE 10 |
| 10 | 12 | ||
| 11 | #define MIPSCPU_INT_BASE 16 | ||
| 12 | #define MIPS_CPU_RTLX_IRQ 0 | 13 | #define MIPS_CPU_RTLX_IRQ 0 |
| 13 | 14 | ||
| 14 | #define RTLX_VERSION 2 | 15 | #define RTLX_VERSION 2 |
diff --git a/include/asm-mips/sgi/ip22.h b/include/asm-mips/sgi/ip22.h index bbfc05c3ca..6592f3bd19 100644 --- a/include/asm-mips/sgi/ip22.h +++ b/include/asm-mips/sgi/ip22.h | |||
| @@ -21,15 +21,16 @@ | |||
| 21 | * HAL2 driver). This will prevent many complications, trust me ;-) | 21 | * HAL2 driver). This will prevent many complications, trust me ;-) |
| 22 | */ | 22 | */ |
| 23 | 23 | ||
| 24 | #include <irq.h> | ||
| 24 | #include <asm/sgi/ioc.h> | 25 | #include <asm/sgi/ioc.h> |
| 25 | 26 | ||
| 26 | #define SGINT_EISA 0 /* 16 EISA irq levels (Indigo2) */ | 27 | #define SGINT_EISA 0 /* 16 EISA irq levels (Indigo2) */ |
| 27 | #define SGINT_CPU 16 /* MIPS CPU define 8 interrupt sources */ | 28 | #define SGINT_CPU MIPS_CPU_IRQ_BASE /* MIPS CPU define 8 interrupt sources */ |
| 28 | #define SGINT_LOCAL0 24 /* 8 local0 irq levels */ | 29 | #define SGINT_LOCAL0 (SGINT_CPU+8) /* 8 local0 irq levels */ |
| 29 | #define SGINT_LOCAL1 32 /* 8 local1 irq levels */ | 30 | #define SGINT_LOCAL1 (SGINT_CPU+16) /* 8 local1 irq levels */ |
| 30 | #define SGINT_LOCAL2 40 /* 8 local2 vectored irq levels */ | 31 | #define SGINT_LOCAL2 (SGINT_CPU+24) /* 8 local2 vectored irq levels */ |
| 31 | #define SGINT_LOCAL3 48 /* 8 local3 vectored irq levels */ | 32 | #define SGINT_LOCAL3 (SGINT_CPU+32) /* 8 local3 vectored irq levels */ |
| 32 | #define SGINT_END 56 /* End of 'spaces' */ | 33 | #define SGINT_END (SGINT_CPU+40) /* End of 'spaces' */ |
| 33 | 34 | ||
| 34 | /* | 35 | /* |
| 35 | * Individual interrupt definitions for the Indy and Indigo2 | 36 | * Individual interrupt definitions for the Indy and Indigo2 |
