IOMMU Fixes for Linux v4.2-rc4

These fixes are all for the AMD IOMMU driver:

	* A regression with HSA caused by the conversion of the driver to
	  default domains. The fixes make sure that an HSA device can
	  still be attached to an IOMMUv2 domain and that these domains
	  also allow non-IOMMUv2 capable devices.

	* Fix iommu=pt mode which did not work because the dma_ops where
	  set to nommu_ops, which breaks devices that can only do 32bit
	  DMA.

	* Fix an issue with non-PCI devices not working, because there
	  are no dma_ops for them. This issue was discovered recently as
	  new AMD x86 platforms have non-PCI devices too.
iommu/amd: Allow non-ATS devices in IOMMUv2 domains

With the grouping of multi-function devices a non-ATS
capable device might also end up in the same domain as an
IOMMUv2 capable device.
So handle this situation gracefully and don't consider it a
bug anymore.

Tested-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
1 file changed