IOMMU Fixes for Linux v4.6-rc4

The fixes include:

	* Two patches to revert the use of default domains in the ARM
	  SMMU driver. Enabling this caused regressions which need more
	  thorough fixing. So the regressions are fixed for now by
	  disabling the use of default domains.

	* A fix for a v4.4 regression in the AMD IOMMU driver which
	  broke devices behind invisible PCIe-to-PCI bridges with IOMMU
	  enabled.
iommu/arm-smmu: Don't allocate resources for bypass domains

Until we get fully plumbed into of_iommu_configure, our default
IOMMU_DOMAIN_DMA domains just bypass translation. Since we achieve that
by leaving the stream table entries set to bypass instead of pointing at
a translation context, the context bank we allocate for the domain is
completely wasted. Context banks are typically a rather limited
resource, so don't hog ones we don't need.

Reported-by: Eric Auger <eric.auger@linaro.org>
Tested-by: Eric Auger <eric.auger@linaro.org>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
1 file changed