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

From: John Garry
Date: Mon Jul 12 2021 - 07:18:47 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 v5.14-rc1

Differences to v14:
- Add RB tags (Thanks!)
- Rebase

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

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