alistair23-linux/drivers/iommu
Linus Torvalds e16c4790de Revert "iommu/amd_iommu: Use CONFIG_DMA_DIRECT_OPS=y and dma_direct_{alloc,free}()"
This reverts commit b468620f2a.

It turns out that this broke drm on AMD platforms. Quoting Gabriel C:
 "I can confirm reverting b468620f2a fixes
  that issue for me.

  The GPU is working fine with SME enabled.

  Now with working GPU :) I can also confirm performance is back to
  normal without doing any other workarounds"

Christan König analyzed it partially:
 "As far as I analyzed it we now get an -ENOMEM from dma_alloc_attrs()
  in drivers/gpu/drm/ttm/ttm_page_alloc_dma.c when IOMMU is enabled"

and Christoph Hellwig responded:
 "I think the prime issue is that dma_direct_alloc respects the dma
  mask. Which we don't need if actually using the iommu. This would be
  mostly harmless exept for the the SEV bit high in the address that
  makes the checks fail.

  For now I'd say revert this commit for 4.17/4.18-rc and I'll look into
  addressing these issues properly"

Reported-and-bisected-by: Gabriel C <nix.or.die@gmail.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Cc: Christian König <christian.koenig@amd.com>
Cc: Michel Dänzer <michel.daenzer@amd.com>
Cc: Joerg Roedel <jroedel@suse.de>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: stable@kernel.org		# v4.17
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-11 12:22:12 -07:00
..
amd_iommu.c Revert "iommu/amd_iommu: Use CONFIG_DMA_DIRECT_OPS=y and dma_direct_{alloc,free}()" 2018-06-11 12:22:12 -07:00
amd_iommu_init.c iommu/amd: Use raw locks on atomic context paths 2018-02-13 14:18:06 +01:00
amd_iommu_proto.h
amd_iommu_types.h iommu/amd: Update logging information for new event type 2018-05-03 16:33:18 +02:00
amd_iommu_v2.c pci-v4.16-changes 2018-02-06 09:59:40 -08:00
arm-smmu-regs.h
arm-smmu-v3.c iommu/arm-smmu-v3: Support 52-bit virtual address 2018-03-27 14:12:06 +01:00
arm-smmu.c iommu: Clean up of_iommu_init_fn 2018-01-17 15:25:50 +01:00
dma-iommu.c iommu/dma: Move PCI window region reservation back into dma specific path. 2018-05-03 16:32:10 +02:00
dmar.c Merge branches 'arm/io-pgtable', 'arm/qcom', 'arm/tegra', 'x86/vt-d', 'x86/amd' and 'core' into next 2018-05-29 16:58:17 +02:00
exynos-iommu.c IOMMU Updates for Linux v4.17 2018-04-11 18:50:41 -07:00
fsl_pamu.c
fsl_pamu.h
fsl_pamu_domain.c
fsl_pamu_domain.h
intel-iommu.c IOMMU Updates for Linux v4.18 2018-06-08 10:44:33 -07:00
intel-svm.c iommu/vt-d: Remove unnecessary parentheses 2018-05-15 16:34:53 +02:00
intel_irq_remapping.c irq_remapping: Use apic_ack_irq() 2018-06-06 15:18:20 +02:00
io-pgtable-arm-v7s.c iommu/io-pgtable-arm: Use for_each_set_bit to simplify code 2018-05-03 15:31:07 +02:00
io-pgtable-arm.c iommu/io-pgtable-arm: Make allocations NUMA-aware 2018-05-29 16:57:58 +02:00
io-pgtable.c
io-pgtable.h iommu/io-pgtable: Use size_t return type for all foo_unmap 2018-02-13 19:31:32 +01:00
iommu-sysfs.c
iommu-traces.c
iommu.c iommu: Clean up the comments for iommu_group_alloc 2018-05-15 16:34:59 +02:00
iova.c
ipmmu-vmsa.c iommu: Clean up of_iommu_init_fn 2018-01-17 15:25:50 +01:00
irq_remapping.c irq_remapping: Use apic_ack_irq() 2018-06-06 15:18:20 +02:00
irq_remapping.h irq_remapping: Use apic_ack_irq() 2018-06-06 15:18:20 +02:00
Kconfig Revert "iommu/amd_iommu: Use CONFIG_DMA_DIRECT_OPS=y and dma_direct_{alloc,free}()" 2018-06-11 12:22:12 -07:00
Makefile
msm_iommu.c iommu: Clean up of_iommu_init_fn 2018-01-17 15:25:50 +01:00
msm_iommu.h
msm_iommu_hw-8xxx.h
mtk_iommu.c iommu/mediatek: Fix protect memory setting 2018-03-21 06:13:57 -05:00
mtk_iommu.h iommu/mediatek: Fix protect memory setting 2018-03-21 06:13:57 -05:00
mtk_iommu_v1.c IOMMU Updates for Linux v4.17 2018-04-11 18:50:41 -07:00
of_iommu.c iommu: Clean up of_iommu_init_fn 2018-01-17 15:25:50 +01:00
omap-iommu-debug.c
omap-iommu.c iommu/omap: Increase group ref in .device_group() 2018-03-15 15:54:52 +01:00
omap-iommu.h
omap-iopgtable.h
qcom_iommu.c iommu/qcom: Simplify getting .drvdata 2018-05-03 15:18:26 +02:00
rockchip-iommu.c iommu: rockchip: fix building without CONFIG_OF 2018-05-03 16:36:07 +02:00
s390-iommu.c
tegra-gart.c iommu/tegra: gart: Fix gart_iommu_unmap() 2018-05-03 16:30:28 +02:00
tegra-smmu.c