Messages in this thread | | | From | Lu Baolu <> | Subject | [PATCH v3 0/3] Replace private domain with per-group default domain | Date | Thu, 16 Apr 2020 14:23:51 +0800 |
| |
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 one.
Joerg proposed an on-going proposal which makes the default domain framework to support configuring per-group default domain during boot process.
https://lkml.org/lkml/2020/4/14/616
Hence, there is no need to keep the private domain implementation in the Intel IOMMU driver. This patch series aims to remove it.
Best regards, baolu
Change log: v2->v3: - Port necessary patches on the top of Joerg's new proposal. https://lkml.org/lkml/2020/4/14/616 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.
v1->v2: - 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(-)
-- 2.17.1
| |