IOMMU Fixes for Linux v4.2-rc0

Four fixes have queued up to fix regressions introduced after v4.1:

	* Don't fail IOMMU driver initialization when the add_device
	  call-back returns -ENODEV, as that just means that the device
	  is not translated by the IOMMU. This is pretty common on ARM.

	* Two fixes for the ARM-SMMU driver for a wrong feature check
	  and to remove a redundant NULL check.

	* A fix for the AMD IOMMU driver to fix a boot panic on systems
	  where the BIOS requests Unity Mappings in the IVRS table.
iommu/amd: Introduce protection_domain_init() function

This function contains the common parts between the
initialization of dma_ops_domains and usual protection
domains. This also fixes a long-standing bug which was
uncovered by recent changes, in which the api_lock was not
initialized for dma_ops_domains.

Reported-by: George Wang <xuw2015@gmail.com>
Tested-by: George Wang <xuw2015@gmail.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
1 file changed