• Logan Gunthorpe's avatar
    iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping · 64f79f17
    Logan Gunthorpe authored
    [ Upstream commit 3c124435 ]
    
    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 ad281ecf ("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 3f0c625c ("iommu/vt-d: Allow interrupts from the entire
    bus for aliased devices")
    Signed-off-by: default avatarLogan Gunthorpe <logang@deltatee.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
    64f79f17
amd_iommu.c 106 KB