aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/io_apic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/apic/io_apic.c')
-rw-r--r--arch/x86/kernel/apic/io_apic.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 5c5b8f3dddb5..4d90327853b7 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -1397,6 +1397,7 @@ int setup_ioapic_entry(int apic_id, int irq,
1397 irte.dlvry_mode = apic->irq_delivery_mode; 1397 irte.dlvry_mode = apic->irq_delivery_mode;
1398 irte.vector = vector; 1398 irte.vector = vector;
1399 irte.dest_id = IRTE_DEST(destination); 1399 irte.dest_id = IRTE_DEST(destination);
1400 irte.redir_hint = 1;
1400 1401
1401 /* Set source-id of interrupt request */ 1402 /* Set source-id of interrupt request */
1402 set_ioapic_sid(&irte, apic_id); 1403 set_ioapic_sid(&irte, apic_id);
@@ -3348,6 +3349,7 @@ static int msi_compose_msg(struct pci_dev *pdev, unsigned int irq,
3348 irte.dlvry_mode = apic->irq_delivery_mode; 3349 irte.dlvry_mode = apic->irq_delivery_mode;
3349 irte.vector = cfg->vector; 3350 irte.vector = cfg->vector;
3350 irte.dest_id = IRTE_DEST(dest); 3351 irte.dest_id = IRTE_DEST(dest);
3352 irte.redir_hint = 1;
3351 3353
3352 /* Set source-id of interrupt request */ 3354 /* Set source-id of interrupt request */
3353 if (pdev) 3355 if (pdev)
@@ -3624,6 +3626,7 @@ static int dmar_msi_set_affinity(unsigned int irq, const struct cpumask *mask)
3624 msg.data |= MSI_DATA_VECTOR(cfg->vector); 3626 msg.data |= MSI_DATA_VECTOR(cfg->vector);
3625 msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK; 3627 msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
3626 msg.address_lo |= MSI_ADDR_DEST_ID(dest); 3628 msg.address_lo |= MSI_ADDR_DEST_ID(dest);
3629 msg.address_hi = MSI_ADDR_BASE_HI | MSI_ADDR_EXT_DEST_ID(dest);
3627 3630
3628 dmar_msi_write(irq, &msg); 3631 dmar_msi_write(irq, &msg);
3629 3632