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 5daf4a2..1f35e71 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 99becb8..d3f87dc 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 2a52b92..0845ce1 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 faa5b6d..bf853c4 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 a94243d..8cee68c 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 96d164a..19c2cb1 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 028baae..f88473d 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 af8205a..c53a222 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 3092ca7..64bbb82 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 88c5e9a..1b6125e 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 93a38a3..334b064 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 f127e63..fbb403e 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 b5dc4e3..953cfe4 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__ */