iommu: Add quirk for Intel graphic devices in map_sg
authorLu Baolu <baolu.lu@linux.intel.com>
Tue, 24 Nov 2020 08:20:54 +0000 (16:20 +0800)
committerWill Deacon <will@kernel.org>
Wed, 25 Nov 2020 12:03:48 +0000 (12:03 +0000)
commit65f746e8285f0a67d43517d86fedb9e29ead49f2
tree5dee8b1806d5932e56912dcce9fea9a4335a7746
parent82612d66d51d3bacdd789e31d2e875d2494b7514
iommu: Add quirk for Intel graphic devices in map_sg

Combining the sg segments exposes a bug in the Intel i915 driver which
causes visual artifacts and the screen to freeze. This is most likely
because of how the i915 handles the returned list. It probably doesn't
respect the returned value specifying the number of elements in the list
and instead depends on the previous behaviour of the Intel iommu driver
which would return the same number of elements in the output list as in
the input list.

[ This has been fixed in the i915 tree, but we agreed to carry this fix
  temporarily in the iommu tree and revert it before 5.11 is released:

  https://lore.kernel.org/linux-iommu/20201103105442.GD22888@8bytes.org/

  -- Will ]

Signed-off-by: Tom Murphy <murphyt7@tcd.ie>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Tested-by: Logan Gunthorpe <logang@deltatee.com>
Link: https://lore.kernel.org/r/20201124082057.2614359-5-baolu.lu@linux.intel.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/dma-iommu.c