summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFeng Wu <feng.wu@intel.com>2015-06-09 13:20:28 +0800
committerThomas Gleixner <tglx@linutronix.de>2015-06-12 11:33:51 +0200
commit6f281923949a4944a7d5625e4f900ec02fefee59 (patch)
treeeadb6e87fbf05717f61882210ba57af7fbc5595d
parent501b32653ebf49114cccb9afbf9150cf18fd8700 (diff)
downloadlinux-stable-6f281923949a4944a7d5625e4f900ec02fefee59.tar.gz
linux-stable-6f281923949a4944a7d5625e4f900ec02fefee59.tar.bz2
linux-stable-6f281923949a4944a7d5625e4f900ec02fefee59.zip
iommu: Add new member capability to struct irq_remap_ops
Add a new member 'capability' to struct irq_remap_ops for storing information about available capabilities such as VT-d Posted-Interrupts. Signed-off-by: Feng Wu <feng.wu@intel.com> Reviewed-by: Jiang Liu <jiang.liu@linux.intel.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Joerg Roedel <joro@8bytes.org> Cc: iommu@lists.linux-foundation.org Cc: dwmw2@infradead.org Link: http://lkml.kernel.org/r/1433827237-3382-2-git-send-email-feng.wu@intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r--arch/x86/include/asm/irq_remapping.h4
-rw-r--r--drivers/iommu/irq_remapping.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/include/asm/irq_remapping.h b/arch/x86/include/asm/irq_remapping.h
index 78974fbc33b4..8b432dd8f170 100644
--- a/arch/x86/include/asm/irq_remapping.h
+++ b/arch/x86/include/asm/irq_remapping.h
@@ -29,6 +29,10 @@
struct msi_msg;
struct irq_alloc_info;
+enum irq_remap_cap {
+ IRQ_POSTING_CAP = 0,
+};
+
#ifdef CONFIG_IRQ_REMAP
extern void set_irq_remapping_broken(void);
diff --git a/drivers/iommu/irq_remapping.h b/drivers/iommu/irq_remapping.h
index 91d5a119956a..b6ca30d31986 100644
--- a/drivers/iommu/irq_remapping.h
+++ b/drivers/iommu/irq_remapping.h
@@ -35,6 +35,9 @@ extern int no_x2apic_optout;
extern int irq_remapping_enabled;
struct irq_remap_ops {
+ /* The supported capabilities */
+ int capability;
+
/* Initializes hardware and makes it ready for remapping interrupts */
int (*prepare)(void);