summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJeff Wiedemeier <jeff.wiedemeier@hp.com>2003-01-16 01:17:16 -0800
committerRichard Henderson <rth@kanga.twiddle.net>2003-01-16 01:17:16 -0800
commit7f5ea7bc27aa4ff23ba3adc2bf481ba49b2e5d9d (patch)
tree432c013b43f6288c12f5e5dfc96dae678ec7be38 /include
parentca3707020e2b158c216c5f2c0c73a66a99bf2821 (diff)
[PATCH] Fix marvel irq count computation.
Found a buglet in the marvel code -- doesn't change the number of IRQS just the logic to get there.. This applies on top of the other marvel code. /jeff
Diffstat (limited to 'include')
-rw-r--r--include/asm-alpha/core_marvel.h8
-rw-r--r--include/asm-alpha/irq.h4
2 files changed, 7 insertions, 5 deletions
diff --git a/include/asm-alpha/core_marvel.h b/include/asm-alpha/core_marvel.h
index 310865cabac9..0b78effd8b1c 100644
--- a/include/asm-alpha/core_marvel.h
+++ b/include/asm-alpha/core_marvel.h
@@ -17,9 +17,11 @@
#include <asm/compiler.h>
-#define MARVEL_MAX_PIDS 128
-#define MARVEL_MAX_LSIS_PER_PID 256
-#define MARVEL_NR_IRQS (MARVEL_MAX_PIDS * MARVEL_MAX_LSIS_PER_PID)
+#define MARVEL_MAX_PIDS 32 /* as long as we rely on 43-bit superpage */
+#define MARVEL_IRQ_VEC_PE_SHIFT (10)
+#define MARVEL_IRQ_VEC_IRQ_MASK ((1 << MARVEL_IRQ_VEC_PE_SHIFT) - 1)
+#define MARVEL_NR_IRQS \
+ (16 + (MARVEL_MAX_PIDS * (1 << MARVEL_IRQ_VEC_PE_SHIFT)))
/*
* EV7 RBOX Registers
diff --git a/include/asm-alpha/irq.h b/include/asm-alpha/irq.h
index 4dd8a29abca0..455f54589752 100644
--- a/include/asm-alpha/irq.h
+++ b/include/asm-alpha/irq.h
@@ -16,7 +16,7 @@
many places throughout the kernel to size static arrays. That's ok,
we'll use alpha_mv.nr_irqs when we want the real thing. */
-# define NR_IRQS (32768 + 16) /* enough for MARVEL with 128 PIDs */
+# define NR_IRQS (32768 + 16) /* marvel - 32 pids*/
#elif defined(CONFIG_ALPHA_CABRIOLET) || \
defined(CONFIG_ALPHA_EB66P) || \
@@ -57,7 +57,7 @@
# define NR_IRQS 2048 /* enuff for 8 QBBs */
#elif defined(CONFIG_ALPHA_MARVEL)
-# define NR_IRQS (32768 + 16) /* enough for MARVEL with 128 PIDs */
+# define NR_IRQS (32768 + 16) /* marvel - 32 pids*/
#else /* everyone else */
# define NR_IRQS 16