iommufd: Convert to alloc_domain_paging()
authorJason Gunthorpe <jgg@nvidia.com>
Wed, 27 Sep 2023 23:47:34 +0000 (20:47 -0300)
committerJoerg Roedel <jroedel@suse.de>
Thu, 26 Oct 2023 14:53:50 +0000 (16:53 +0200)
Move the global static blocked domain to the ops and convert the unmanaged
domain to domain_alloc_paging.

Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Sven Peter <sven@svenpeter.dev>
Link: https://lore.kernel.org/r/4-v2-bff223cf6409+282-dart_paging_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/iommufd/selftest.c

index fb981ba97c4e872aaccbaad8357bdbe248737944..ee6079847091027eed02fde1f64503a03592a6af 100644 (file)
@@ -141,16 +141,10 @@ static void *mock_domain_hw_info(struct device *dev, u32 *length, u32 *type)
        return info;
 }
 
-static struct iommu_domain *mock_domain_alloc(unsigned int iommu_domain_type)
+static struct iommu_domain *mock_domain_alloc_paging(struct device *dev)
 {
        struct mock_iommu_domain *mock;
 
-       if (iommu_domain_type == IOMMU_DOMAIN_BLOCKED)
-               return &mock_blocking_domain;
-
-       if (iommu_domain_type != IOMMU_DOMAIN_UNMANAGED)
-               return NULL;
-
        mock = kzalloc(sizeof(*mock), GFP_KERNEL);
        if (!mock)
                return NULL;
@@ -295,10 +289,11 @@ static const struct iommu_ops mock_ops = {
         * because it is zero.
         */
        .default_domain = &mock_blocking_domain,
+       .blocked_domain = &mock_blocking_domain,
        .owner = THIS_MODULE,
        .pgsize_bitmap = MOCK_IO_PAGE_SIZE,
        .hw_info = mock_domain_hw_info,
-       .domain_alloc = mock_domain_alloc,
+       .domain_alloc_paging = mock_domain_alloc_paging,
        .capable = mock_domain_capable,
        .device_group = generic_device_group,
        .probe_device = mock_probe_device,