[PATCH v14 0/6] iommu: Enhance IOMMU default DMA mode build options

From: John Garry
Date: Fri Jun 18 2021 - 07:39:03 EST


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.

Based on next-20210611 + "iommu: Update "iommu.strict" documentation"

Differences to v13:
- Improve strict mode deprecation messages and cut out some
kernel-parameters.txt legacy description
- Add tag in 1/6
- use pr_info_once() for vt-d message about VM and caching

Differences to v12:
- Add Robin's RB tags (thanks!)
- 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()

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 | 12 ++----
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, 65 insertions(+), 37 deletions(-)

--
2.26.2