[PATCH v4 0/3] Replace private domain with per-group default domain
baolu.lu at linux.intel.com
Wed May 6 01:59:44 UTC 2020
Some devices are required to use a specific type (identity or dma) of
default domain when they are used with a vendor iommu. When the system
level default domain type is different from it, the vendor iommu driver
has to request a new default domain with either
iommu_request_dma_domain_for_dev() or iommu_request_dm_for_dev() in the
add_dev() callback. Unfortunately, these two helpers only work when the
group hasn't been assigned to any other devices, hence, some vendor iommu
driver has to use a private domain if it fails to request a new default
Joerg proposed an on-going proposal which makes the default domain
framework to support configuring per-group default domain during boot
[This has been applied in iommu/next.]
Hence, there is no need to keep the private domain implementation
in the Intel IOMMU driver. This patch series aims to remove it.
- Make the commit message of the first patch more comprehensive.
- Port necessary patches on the top of Joerg's new proposal.
The per-group default domain proposed previously in this series
will be deprecated due to a race concern between domain switching
and device driver probing.
- Rename the iommu ops callback to def_domain_type
Lu Baolu (3):
iommu/vt-d: Allow 32bit devices to uses DMA domain
iommu/vt-d: Allow PCI sub-hierarchy to use DMA domain
iommu/vt-d: Apply per-device dma_ops
drivers/iommu/intel-iommu.c | 396 +++---------------------------------
1 file changed, 26 insertions(+), 370 deletions(-)
More information about the iommu