IOMMU Updates for Linux v6.3:

Including:

	- Consolidate iommu_map/unmap functions. There have been
	  blocking and atomic variants so far, but that was problematic
	  as this approach does not scale with required new variants
	  which just differ in the GFP flags used.
	  So Jason consolidated this back into single functions that
	  take a GFP parameter. This has the potential to cause
	  conflicts with other trees, as they introduce new call-sites
	  for the changed functions. I offered them to pull in the
	  branch containing these changes and resolve it, but I am not
	  sure everyone did that. The conflicts this caused with
	  upstream up to v6.2-rc8 are resolved in the final merge
	  commit.

	- Retire the detach_dev() call-back in iommu_ops

	- Arm SMMU updates from Will:
	  - Device-tree binding updates:
	    * Cater for three power domains on SM6375
	    * Document existing compatible strings for Qualcomm SoCs
	    * Tighten up clocks description for platform-specific compatible strings
	  - Enable Qualcomm workarounds for some additional platforms that need them

	- Intel VT-d updates from Lu Baolu:
	  - Add Intel IOMMU performance monitoring support
	  - Set No Execute Enable bit in PASID table entry
	  - Two performance optimizations
	  - Fix PASID directory pointer coherency
	  - Fix missed rollbacks in error path
	  - Cleanups

	- Apple t8110 DART support

	- Exynos IOMMU:
	  - Implement better fault handling
	  - Error handling fixes

	- Renesas IPMMU:
	  - Add device tree bindings for r8a779g0

	- AMD IOMMU:
	  - Various fixes for handling on SNP-enabled systems and
	    handling of faults with unknown request-ids
	  - Cleanups and other small fixes

	- Various other smaller fixes and cleanups
Merge branches 'apple/dart', 'arm/exynos', 'arm/renesas', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next