mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![Ashok Raj](/assets/img/avatar_default.png)
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>
17 lines
446 B
C
17 lines
446 B
C
/*
|
|
* Copyright (C) 2003-2004 Intel
|
|
* Copyright (C) Tom Long Nguyen (tom.l.nguyen@intel.com)
|
|
*/
|
|
|
|
#ifndef ASM_MSI_H
|
|
#define ASM_MSI_H
|
|
|
|
#define NR_VECTORS NR_IRQS
|
|
#define FIRST_DEVICE_VECTOR IA64_FIRST_DEVICE_VECTOR
|
|
#define LAST_DEVICE_VECTOR IA64_LAST_DEVICE_VECTOR
|
|
static inline void set_intr_gate (int nr, void *func) {}
|
|
#define IO_APIC_VECTOR(irq) (irq)
|
|
#define ack_APIC_irq ia64_eoi
|
|
#define MSI_TARGET_CPU_SHIFT 4
|
|
|
|
#endif /* ASM_MSI_H */
|