drm/i915/selftest: Create mock_destroy_device
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 18 Sep 2020 13:25:02 +0000 (15:25 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 21 Sep 2020 08:36:24 +0000 (10:36 +0200)
Just some prep work before we rework the lifetime handling, which
requires replacing all the drm_dev_put in selftests by something else.

v2: Don't go with a static inline, upsets the header tests and
separation.

Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200918132505.2316382-2-daniel.vetter@ffwll.ch
13 files changed:
drivers/gpu/drm/i915/gem/selftests/huge_pages.c
drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c
drivers/gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c
drivers/gpu/drm/i915/gem/selftests/i915_gem_object.c
drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c
drivers/gpu/drm/i915/gt/selftest_timeline.c
drivers/gpu/drm/i915/selftests/i915_gem_evict.c
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c
drivers/gpu/drm/i915/selftests/i915_request.c
drivers/gpu/drm/i915/selftests/i915_vma.c
drivers/gpu/drm/i915/selftests/intel_memory_region.c
drivers/gpu/drm/i915/selftests/mock_gem_device.c
drivers/gpu/drm/i915/selftests/mock_gem_device.h

index 5daf4a2be422a598fd80d28d1fc43f4d269f3a87..1f35e71429b47e1507d7da62ddbe63f66e76dc66 100644 (file)
@@ -1617,7 +1617,7 @@ int i915_gem_huge_page_mock_selftests(void)
 out_put:
        i915_vm_put(&ppgtt->vm);
 out_unlock:
-       drm_dev_put(&dev_priv->drm);
+       mock_destroy_device(dev_priv);
        return err;
 }
 
index 99becb86abd331724ee271ecd5760d99a2b3260b..d3f87dc4eda3822dd5fda9816534dd74008c6cf8 100644 (file)
@@ -1997,7 +1997,7 @@ int i915_gem_context_mock_selftests(void)
 
        err = i915_subtests(tests, i915);
 
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index 2a52b92586b9f049fd73ac8c90bea59cdeeeb904..0845ce1ae37c142902097e000fb0dfddd9256391 100644 (file)
@@ -272,7 +272,7 @@ int i915_gem_dmabuf_mock_selftests(void)
 
        err = i915_subtests(tests, i915);
 
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index faa5b6d917954e0d75ad0c9f34b7865577fd4ec7..bf853c40ec65fcee99a86e5d7b8641fd88de13aa 100644 (file)
@@ -85,7 +85,7 @@ int i915_gem_object_mock_selftests(void)
 
        err = i915_subtests(tests, i915);
 
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index a94243dc4c5cfbc375a68459f0c343a1fb15e87b..8cee68c6a6dc81577d01c1c66d68a9d6cb2e98ef 100644 (file)
@@ -73,6 +73,6 @@ int i915_gem_phys_mock_selftests(void)
 
        err = i915_subtests(tests, i915);
 
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
index 96d164a3841dcfe3cd013245c7b3e3babd88afe5..19c2cb166e7c298fc19a4ce1bb80f27833792ed7 100644 (file)
@@ -158,7 +158,7 @@ out:
                __mock_hwsp_record(&state, na, NULL);
        kfree(state.history);
 err_put:
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index 028baae9631f273d40983bad29cb24848351ded5..f88473d396f4b8ffdbd73c4d0d8d6bea2f2571fd 100644 (file)
@@ -536,7 +536,7 @@ int i915_gem_evict_mock_selftests(void)
        with_intel_runtime_pm(&i915->runtime_pm, wakeref)
                err = i915_subtests(tests, &i915->gt);
 
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index af8205a2bd8fd47ee54bacde29e64be5d2ea1351..c53a222e3dece33793deec5f182e5a84929e333c 100644 (file)
@@ -1727,7 +1727,7 @@ int i915_gem_gtt_mock_selftests(void)
        mock_fini_ggtt(ggtt);
        kfree(ggtt);
 out_put:
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index 3092ca763789c052ff15af67dd713cc88ad88b37..64bbb82882494a28c7914e8f102af0252c8b2d6a 100644 (file)
@@ -527,7 +527,7 @@ int i915_request_mock_selftests(void)
        with_intel_runtime_pm(&i915->runtime_pm, wakeref)
                err = i915_subtests(tests, i915);
 
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
 
        return err;
 }
index 88c5e9acb84c79e8040383b8e8c6939cd24cbf71..1b6125e4c1ac67c55ac56b7a2c4909db69319f86 100644 (file)
@@ -841,7 +841,7 @@ int i915_vma_mock_selftests(void)
        mock_fini_ggtt(ggtt);
        kfree(ggtt);
 out_put:
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index 93a38a3235843fb5ed580a64b17d275168615b7f..334b0648e253e96039c2b2941466a7d63d0fde84 100644 (file)
@@ -791,7 +791,7 @@ int intel_memory_region_mock_selftests(void)
 
        intel_memory_region_put(mem);
 out_unref:
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
        return err;
 }
 
index f127e633f7ca816b40fccb64d6a7f3ac4aad44a8..fbb403edb7a00ae742e4692403a4ff96985a03be 100644 (file)
@@ -224,7 +224,12 @@ err_drv:
        intel_gt_driver_late_release(&i915->gt);
        intel_memory_regions_driver_release(i915);
        drm_mode_config_cleanup(&i915->drm);
-       drm_dev_put(&i915->drm);
+       mock_destroy_device(i915);
 
        return NULL;
 }
+
+void mock_destroy_device(struct drm_i915_private *i915)
+{
+       drm_dev_put(&i915->drm);
+}
index b5dc4e394555011c3eb6527a1c3164275ad81cb7..953cfe4fab34f7d6ba0f937d318a9ce5dd0d876c 100644 (file)
@@ -7,4 +7,6 @@ struct drm_i915_private;
 struct drm_i915_private *mock_gem_device(void);
 void mock_device_flush(struct drm_i915_private *i915);
 
+void mock_destroy_device(struct drm_i915_private *i915);
+
 #endif /* !__MOCK_GEM_DEVICE_H__ */