aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/io_apic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/io_apic.c')
-rw-r--r--arch/x86/kernel/io_apic.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index 0a7f6d6b1206..f61d945620b3 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -3846,14 +3846,24 @@ int __init io_apic_get_redir_entries (int ioapic)
3846 3846
3847void __init probe_nr_irqs_gsi(void) 3847void __init probe_nr_irqs_gsi(void)
3848{ 3848{
3849 int idx;
3850 int nr = 0; 3849 int nr = 0;
3851 3850
3852 for (idx = 0; idx < nr_ioapics; idx++) 3851 nr = acpi_probe_gsi();
3853 nr += io_apic_get_redir_entries(idx) + 1; 3852 if (nr > nr_irqs_gsi) {
3854
3855 if (nr > nr_irqs_gsi)
3856 nr_irqs_gsi = nr; 3853 nr_irqs_gsi = nr;
3854 } else {
3855 /* for acpi=off or acpi is not compiled in */
3856 int idx;
3857
3858 nr = 0;
3859 for (idx = 0; idx < nr_ioapics; idx++)
3860 nr += io_apic_get_redir_entries(idx) + 1;
3861
3862 if (nr > nr_irqs_gsi)
3863 nr_irqs_gsi = nr;
3864 }
3865
3866 printk(KERN_DEBUG "nr_irqs_gsi: %d\n", nr_irqs_gsi);
3857} 3867}
3858 3868
3859#ifdef CONFIG_SPARSE_IRQ 3869#ifdef CONFIG_SPARSE_IRQ