summaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2020-10-24 22:35:19 +0100
committerThomas Gleixner <tglx@linutronix.de>2020-10-28 20:26:26 +0100
commita27dca645d2c0f31abb7858aa0e10b2fa0f2f659 (patch)
tree9573bd02be3fe46260dfae5b54823df3a22f815e /drivers/iommu
parent0c1883c1eb9dfa3c72af6e00425eeb1eb171a03e (diff)
downloadlinux-a27dca645d2c0f31abb7858aa0e10b2fa0f2f659.tar.bz2
x86/io_apic: Cleanup trigger/polarity helpers
'trigger' and 'polarity' are used throughout the I/O-APIC code for handling the trigger type (edge/level) and the active low/high configuration. While there are defines for initializing these variables and struct members, they are not used consequently and the meaning of 'trigger' and 'polarity' is opaque and confusing at best. Rename them to 'is_level' and 'active_low' and make them boolean in various structs so it's entirely clear what the meaning is. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20201024213535.443185-20-dwmw2@infradead.org
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/amd/iommu.c10
-rw-r--r--drivers/iommu/intel/irq_remapping.c9
2 files changed, 8 insertions, 11 deletions
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index 473de0920b64..b0e5210e53b2 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -3687,13 +3687,11 @@ static void irq_remapping_prepare_irte(struct amd_ir_data *data,
entry = info->ioapic.entry;
info->ioapic.entry = NULL;
memset(entry, 0, sizeof(*entry));
- entry->vector = index;
- entry->mask = 0;
- entry->trigger = info->ioapic.trigger;
- entry->polarity = info->ioapic.polarity;
+ entry->vector = index;
+ entry->trigger = info->ioapic.is_level;
+ entry->polarity = info->ioapic.active_low;
/* Mask level triggered irqs. */
- if (info->ioapic.trigger)
- entry->mask = 1;
+ entry->mask = info->ioapic.is_level;
break;
case X86_IRQ_ALLOC_TYPE_HPET:
diff --git a/drivers/iommu/intel/irq_remapping.c b/drivers/iommu/intel/irq_remapping.c
index 30269b738fa5..54ca69333445 100644
--- a/drivers/iommu/intel/irq_remapping.c
+++ b/drivers/iommu/intel/irq_remapping.c
@@ -1306,11 +1306,10 @@ static void intel_irq_remapping_prepare_irte(struct intel_ir_data *data,
* irq handler will do the explicit EOI to the io-apic.
*/
entry->vector = info->ioapic.pin;
- entry->mask = 0; /* enable IRQ */
- entry->trigger = info->ioapic.trigger;
- entry->polarity = info->ioapic.polarity;
- if (info->ioapic.trigger)
- entry->mask = 1; /* Mask level triggered irqs. */
+ entry->trigger = info->ioapic.is_level;
+ entry->polarity = info->ioapic.active_low;
+ /* Mask level triggered irqs. */
+ entry->mask = info->ioapic.is_level;
break;
case X86_IRQ_ALLOC_TYPE_HPET: