remarkable-linux/drivers/iommu
Joerg Roedel e315604834 iommu/amd: Fix checking of pci dma aliases
Commit 61289cb ('iommu/amd: Remove old alias handling code')
removed the old alias handling code from the AMD IOMMU
driver because this is now handled by the IOMMU core code.

But this also removed the handling of PCI aliases, which is
not handled by the core code. This caused issues with PCI
devices that have hidden PCIe-to-PCI bridges that rewrite
the request-id.

Fix this bug by re-introducing some of the removed functions
from commit 61289cbaf6 and add a alias field
'struct iommu_dev_data'. This field carrys the return value
of the get_alias() function and uses that instead of the
amd_iommu_alias_table[] array in the code.

Fixes: 61289cbaf6 ('iommu/amd: Remove old alias handling code')
Cc: stable@vger.kernel.org # v4.4+
Tested-by: Tomasz Golinski <tomaszg@math.uwb.edu.pl>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2016-04-11 16:07:51 +02:00
..
amd_iommu.c iommu/amd: Fix checking of pci dma aliases 2016-04-11 16:07:51 +02:00
amd_iommu_init.c iommu/amd: Apply workaround for ATS write permission check 2016-02-25 16:53:49 +01:00
amd_iommu_proto.h
amd_iommu_types.h iommu/amd: Move 'struct dma_ops_domain' definition to amd_iommu.c 2015-12-28 17:18:50 +01:00
amd_iommu_v2.c mm/core: Do not enforce PKEY permissions on remote mm access 2016-02-18 19:46:28 +01:00
arm-smmu-v3.c iommu/arm-smmu: Treat IOMMU_DOMAIN_DMA as bypass for now 2016-02-18 15:02:44 +00:00
arm-smmu.c iommu/arm-smmu: Treat IOMMU_DOMAIN_DMA as bypass for now 2016-02-18 15:02:44 +00:00
dma-iommu.c iommu/dma: Restore scatterlist offsets correctly 2016-04-05 15:14:05 +02:00
dmar.c iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path 2016-02-29 23:55:16 +01:00
exynos-iommu.c iommu/exynos: Use proper readl/writel register interface 2016-02-29 16:44:24 +01:00
fsl_pamu.c powerpc/fsl: Move fsl_guts.h out of arch/powerpc 2015-10-21 18:05:50 -05:00
fsl_pamu.h
fsl_pamu_domain.c iommu/fsl: Convert to device_group call-back 2015-10-22 00:00:49 +02:00
fsl_pamu_domain.h
intel-iommu.c iommu/vt-d: Silence an uninitialized variable warning 2016-04-07 14:51:47 +02:00
intel-svm.c iommu/vt-d: Clear PPR bit to ensure we get more page request interrupts 2016-02-15 12:42:38 +00:00
intel_irq_remapping.c SVM fixes for Linux 4.5 2016-02-16 08:04:06 -08:00
io-pgtable-arm-v7s.c iommu/io-pgtable-armv7s: Fix kmem_cache_alloc() flags 2016-03-02 14:48:50 +01:00
io-pgtable-arm.c iommu/io-pgtable: Rationalise quirk handling 2016-02-17 14:15:09 +00:00
io-pgtable.c iommu/io-pgtable: Add helper functions for TLB ops 2016-02-17 14:15:08 +00:00
io-pgtable.h iommu/io-pgtable: Rationalise quirk handling 2016-02-17 14:15:09 +00:00
iommu-sysfs.c
iommu-traces.c
iommu.c iommu: Don't overwrite domain pointer when there is no default_domain 2016-04-07 14:33:03 +02:00
iova.c
ipmmu-vmsa.c Merge branches 's390', 'arm/renesas', 'arm/msm', 'arm/shmobile', 'arm/smmu', 'x86/amd' and 'x86/vt-d' into next 2016-01-19 15:30:43 +01:00
irq_remapping.c iommu/vt-d: Add a command line parameter for VT-d posted-interrupts 2015-10-01 15:06:54 +02:00
irq_remapping.h
Kconfig Merge branches 'arm/rockchip', 'arm/exynos', 'arm/smmu', 'arm/mediatek', 'arm/io-pgtable', 'arm/renesas' and 'core' into next 2016-03-21 14:58:47 +01:00
Makefile iommu/mediatek: Add mt8173 IOMMU driver 2016-02-25 16:49:08 +01:00
msm_iommu.c
msm_iommu.h
msm_iommu_dev.c iommu/msm: Use platform_register/unregister_drivers() 2015-12-14 15:51:21 +01:00
msm_iommu_hw-8xxx.h
mtk_iommu.c iommu/mediatek: Check for NULL instead of IS_ERR() 2016-03-02 15:49:21 +01:00
of_iommu.c of: iommu: Increment DT node refcount in of_iommu_set_ops() 2016-02-18 15:02:43 +00:00
omap-iommu-debug.c fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void 2015-09-11 15:21:34 -07:00
omap-iommu.c iommu/omap: Add support for configuring dsp iommus on DRA7xx 2015-10-14 14:35:47 +02:00
omap-iommu.h iommu/omap: Add support for configuring dsp iommus on DRA7xx 2015-10-14 14:35:47 +02:00
omap-iopgtable.h
rockchip-iommu.c iommu/rockchip: Fix "is stall active" check 2016-04-07 14:50:18 +02:00
s390-iommu.c iommu/s390: Fix sparse warnings 2015-11-26 14:41:01 +01:00
tegra-gart.c
tegra-smmu.c