]> git.baikalelectronics.ru Git - kernel.git/commit
iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping
authorLogan Gunthorpe <logang@deltatee.com>
Tue, 22 Oct 2019 22:01:21 +0000 (16:01 -0600)
committerJoerg Roedel <jroedel@suse.de>
Wed, 30 Oct 2019 09:36:19 +0000 (10:36 +0100)
commitbce0e51c31f790679d805607d52a6caa6b33c5e1
tree40f1cfb1cafd88d34fd97455bedf32b1380b7d74
parent745f5733a7b8ccbccfc6665bda31743784fd8830
iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping

Non-Transparent Bridge (NTB) devices (among others) may have many DMA
aliases seeing the hardware will send requests with different device ids
depending on their origin across the bridged hardware.

See commit cdd75111bae3 ("PCI: Add DMA alias quirk for Microsemi Switchtec
NTB") for more information on this.

The AMD IOMMU IRQ remapping functionality ignores all PCI aliases for
IRQs so if devices send an interrupt from one of their aliases they
will be blocked on AMD hardware with the IOMMU enabled.

To fix this, ensure IRQ remapping is enabled for all aliases with
MSI interrupts.

This is analogous to the functionality added to the Intel IRQ remapping
code in commit 87fffb88aa0d ("iommu/vt-d: Allow interrupts from the entire
bus for aliased devices")

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c