]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/tests: Convert xe_bo live tests
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Sat, 20 Jul 2024 14:25:24 +0000 (16:25 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Mon, 22 Jul 2024 10:20:10 +0000 (12:20 +0200)
Convert xe_bo live tests to parameterized style.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240720142528.530-4-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/tests/xe_bo.c

index e2e0ea24757a9c3a5ff13a5c0e7a63e191873838..1768483da1b71a2f55e921b0d3bf1cb62f433116 100644 (file)
@@ -6,6 +6,7 @@
 #include <kunit/test.h>
 #include <kunit/visibility.h>
 
+#include "tests/xe_kunit_helpers.h"
 #include "tests/xe_pci_test.h"
 #include "tests/xe_test.h"
 
@@ -158,13 +159,13 @@ static int ccs_test_run_device(struct xe_device *xe)
        int id;
 
        if (!xe_device_has_flat_ccs(xe)) {
-               kunit_info(test, "Skipping non-flat-ccs device.\n");
+               kunit_skip(test, "non-flat-ccs device\n");
                return 0;
        }
 
        /* For xe2+ dgfx, we don't handle ccs metadata */
        if (GRAPHICS_VER(xe) >= 20 && IS_DGFX(xe)) {
-               kunit_info(test, "Skipping on xe2+ dgfx device.\n");
+               kunit_skip(test, "xe2+ dgfx device\n");
                return 0;
        }
 
@@ -184,7 +185,9 @@ static int ccs_test_run_device(struct xe_device *xe)
 
 static void xe_ccs_migrate_kunit(struct kunit *test)
 {
-       xe_call_for_each_device(ccs_test_run_device);
+       struct xe_device *xe = test->priv;
+
+       ccs_test_run_device(xe);
 }
 
 static int evict_test_run_tile(struct xe_device *xe, struct xe_tile *tile, struct kunit *test)
@@ -334,8 +337,7 @@ static int evict_test_run_device(struct xe_device *xe)
        int id;
 
        if (!IS_DGFX(xe)) {
-               kunit_info(test, "Skipping non-discrete device %s.\n",
-                          dev_name(xe->drm.dev));
+               kunit_skip(test, "non-discrete device\n");
                return 0;
        }
 
@@ -351,12 +353,14 @@ static int evict_test_run_device(struct xe_device *xe)
 
 static void xe_bo_evict_kunit(struct kunit *test)
 {
-       xe_call_for_each_device(evict_test_run_device);
+       struct xe_device *xe = test->priv;
+
+       evict_test_run_device(xe);
 }
 
 static struct kunit_case xe_bo_tests[] = {
-       KUNIT_CASE(xe_ccs_migrate_kunit),
-       KUNIT_CASE(xe_bo_evict_kunit),
+       KUNIT_CASE_PARAM(xe_ccs_migrate_kunit, xe_pci_live_device_gen_param),
+       KUNIT_CASE_PARAM(xe_bo_evict_kunit, xe_pci_live_device_gen_param),
        {}
 };
 
@@ -364,5 +368,6 @@ VISIBLE_IF_KUNIT
 struct kunit_suite xe_bo_test_suite = {
        .name = "xe_bo",
        .test_cases = xe_bo_tests,
+       .init = xe_kunit_helper_xe_device_live_test_init,
 };
 EXPORT_SYMBOL_IF_KUNIT(xe_bo_test_suite);