diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2006-10-04 05:16:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 10:55:28 -0400 |
commit | 589e367f9b9117b3412da0d4e10ea6882db8da84 (patch) | |
tree | 3ad393830c94a146553b459468f0f3a72702b4d6 /include/asm-x86_64/msi.h | |
parent | 1ce03373a7f4b5fa8ca5be02ff35229800a6e12b (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.h | 7 |
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) | 13 | extern struct msi_ops arch_msi_ops; |
14 | #define MSI_TARGET_CPU_SHIFT 12 | ||
15 | |||
16 | extern struct msi_ops msi_apic_ops; | ||
17 | 14 | ||
18 | static inline int msi_arch_init(void) | 15 | static 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 | ||