aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/msi.h
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2006-10-04 05:16:42 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-04 10:55:28 -0400
commit589e367f9b9117b3412da0d4e10ea6882db8da84 (patch)
tree3ad393830c94a146553b459468f0f3a72702b4d6 /include/asm-x86_64/msi.h
parent1ce03373a7f4b5fa8ca5be02ff35229800a6e12b (diff)
[PATCH] genirq: x86_64 irq: Move msi message composition into io_apic.c
This removes the hardcoded assumption that irq == vector in the msi composition code, and it allows the msi message composition to setup logical mode, or lowest priorirty delivery mode as we do for other apic interrupts, and with the same selection criteria. Basically this moves the problem of what is in the msi message into the architecture irq management code where it belongs. Not in a generic layer that doesn't have enough information to compose msi messages properly. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Rajesh Shah <rajesh.shah@intel.com> Cc: Andi Kleen <ak@muc.de> Cc: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com> Cc: "Luck, Tony" <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64/msi.h')
-rw-r--r--include/asm-x86_64/msi.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/include/asm-x86_64/msi.h b/include/asm-x86_64/msi.h
index 3ad2346624b2..1876fda52ae3 100644
--- a/include/asm-x86_64/msi.h
+++ b/include/asm-x86_64/msi.h
@@ -10,14 +10,11 @@
10#include <asm/mach_apic.h> 10#include <asm/mach_apic.h>
11#include <asm/smp.h> 11#include <asm/smp.h>
12 12
13#define LAST_DEVICE_VECTOR (FIRST_SYSTEM_VECTOR - 1) 13extern struct msi_ops arch_msi_ops;
14#define MSI_TARGET_CPU_SHIFT 12
15
16extern struct msi_ops msi_apic_ops;
17 14
18static inline int msi_arch_init(void) 15static inline int msi_arch_init(void)
19{ 16{
20 msi_register(&msi_apic_ops); 17 msi_register(&arch_msi_ops);
21 return 0; 18 return 0;
22} 19}
23 20