diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2012-03-30 11:47:02 -0700 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2012-05-07 14:34:59 +0200 |
commit | 0c3f173a88c4ae3e4253427cf574a59ad5352918 (patch) | |
tree | d34364dc8d7926de75ec486ce579b478d23098e3 /arch/x86/include/asm/intr_remapping.h | |
parent | 4f3d8b67ad3090f9fb72f8235d21cde53cd24b79 (diff) | |
download | lwn-0c3f173a88c4ae3e4253427cf574a59ad5352918.tar.gz lwn-0c3f173a88c4ae3e4253427cf574a59ad5352918.zip |
iommu/vt-d: Convert IR ioapic-setup to use remap_ops
The IOAPIC setup routine for interrupt remapping is VT-d
specific. Move it to the irq_remap_ops and add a call helper
function.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Acked-by: Yinghai Lu <yinghai@kernel.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/include/asm/intr_remapping.h')
-rw-r--r-- | arch/x86/include/asm/intr_remapping.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/x86/include/asm/intr_remapping.h b/arch/x86/include/asm/intr_remapping.h index 55aa892a53e3..a22e1f1ac7ec 100644 --- a/arch/x86/include/asm/intr_remapping.h +++ b/arch/x86/include/asm/intr_remapping.h @@ -24,6 +24,9 @@ #ifdef CONFIG_IRQ_REMAP +struct IO_APIC_route_entry; +struct io_apic_irq_attr; + extern int intr_remapping_enabled; extern void setup_intr_remapping(void); @@ -33,6 +36,10 @@ extern int intr_hardware_enable(void); extern void intr_hardware_disable(void); extern int intr_hardware_reenable(int); extern int intr_enable_fault_handling(void); +extern int intr_setup_ioapic_entry(int irq, + struct IO_APIC_route_entry *entry, + unsigned int destination, int vector, + struct io_apic_irq_attr *attr); #else /* CONFIG_IRQ_REMAP */ @@ -45,7 +52,13 @@ static inline int intr_hardware_enable(void) { return -ENODEV; } static inline void intr_hardware_disable(void) { } static inline int intr_hardware_reenable(int eim) { return -ENODEV; } static inline int intr_enable_fault_handling(void) { return -ENODEV; } - +static inline int intr_setup_ioapic_entry(int irq, + struct IO_APIC_route_entry *entry, + unsigned int destination, int vector, + struct io_apic_irq_attr *attr) +{ + return -ENODEV; +} #endif /* CONFIG_IRQ_REMAP */ #endif /* __X86_INTR_REMAPPING_H */ |