diff options
author | Chris Dearman <chris@mips.com> | 2007-04-27 10:58:41 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-06-14 13:25:14 -0400 |
commit | b72c05262298cc2ac92edb657f5ea3a97ad5ea3d (patch) | |
tree | 41819862465a5cd6b89eb7b8bff3a79a5817064f /arch/mips/mips-boards/malta/malta_int.c | |
parent | eedab661a51966c454e38c17266a531aa58b4a98 (diff) |
[MIPS] Malta: Fix for SOCitSC based Maltas
And an attempt to tidy up the core/controller differences.
Signed-off-by: Chris Dearman <chris@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/mips-boards/malta/malta_int.c')
-rw-r--r-- | arch/mips/mips-boards/malta/malta_int.c | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/arch/mips/mips-boards/malta/malta_int.c b/arch/mips/mips-boards/malta/malta_int.c index 1cd830e3d933..1668cc21d5b5 100644 --- a/arch/mips/mips-boards/malta/malta_int.c +++ b/arch/mips/mips-boards/malta/malta_int.c | |||
@@ -53,25 +53,19 @@ static inline int mips_pcibios_iack(void) | |||
53 | * Determine highest priority pending interrupt by performing | 53 | * Determine highest priority pending interrupt by performing |
54 | * a PCI Interrupt Acknowledge cycle. | 54 | * a PCI Interrupt Acknowledge cycle. |
55 | */ | 55 | */ |
56 | switch(mips_revision_corid) { | 56 | switch (mips_revision_sconid) { |
57 | case MIPS_REVISION_CORID_CORE_MSC: | 57 | case MIPS_REVISION_SCON_SOCIT: |
58 | case MIPS_REVISION_CORID_CORE_FPGA2: | 58 | case MIPS_REVISION_SCON_ROCIT: |
59 | case MIPS_REVISION_CORID_CORE_FPGA3: | 59 | case MIPS_REVISION_SCON_SOCITSC: |
60 | case MIPS_REVISION_CORID_CORE_24K: | 60 | case MIPS_REVISION_SCON_SOCITSCP: |
61 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | ||
62 | MSC_READ(MSC01_PCI_IACK, irq); | 61 | MSC_READ(MSC01_PCI_IACK, irq); |
63 | irq &= 0xff; | 62 | irq &= 0xff; |
64 | break; | 63 | break; |
65 | case MIPS_REVISION_CORID_QED_RM5261: | 64 | case MIPS_REVISION_SCON_GT64120: |
66 | case MIPS_REVISION_CORID_CORE_LV: | ||
67 | case MIPS_REVISION_CORID_CORE_FPGA: | ||
68 | case MIPS_REVISION_CORID_CORE_FPGAR2: | ||
69 | irq = GT_READ(GT_PCI0_IACK_OFS); | 65 | irq = GT_READ(GT_PCI0_IACK_OFS); |
70 | irq &= 0xff; | 66 | irq &= 0xff; |
71 | break; | 67 | break; |
72 | case MIPS_REVISION_CORID_BONITO64: | 68 | case MIPS_REVISION_SCON_BONITO: |
73 | case MIPS_REVISION_CORID_CORE_20K: | ||
74 | case MIPS_REVISION_CORID_CORE_EMUL_BON: | ||
75 | /* The following will generate a PCI IACK cycle on the | 69 | /* The following will generate a PCI IACK cycle on the |
76 | * Bonito controller. It's a little bit kludgy, but it | 70 | * Bonito controller. It's a little bit kludgy, but it |
77 | * was the easiest way to implement it in hardware at | 71 | * was the easiest way to implement it in hardware at |
@@ -89,7 +83,7 @@ static inline int mips_pcibios_iack(void) | |||
89 | BONITO_PCIMAP_CFG = 0; | 83 | BONITO_PCIMAP_CFG = 0; |
90 | break; | 84 | break; |
91 | default: | 85 | default: |
92 | printk("Unknown Core card, don't know the system controller.\n"); | 86 | printk("Unknown system controller.\n"); |
93 | return -1; | 87 | return -1; |
94 | } | 88 | } |
95 | return irq; | 89 | return irq; |
@@ -144,27 +138,21 @@ static void corehi_irqdispatch(void) | |||
144 | Do it for the others too. | 138 | Do it for the others too. |
145 | */ | 139 | */ |
146 | 140 | ||
147 | switch(mips_revision_corid) { | 141 | switch (mips_revision_sconid) { |
148 | case MIPS_REVISION_CORID_CORE_MSC: | 142 | case MIPS_REVISION_SCON_SOCIT: |
149 | case MIPS_REVISION_CORID_CORE_FPGA2: | 143 | case MIPS_REVISION_SCON_ROCIT: |
150 | case MIPS_REVISION_CORID_CORE_FPGA3: | 144 | case MIPS_REVISION_SCON_SOCITSC: |
151 | case MIPS_REVISION_CORID_CORE_24K: | 145 | case MIPS_REVISION_SCON_SOCITSCP: |
152 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | ||
153 | ll_msc_irq(); | 146 | ll_msc_irq(); |
154 | break; | 147 | break; |
155 | case MIPS_REVISION_CORID_QED_RM5261: | 148 | case MIPS_REVISION_SCON_GT64120: |
156 | case MIPS_REVISION_CORID_CORE_LV: | ||
157 | case MIPS_REVISION_CORID_CORE_FPGA: | ||
158 | case MIPS_REVISION_CORID_CORE_FPGAR2: | ||
159 | intrcause = GT_READ(GT_INTRCAUSE_OFS); | 149 | intrcause = GT_READ(GT_INTRCAUSE_OFS); |
160 | datalo = GT_READ(GT_CPUERR_ADDRLO_OFS); | 150 | datalo = GT_READ(GT_CPUERR_ADDRLO_OFS); |
161 | datahi = GT_READ(GT_CPUERR_ADDRHI_OFS); | 151 | datahi = GT_READ(GT_CPUERR_ADDRHI_OFS); |
162 | printk("GT_INTRCAUSE = %08x\n", intrcause); | 152 | printk("GT_INTRCAUSE = %08x\n", intrcause); |
163 | printk("GT_CPUERR_ADDR = %02x%08x\n", datahi, datalo); | 153 | printk("GT_CPUERR_ADDR = %02x%08x\n", datahi, datalo); |
164 | break; | 154 | break; |
165 | case MIPS_REVISION_CORID_BONITO64: | 155 | case MIPS_REVISION_SCON_BONITO: |
166 | case MIPS_REVISION_CORID_CORE_20K: | ||
167 | case MIPS_REVISION_CORID_CORE_EMUL_BON: | ||
168 | pcibadaddr = BONITO_PCIBADADDR; | 156 | pcibadaddr = BONITO_PCIBADADDR; |
169 | pcimstat = BONITO_PCIMSTAT; | 157 | pcimstat = BONITO_PCIMSTAT; |
170 | intisr = BONITO_INTISR; | 158 | intisr = BONITO_INTISR; |