diff options
author | Arnd Bergmann <arnd@arndb.de> | 2005-06-22 19:43:43 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-06-22 19:43:43 -0400 |
commit | cebf589c822b5de87098b57644024d16f8dbc1bb (patch) | |
tree | 609da06acf750cf91007bb0e2640dd0c3fd35ff8 /arch/ppc64/kernel/bpa_setup.c | |
parent | fef1c772fa154c16e0a54577e9ecb5480f7b937e (diff) |
[PATCH] ppc64: Add driver for BPA interrupt controllers
Add support for the integrated interrupt controller on BPA
CPUs. There is one of those for each SMT thread.
The mapping of interrupt numbers to HW interrupt sources
is described in arch/ppc64/kernel/bpa_iic.h.
This version hardcodes the 'Spider' chip as the secondary
interrupt controller. That is not really generic for the
architecture, but at the moment it is the only secondary
PIC that exists.
A little more work will be needed on this as soon as
we have boards with multiple external interrupt controllers.
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel/bpa_setup.c')
-rw-r--r-- | arch/ppc64/kernel/bpa_setup.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/bpa_setup.c b/arch/ppc64/kernel/bpa_setup.c index d1992dd2d61b..0a43d8a93d76 100644 --- a/arch/ppc64/kernel/bpa_setup.c +++ b/arch/ppc64/kernel/bpa_setup.c | |||
@@ -45,6 +45,7 @@ | |||
45 | #include <asm/cputable.h> | 45 | #include <asm/cputable.h> |
46 | 46 | ||
47 | #include "pci.h" | 47 | #include "pci.h" |
48 | #include "bpa_iic.h" | ||
48 | 49 | ||
49 | #ifdef DEBUG | 50 | #ifdef DEBUG |
50 | #define DBG(fmt...) udbg_printf(fmt) | 51 | #define DBG(fmt...) udbg_printf(fmt) |
@@ -71,6 +72,9 @@ static void bpa_progress(char *s, unsigned short hex) | |||
71 | 72 | ||
72 | static void __init bpa_setup_arch(void) | 73 | static void __init bpa_setup_arch(void) |
73 | { | 74 | { |
75 | ppc_md.init_IRQ = iic_init_IRQ; | ||
76 | ppc_md.get_irq = iic_get_irq; | ||
77 | |||
74 | #ifdef CONFIG_SMP | 78 | #ifdef CONFIG_SMP |
75 | smp_init_pSeries(); | 79 | smp_init_pSeries(); |
76 | #endif | 80 | #endif |
@@ -86,7 +90,7 @@ static void __init bpa_setup_arch(void) | |||
86 | /* Find and initialize PCI host bridges */ | 90 | /* Find and initialize PCI host bridges */ |
87 | init_pci_config_tokens(); | 91 | init_pci_config_tokens(); |
88 | find_and_init_phbs(); | 92 | find_and_init_phbs(); |
89 | 93 | spider_init_IRQ(); | |
90 | #ifdef CONFIG_DUMMY_CONSOLE | 94 | #ifdef CONFIG_DUMMY_CONSOLE |
91 | conswitchp = &dummy_con; | 95 | conswitchp = &dummy_con; |
92 | #endif | 96 | #endif |