summaryrefslogtreecommitdiffstats
path: root/include/asm-i386/msi.h
diff options
context:
space:
mode:
authorAshok Raj2005-11-09 06:42:33 +0100
committerGreg Kroah-Hartman2005-11-11 01:09:18 +0100
commitb4033c1715cb5aa1dcb1a25bdaf71fea908bb3f1 (patch)
treecf9ba9ae7999573a507df301faf34170ab08e2c3 /include/asm-i386/msi.h
parent[PATCH] PCI: drivers/pci/: small cleanups (diff)
downloadkernel-qcow2-linux-b4033c1715cb5aa1dcb1a25bdaf71fea908bb3f1.tar.gz
kernel-qcow2-linux-b4033c1715cb5aa1dcb1a25bdaf71fea908bb3f1.tar.xz
kernel-qcow2-linux-b4033c1715cb5aa1dcb1a25bdaf71fea908bb3f1.zip
[PATCH] PCI: Change MSI to use physical delivery mode always
MSI hardcoded delivery mode to use logical delivery mode. Recently x86_64 moved to use physical mode addressing to support physflat mode. With this mode enabled noticed that my eth with MSI werent working. msi_address_init() was hardcoded to use logical mode for i386 and x86_64. So when we switch to use physical mode, things stopped working. Since anyway we dont use lowest priority delivery with MSI, its always directed to just a single CPU. Its safe and simpler to use physical mode always, even when we use logical delivery mode for IPI's or other ioapic RTE's. Signed-off-by: Ashok Raj <ashok.raj@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/asm-i386/msi.h')
-rw-r--r--include/asm-i386/msi.h9
1 files changed, 1 insertions, 8 deletions
diff --git a/include/asm-i386/msi.h b/include/asm-i386/msi.h
index b85393094c83..f041d4495faf 100644
--- a/include/asm-i386/msi.h
+++ b/include/asm-i386/msi.h
@@ -10,13 +10,6 @@
#include <mach_apic.h>
#define LAST_DEVICE_VECTOR 232
-#define MSI_DEST_MODE MSI_LOGICAL_MODE
-#define MSI_TARGET_CPU_SHIFT 12
-
-#ifdef CONFIG_SMP
-#define MSI_TARGET_CPU logical_smp_processor_id()
-#else
-#define MSI_TARGET_CPU cpu_to_logical_apicid(first_cpu(cpu_online_map))
-#endif
+#define MSI_TARGET_CPU_SHIFT 12
#endif /* ASM_MSI_H */