diff options
Diffstat (limited to 'include/linux/dmar.h')
| -rw-r--r-- | include/linux/dmar.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/dmar.h b/include/linux/dmar.h index e397dc342cda..4a2b162c256a 100644 --- a/include/linux/dmar.h +++ b/include/linux/dmar.h | |||
| @@ -108,6 +108,7 @@ struct irte { | |||
| 108 | }; | 108 | }; |
| 109 | #ifdef CONFIG_INTR_REMAP | 109 | #ifdef CONFIG_INTR_REMAP |
| 110 | extern int intr_remapping_enabled; | 110 | extern int intr_remapping_enabled; |
| 111 | extern int intr_remapping_supported(void); | ||
| 111 | extern int enable_intr_remapping(int); | 112 | extern int enable_intr_remapping(int); |
| 112 | extern void disable_intr_remapping(void); | 113 | extern void disable_intr_remapping(void); |
| 113 | extern int reenable_intr_remapping(int); | 114 | extern int reenable_intr_remapping(int); |
| @@ -125,6 +126,8 @@ extern int free_irte(int irq); | |||
| 125 | extern int irq_remapped(int irq); | 126 | extern int irq_remapped(int irq); |
| 126 | extern struct intel_iommu *map_dev_to_ir(struct pci_dev *dev); | 127 | extern struct intel_iommu *map_dev_to_ir(struct pci_dev *dev); |
| 127 | extern struct intel_iommu *map_ioapic_to_ir(int apic); | 128 | extern struct intel_iommu *map_ioapic_to_ir(int apic); |
| 129 | extern int set_ioapic_sid(struct irte *irte, int apic); | ||
| 130 | extern int set_msi_sid(struct irte *irte, struct pci_dev *dev); | ||
| 128 | #else | 131 | #else |
| 129 | static inline int alloc_irte(struct intel_iommu *iommu, int irq, u16 count) | 132 | static inline int alloc_irte(struct intel_iommu *iommu, int irq, u16 count) |
| 130 | { | 133 | { |
| @@ -155,8 +158,19 @@ static inline struct intel_iommu *map_ioapic_to_ir(int apic) | |||
| 155 | { | 158 | { |
| 156 | return NULL; | 159 | return NULL; |
| 157 | } | 160 | } |
| 161 | static inline int set_ioapic_sid(struct irte *irte, int apic) | ||
| 162 | { | ||
| 163 | return 0; | ||
| 164 | } | ||
| 165 | static inline int set_msi_sid(struct irte *irte, struct pci_dev *dev) | ||
| 166 | { | ||
| 167 | return 0; | ||
| 168 | } | ||
| 169 | |||
| 158 | #define irq_remapped(irq) (0) | 170 | #define irq_remapped(irq) (0) |
| 159 | #define enable_intr_remapping(mode) (-1) | 171 | #define enable_intr_remapping(mode) (-1) |
| 172 | #define disable_intr_remapping() (0) | ||
| 173 | #define reenable_intr_remapping(mode) (0) | ||
| 160 | #define intr_remapping_enabled (0) | 174 | #define intr_remapping_enabled (0) |
| 161 | #endif | 175 | #endif |
| 162 | 176 | ||
| @@ -185,6 +199,15 @@ struct dmar_rmrr_unit { | |||
| 185 | 199 | ||
| 186 | #define for_each_rmrr_units(rmrr) \ | 200 | #define for_each_rmrr_units(rmrr) \ |
| 187 | list_for_each_entry(rmrr, &dmar_rmrr_units, list) | 201 | list_for_each_entry(rmrr, &dmar_rmrr_units, list) |
| 202 | |||
| 203 | struct dmar_atsr_unit { | ||
| 204 | struct list_head list; /* list of ATSR units */ | ||
| 205 | struct acpi_dmar_header *hdr; /* ACPI header */ | ||
| 206 | struct pci_dev **devices; /* target devices */ | ||
| 207 | int devices_cnt; /* target device count */ | ||
| 208 | u8 include_all:1; /* include all ports */ | ||
| 209 | }; | ||
| 210 | |||
| 188 | /* Intel DMAR initialization functions */ | 211 | /* Intel DMAR initialization functions */ |
| 189 | extern int intel_iommu_init(void); | 212 | extern int intel_iommu_init(void); |
| 190 | #else | 213 | #else |
