Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 819508d3 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

x86, irq: Add data structure to keep AMD specific irq remapping information



Add a data structure to store information the IOMMU driver
can use to get from a 'struct irq_cfg' to the remapping
entry.

Signed-off-by: default avatarJoerg Roedel <joro@8bytes.org>
Acked-by: default avatarSebastian Andrzej Siewior <sebastian@breakpoint.cc>
Reviewed-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent 078e1ee2
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ static inline void set_io_apic_irq_attr(struct io_apic_irq_attr *irq_attr,
	irq_attr->polarity	= polarity;
}

/* Intel specific interrupt remapping information */
struct irq_2_iommu {
	struct intel_iommu *iommu;
	u16 irte_index;
@@ -108,6 +109,12 @@ struct irq_2_iommu {
	u8  irte_mask;
};

/* AMD specific interrupt remapping information */
struct irq_2_irte {
	u16 devid; /* Device ID for IRTE table */
	u16 index; /* Index into IRTE table*/
};

/*
 * This is performance-critical, we want to do it O(1)
 *
@@ -120,7 +127,10 @@ struct irq_cfg {
	u8			vector;
	u8			move_in_progress : 1;
#ifdef CONFIG_IRQ_REMAP
	union {
		struct irq_2_iommu irq_2_iommu;
		struct irq_2_irte  irq_2_irte;
	};
#endif
};