diff options
author | Alexey Starikovskiy <astarikovskiy@suse.de> | 2008-03-20 07:54:49 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:40:59 -0400 |
commit | 643befed1090af5f0000297ce11fa23e2777f42b (patch) | |
tree | 15ba54000c8a380741407dacb4b0a7c626650212 /arch/x86/kernel/io_apic_32.c | |
parent | 9c0076cb34a0ea968413d9a1ccb6c7c850d3a1ee (diff) |
x86: use not_pci bitmap #6
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/io_apic_32.c')
-rw-r--r-- | arch/x86/kernel/io_apic_32.c | 47 |
1 files changed, 15 insertions, 32 deletions
diff --git a/arch/x86/kernel/io_apic_32.c b/arch/x86/kernel/io_apic_32.c index e400f77eb0e0..97ac6104d63a 100644 --- a/arch/x86/kernel/io_apic_32.c +++ b/arch/x86/kernel/io_apic_32.c | |||
@@ -1091,39 +1091,22 @@ static int pin_2_irq(int idx, int apic, int pin) | |||
1091 | if (mp_irqs[idx].mpc_dstirq != pin) | 1091 | if (mp_irqs[idx].mpc_dstirq != pin) |
1092 | printk(KERN_ERR "broken BIOS or MPTABLE parser, ayiee!!\n"); | 1092 | printk(KERN_ERR "broken BIOS or MPTABLE parser, ayiee!!\n"); |
1093 | 1093 | ||
1094 | switch (mp_bus_id_to_type[bus]) | 1094 | if (test_bit(bus, mp_bus_not_pci)) |
1095 | { | 1095 | irq = mp_irqs[idx].mpc_srcbusirq; |
1096 | case MP_BUS_ISA: /* ISA pin */ | 1096 | else { |
1097 | case MP_BUS_EISA: | 1097 | /* |
1098 | case MP_BUS_MCA: | 1098 | * PCI IRQs are mapped in order |
1099 | { | 1099 | */ |
1100 | irq = mp_irqs[idx].mpc_srcbusirq; | 1100 | i = irq = 0; |
1101 | break; | 1101 | while (i < apic) |
1102 | } | 1102 | irq += nr_ioapic_registers[i++]; |
1103 | case MP_BUS_PCI: /* PCI pin */ | 1103 | irq += pin; |
1104 | { | ||
1105 | /* | ||
1106 | * PCI IRQs are mapped in order | ||
1107 | */ | ||
1108 | i = irq = 0; | ||
1109 | while (i < apic) | ||
1110 | irq += nr_ioapic_registers[i++]; | ||
1111 | irq += pin; | ||
1112 | |||
1113 | /* | ||
1114 | * For MPS mode, so far only needed by ES7000 platform | ||
1115 | */ | ||
1116 | if (ioapic_renumber_irq) | ||
1117 | irq = ioapic_renumber_irq(apic, irq); | ||
1118 | 1104 | ||
1119 | break; | 1105 | /* |
1120 | } | 1106 | * For MPS mode, so far only needed by ES7000 platform |
1121 | default: | 1107 | */ |
1122 | { | 1108 | if (ioapic_renumber_irq) |
1123 | printk(KERN_ERR "unknown bus type %d.\n",bus); | 1109 | irq = ioapic_renumber_irq(apic, irq); |
1124 | irq = 0; | ||
1125 | break; | ||
1126 | } | ||
1127 | } | 1110 | } |
1128 | 1111 | ||
1129 | /* | 1112 | /* |