From: "Eric W. Biederman" <ebiederm@xmission.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-pci@atrey.karlin.mff.cuni.cz, discuss@x86-64.org,
Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Andi Kleen <ak@suse.de>,
Natalie Protasevich <Natalie.Protasevich@UNISYS.com>,
Len Brown <len.brown@intel.com>,
Kimball Murray <kimball.murray@gmail.com>,
Brice Goglin <brice@myri.com>,
Greg Lindahl <greg.lindahl@qlogic.com>,
Dave Olson <olson@unixfolk.com>, Jeff Garzik <jeff@garzik.org>,
Greg KH <gregkh@suse.de>, Grant Grundler <iod00d@hp.com>,
"bibo,mao" <bibo.mao@intel.com>,
Rajesh Shah <rajesh.shah@intel.com>, Mark Maule <maule@sgi.com>,
Jesper Juhl <jesper.juhl@gmail.com>,
Shaohua Li <shaohua.li@intel.com>,
Matthew Wilcox <matthew@wil.cx>,
"Michael S. Tsirkin" <mst@mellanox.co.il>,
Ashok Raj <ashok.raj@intel.com>,
Randy Dunlap <rdunlap@xenotime.net>Roland Dreier <rd>
Subject: [PATCH 24/25] x86_64 irq: Kill irq compression.
Date: Tue, 20 Jun 2006 16:28:37 -0600 [thread overview]
Message-ID: <1150842527127-git-send-email-ebiederm@xmission.com> (raw)
In-Reply-To: <11508425263761-git-send-email-ebiederm@xmission.com>
With more irqs in the system we don't need this.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
---
arch/x86_64/kernel/io_apic.c | 5 -----
arch/x86_64/kernel/mpparse.c | 42 +-----------------------------------------
include/asm-x86_64/io_apic.h | 1 -
3 files changed, 1 insertions(+), 47 deletions(-)
diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c
index a904ba7..c4be89e 100644
--- a/arch/x86_64/kernel/io_apic.c
+++ b/arch/x86_64/kernel/io_apic.c
@@ -1722,8 +1722,6 @@ static inline void unlock_ExtINT_logic(v
spin_unlock_irqrestore(&ioapic_lock, flags);
}
-int timer_uses_ioapic_pin_0;
-
/*
* This code may look a bit paranoid, but it's supposed to cooperate with
* a wide range of boards and BIOS bugs. Fortunately only the timer IRQ
@@ -1760,9 +1758,6 @@ static inline void check_timer(void)
pin2 = ioapic_i8259.pin;
apic2 = ioapic_i8259.apic;
- if (pin1 == 0)
- timer_uses_ioapic_pin_0 = 1;
-
apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n",
vector, apic1, pin1, apic2, pin2);
diff --git a/arch/x86_64/kernel/mpparse.c b/arch/x86_64/kernel/mpparse.c
index 083da7e..304cef6 100644
--- a/arch/x86_64/kernel/mpparse.c
+++ b/arch/x86_64/kernel/mpparse.c
@@ -910,20 +910,11 @@ void __init mp_config_acpi_legacy_irqs (
return;
}
-#define MAX_GSI_NUM 4096
-
int mp_register_gsi(u32 gsi, int triggering, int polarity)
{
int ioapic = -1;
int ioapic_pin = 0;
int idx, bit = 0;
- static int pci_irq = 16;
- /*
- * Mapping between Global System Interrupts, which
- * represent all possible interrupts, to the IRQs
- * assigned to actual devices.
- */
- static int gsi_to_irq[MAX_GSI_NUM];
if (acpi_irq_model != ACPI_IRQ_MODEL_IOAPIC)
return gsi;
@@ -956,42 +947,11 @@ int mp_register_gsi(u32 gsi, int trigger
if ((1<<bit) & mp_ioapic_routing[ioapic].pin_programmed[idx]) {
Dprintk(KERN_DEBUG "Pin %d-%d already programmed\n",
mp_ioapic_routing[ioapic].apic_id, ioapic_pin);
- return gsi_to_irq[gsi];
+ return gsi;
}
mp_ioapic_routing[ioapic].pin_programmed[idx] |= (1<<bit);
- if (triggering == ACPI_LEVEL_SENSITIVE) {
- /*
- * For PCI devices assign IRQs in order, avoiding gaps
- * due to unused I/O APIC pins.
- */
- int irq = gsi;
- if (gsi < MAX_GSI_NUM) {
- /*
- * Retain the VIA chipset work-around (gsi > 15), but
- * avoid a problem where the 8254 timer (IRQ0) is setup
- * via an override (so it's not on pin 0 of the ioapic),
- * and at the same time, the pin 0 interrupt is a PCI
- * type. The gsi > 15 test could cause these two pins
- * to be shared as IRQ0, and they are not shareable.
- * So test for this condition, and if necessary, avoid
- * the pin collision.
- */
- if (gsi > 15 || (gsi == 0 && !timer_uses_ioapic_pin_0))
- gsi = pci_irq++;
- /*
- * Don't assign IRQ used by ACPI SCI
- */
- if (gsi == acpi_fadt.sci_int)
- gsi = pci_irq++;
- gsi_to_irq[irq] = gsi;
- } else {
- printk(KERN_ERR "GSI %u is too high\n", gsi);
- return gsi;
- }
- }
-
io_apic_set_pci_routing(ioapic, ioapic_pin, gsi,
triggering == ACPI_EDGE_SENSITIVE ? 0 : 1,
polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
diff --git a/include/asm-x86_64/io_apic.h b/include/asm-x86_64/io_apic.h
index 06806b1..c5235d6 100644
--- a/include/asm-x86_64/io_apic.h
+++ b/include/asm-x86_64/io_apic.h
@@ -164,7 +164,6 @@ #ifdef CONFIG_ACPI
extern int io_apic_get_version (int ioapic);
extern int io_apic_get_redir_entries (int ioapic);
extern int io_apic_set_pci_routing (int ioapic, int pin, int irq, int, int);
-extern int timer_uses_ioapic_pin_0;
#endif
extern int sis_apic_bug; /* dummy */
--
1.4.0.gc07e
next prev parent reply other threads:[~2006-06-20 22:28 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-20 22:24 [PATCH 0/25] Decouple IRQ issues (MSI, i386, x86_64, ia64) Eric W. Biederman
2006-06-20 22:28 ` [PATCH 1/25] irq: Convert the move_irq flag from a 32bit word to a single bit Eric W. Biederman
2006-06-20 22:28 ` [PATCH 2/25] irq: Add moved_masked_irq Eric W. Biederman
2006-06-20 22:28 ` [PATCH 3/25] x86_64 irq: Reenable migrating irqs to other cpus Eric W. Biederman
2006-06-20 22:28 ` [PATCH 4/25] msi: Simplify msi enable and disable Eric W. Biederman
2006-06-20 22:28 ` [PATCH 5/25] msi: Make the msi boolean tests return either 0 or 1 Eric W. Biederman
2006-06-20 22:28 ` [PATCH 6/25] msi: Implement helper functions read_msi_msg and write_msi_msg Eric W. Biederman
2006-06-20 22:28 ` [PATCH 7/25] msi: Refactor the msi_ops Eric W. Biederman
2006-06-20 22:28 ` [PATCH 8/25] msi: Simplify the msi irq limit policy Eric W. Biederman
2006-06-20 22:28 ` [PATCH 9/25] irq: Add a dynamic irq creation API Eric W. Biederman
2006-06-20 22:28 ` [PATCH 10/25] ia64 irq: Dynamic irq support Eric W. Biederman
2006-06-20 22:28 ` [PATCH 11/25] i386 " Eric W. Biederman
2006-06-20 22:28 ` [PATCH 12/25] x86_64 " Eric W. Biederman
2006-06-20 22:28 ` [PATCH 13/25] msi: Make the msi code irq based and not vector based Eric W. Biederman
2006-06-20 22:28 ` [PATCH 14/25] x86_64 irq: Move msi message composition into io_apic.c Eric W. Biederman
2006-06-20 22:28 ` [PATCH 15/25] i386 " Eric W. Biederman
2006-06-20 22:28 ` [PATCH 16/25] msi: Only build msi-apic.c on ia64 Eric W. Biederman
2006-06-20 22:28 ` [PATCH 17/25] x86_64 irq: Remove the msi assumption that irq == vector Eric W. Biederman
2006-06-20 22:28 ` [PATCH 18/25] i386 " Eric W. Biederman
2006-06-20 22:28 ` [PATCH 19/25] irq: Remove msi hacks Eric W. Biederman
2006-06-20 22:28 ` [PATCH 20/25] irq: Generalize the check for HARDIRQ_BITS Eric W. Biederman
2006-06-20 22:28 ` [PATCH 21/25] x86_64 irq: Make the external irq handlers report their vector, not the irq number Eric W. Biederman
2006-06-20 22:28 ` [PATCH 22/25] x86_64 irq: make vector_irq per cpu Eric W. Biederman
2006-06-20 22:28 ` [PATCH 23/25] x86_64 irq: Kill gsi_irq_sharing Eric W. Biederman
2006-06-20 22:28 ` Eric W. Biederman [this message]
2006-06-20 22:28 ` [PATCH 25/25] irq: Document what an IRQ is Eric W. Biederman
2006-06-21 1:50 ` [PATCH 11/25] i386 irq: Dynamic irq support Rajesh Shah
2006-06-21 2:21 ` Eric W. Biederman
2006-06-21 2:27 ` Rajesh Shah
2006-06-21 14:07 ` Eric W. Biederman
2006-06-20 23:56 ` [PATCH 9/25] irq: Add a dynamic irq creation API Benjamin Herrenschmidt
2006-06-21 1:01 ` Eric W. Biederman
2006-06-21 1:33 ` Benjamin Herrenschmidt
2006-06-21 1:41 ` Jeff Garzik
2006-06-21 1:36 ` Matthew Wilcox
2006-06-21 1:28 ` [PATCH 8/25] msi: Simplify the msi irq limit policy Rajesh Shah
2006-06-21 2:46 ` Roland Dreier
2006-06-21 3:48 ` Eric W. Biederman
2006-06-21 1:18 ` [PATCH 7/25] msi: Refactor the msi_ops Rajesh Shah
2006-06-21 1:04 ` [PATCH 6/25] msi: Implement helper functions read_msi_msg and write_msi_msg Rajesh Shah
2006-06-21 1:43 ` Eric W. Biederman
2006-06-20 22:45 ` [PATCH 5/25] msi: Make the msi boolean tests return either 0 or 1 Jeff Garzik
2006-06-21 0:44 ` [PATCH 4/25] msi: Simplify msi enable and disable Rajesh Shah
2006-06-21 1:19 ` Eric W. Biederman
2006-06-21 0:30 ` [PATCH 0/25] Decouple IRQ issues (MSI, i386, x86_64, ia64) Rajesh Shah
2006-06-21 1:07 ` Eric W. Biederman
2006-06-21 14:10 ` [PATCH] Decouple IRQ issues (fix i386 compile issues) Eric W. Biederman
2006-06-21 10:24 ` [PATCH 0/25] Decouple IRQ issues (MSI, i386, x86_64, ia64) Ingo Molnar
2006-06-21 16:25 ` Greg KH
2006-06-22 3:55 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1150842527127-git-send-email-ebiederm@xmission.com \
--to=ebiederm@xmission.com \
--cc=Natalie.Protasevich@UNISYS.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=ashok.raj@intel.com \
--cc=bibo.mao@intel.com \
--cc=brice@myri.com \
--cc=discuss@x86-64.org \
--cc=greg.lindahl@qlogic.com \
--cc=gregkh@suse.de \
--cc=iod00d@hp.com \
--cc=jeff@garzik.org \
--cc=jesper.juhl@gmail.com \
--cc=kimball.murray@gmail.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=matthew@wil.cx \
--cc=maule@sgi.com \
--cc=mingo@elte.hu \
--cc=mst@mellanox.co.il \
--cc=olson@unixfolk.com \
--cc=rajesh.shah@intel.com \
--cc=rdunlap@xenotime.net \
--cc=shaohua.li@intel.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox