Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull iommu core changes from Ingo Molnar: "The IOMMU changes in this cycle are mostly about factoring out Intel-VT-d specific IRQ remapping details and introducing struct irq_remap_ops, in preparation for AMD specific hardware." * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: iommu: Fix off by one in dmar_get_fault_reason() irq_remap: Fix the 'sub_handle' uninitialized warning irq_remap: Fix UP build failure irq_remap: Fix compiler warning with CONFIG_IRQ_REMAP=y iommu: rename intr_remapping.[ch] to irq_remapping.[ch] iommu: rename intr_remapping references to irq_remapping x86, iommu/vt-d: Clean up interfaces for interrupt remapping iommu/vt-d: Convert MSI remapping setup to remap_ops iommu/vt-d: Convert free_irte into a remap_ops callback iommu/vt-d: Convert IR set_affinity function to remap_ops iommu/vt-d: Convert IR ioapic-setup to use remap_ops iommu/vt-d: Convert missing apic.c intr-remapping call to remap_ops iommu/vt-d: Make intr-remapping initialization generic iommu: Rename intr_remapping files to intel_intr_remapping
This commit is contained in:
@@ -114,91 +114,6 @@ struct irte {
|
||||
};
|
||||
};
|
||||
|
||||
#ifdef CONFIG_IRQ_REMAP
|
||||
extern int intr_remapping_enabled;
|
||||
extern int intr_remapping_supported(void);
|
||||
extern int enable_intr_remapping(void);
|
||||
extern void disable_intr_remapping(void);
|
||||
extern int reenable_intr_remapping(int);
|
||||
|
||||
extern int get_irte(int irq, struct irte *entry);
|
||||
extern int modify_irte(int irq, struct irte *irte_modified);
|
||||
extern int alloc_irte(struct intel_iommu *iommu, int irq, u16 count);
|
||||
extern int set_irte_irq(int irq, struct intel_iommu *iommu, u16 index,
|
||||
u16 sub_handle);
|
||||
extern int map_irq_to_irte_handle(int irq, u16 *sub_handle);
|
||||
extern int free_irte(int irq);
|
||||
|
||||
extern struct intel_iommu *map_dev_to_ir(struct pci_dev *dev);
|
||||
extern struct intel_iommu *map_ioapic_to_ir(int apic);
|
||||
extern struct intel_iommu *map_hpet_to_ir(u8 id);
|
||||
extern int set_ioapic_sid(struct irte *irte, int apic);
|
||||
extern int set_hpet_sid(struct irte *irte, u8 id);
|
||||
extern int set_msi_sid(struct irte *irte, struct pci_dev *dev);
|
||||
#else
|
||||
static inline int alloc_irte(struct intel_iommu *iommu, int irq, u16 count)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline int modify_irte(int irq, struct irte *irte_modified)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline int free_irte(int irq)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline int map_irq_to_irte_handle(int irq, u16 *sub_handle)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline int set_irte_irq(int irq, struct intel_iommu *iommu, u16 index,
|
||||
u16 sub_handle)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline struct intel_iommu *map_dev_to_ir(struct pci_dev *dev)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline struct intel_iommu *map_ioapic_to_ir(int apic)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline struct intel_iommu *map_hpet_to_ir(unsigned int hpet_id)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
static inline int set_ioapic_sid(struct irte *irte, int apic)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
static inline int set_hpet_sid(struct irte *irte, u8 id)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
static inline int set_msi_sid(struct irte *irte, struct pci_dev *dev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define intr_remapping_enabled (0)
|
||||
|
||||
static inline int enable_intr_remapping(void)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static inline void disable_intr_remapping(void)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int reenable_intr_remapping(int eim)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
enum {
|
||||
IRQ_REMAP_XAPIC_MODE,
|
||||
IRQ_REMAP_X2APIC_MODE,
|
||||
|
Reference in New Issue
Block a user