This is a reboot of Zhen Lei's series from a couple of years ago, which never made it across the line. I still think that it has some value, so taking up the mantle. Motivation: Allow lazy mode be default mode for DMA domains for all ARCHs, and not only those who hardcode it (to be lazy). For ARM64, currently we must use a kernel command line parameter to use lazy mode, which is less than ideal. I have now included the print for strict/lazy mode, which I originally sent in: https://lore.kernel.org/linux-iommu/72eb3de9-1d1c-ae46-c5a9-95f26525d435@xxxxxxxxxx/ There was some concern there about drivers and their custom prints conflicting with the print in that patch, but I think that it should be ok. Differences to v12: - Rebase to next-20210611 and include patch "iommu: Update "iommu.strict" documentation" as a baseline - Add Robin's RB tags (thanks!) - Please let me know if not ok with kernel-parameters.txt update in 3/6 - Add a patch to mark x86 strict cmdline params as deprecated - Improve wording in Kconfig change and tweak iommu_dma_strict declaration Differences to v11: - Rebase to next-20210610 - Drop strict mode globals in Intel and AMD drivers - Include patch to print strict vs lazy mode - Include patch to remove argument from iommu_set_dma_strict() Differences to v10: - Rebase to v5.13-rc4 - Correct comment and typo in Kconfig (Randy) - Make Kconfig choice depend on relevant architectures - Update kernel-parameters.txt for CONFIG_IOMMU_DEFAULT_{LAZY,STRICT} John Garry (3): iommu: Deprecate Intel and AMD cmdline methods to enable strict mode iommu: Print strict or lazy mode at init time iommu: Remove mode argument from iommu_set_dma_strict() Zhen Lei (3): iommu: Enhance IOMMU default DMA mode build options iommu/vt-d: Add support for IOMMU default DMA mode build options iommu/amd: Add support for IOMMU default DMA mode build options .../admin-guide/kernel-parameters.txt | 8 ++-- drivers/iommu/Kconfig | 41 +++++++++++++++++++ drivers/iommu/amd/amd_iommu_types.h | 6 --- drivers/iommu/amd/init.c | 7 ++-- drivers/iommu/amd/iommu.c | 6 --- drivers/iommu/intel/iommu.c | 16 ++++---- drivers/iommu/iommu.c | 12 ++++-- include/linux/iommu.h | 2 +- 8 files changed, 66 insertions(+), 32 deletions(-) -- 2.26.2