IOMMU updates for 5.11

- IOVA allocation optimisations and removal of unused code

- Introduction of DOMAIN_ATTR_IO_PGTABLE_CFG for parameterising the
  page-table of an IOMMU domain

- Support for changing the default domain type in sysfs

- Optimisation to the way in which identity-mapped regions are created

- Driver updates:
  * Arm SMMU updates, including continued work on Shared Virtual Memory
  * Tegra SMMU updates, including support for PCI devices
  * Intel VT-D updates, including conversion to the IOMMU-DMA API

- Cleanup, kerneldoc and minor refactoring
iommu/amd: Add sanity check for interrupt remapping table length macros

Currently, macros related to the interrupt remapping table length are
defined separately. This has resulted in an oversight in which one of
the macros were missed when changing the length. To prevent this,
redefine the macros to add built-in sanity check.

Also, rename macros to use the name of the DTE[IntTabLen] field as
specified in the AMD IOMMU specification. There is no functional change.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Cc: Will Deacon <will@kernel.org>
Cc: Jerry Snitselaar <jsnitsel@redhat.com>
Cc: Joerg Roedel <joro@8bytes.org>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Link: https://lore.kernel.org/r/20201210162436.126321-1-suravee.suthikulpanit@amd.com
Signed-off-by: Will Deacon <will@kernel.org>
3 files changed