]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/xe/kunit: Promote fake platform parameter list
authorMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 29 Aug 2025 17:19:20 +0000 (19:19 +0200)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Fri, 5 Sep 2025 10:57:27 +0000 (12:57 +0200)
The list of all known representative platforms defined in xe_wa
could be used in more places by other test suites.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20250829171922.572-6-michal.wajdeczko@intel.com
drivers/gpu/drm/xe/tests/xe_pci.c
drivers/gpu/drm/xe/tests/xe_pci_test.h
drivers/gpu/drm/xe/tests/xe_wa_test.c

index a8b35439131fb4673e98e18b79586ad7fd7f8d09..f19b1a64128b99b54c3b1a99915f3d0e20c48104 100644 (file)
 #include <kunit/test-bug.h>
 #include <kunit/visibility.h>
 
+#define PLATFORM_CASE(platform__, graphics_step__)                                     \
+       {                                                                               \
+               .platform = XE_ ## platform__,                                          \
+               .subplatform = XE_SUBPLATFORM_NONE,                                     \
+               .step = { .graphics = STEP_ ## graphics_step__ }                        \
+       }
+
+#define SUBPLATFORM_CASE(platform__, subplatform__, graphics_step__)                   \
+       {                                                                               \
+               .platform = XE_ ## platform__,                                          \
+               .subplatform = XE_SUBPLATFORM_ ## platform__ ## _ ## subplatform__,     \
+               .step = { .graphics = STEP_ ## graphics_step__ }                        \
+       }
+
+#define GMDID_CASE(platform__, graphics_verx100__, graphics_step__,                    \
+                  media_verx100__, media_step__)                                       \
+       {                                                                               \
+               .platform = XE_ ## platform__,                                          \
+               .subplatform = XE_SUBPLATFORM_NONE,                                     \
+               .graphics_verx100 = graphics_verx100__,                                 \
+               .media_verx100 = media_verx100__,                                       \
+               .step = { .graphics = STEP_ ## graphics_step__,                         \
+                          .media = STEP_ ## media_step__ }                             \
+       }
+
+static const struct xe_pci_fake_data cases[] = {
+       PLATFORM_CASE(TIGERLAKE, B0),
+       PLATFORM_CASE(DG1, A0),
+       PLATFORM_CASE(DG1, B0),
+       PLATFORM_CASE(ALDERLAKE_S, A0),
+       PLATFORM_CASE(ALDERLAKE_S, B0),
+       PLATFORM_CASE(ALDERLAKE_S, C0),
+       PLATFORM_CASE(ALDERLAKE_S, D0),
+       PLATFORM_CASE(ALDERLAKE_P, A0),
+       PLATFORM_CASE(ALDERLAKE_P, B0),
+       PLATFORM_CASE(ALDERLAKE_P, C0),
+       SUBPLATFORM_CASE(ALDERLAKE_S, RPLS, D0),
+       SUBPLATFORM_CASE(ALDERLAKE_P, RPLU, E0),
+       SUBPLATFORM_CASE(DG2, G10, C0),
+       SUBPLATFORM_CASE(DG2, G11, B1),
+       SUBPLATFORM_CASE(DG2, G12, A1),
+       GMDID_CASE(METEORLAKE, 1270, A0, 1300, A0),
+       GMDID_CASE(METEORLAKE, 1271, A0, 1300, A0),
+       GMDID_CASE(METEORLAKE, 1274, A0, 1300, A0),
+       GMDID_CASE(LUNARLAKE, 2004, A0, 2000, A0),
+       GMDID_CASE(LUNARLAKE, 2004, B0, 2000, A0),
+       GMDID_CASE(BATTLEMAGE, 2001, A0, 1301, A1),
+       GMDID_CASE(PANTHERLAKE, 3000, A0, 3000, A0),
+};
+
+KUNIT_ARRAY_PARAM(platform, cases, xe_pci_fake_data_desc);
+
+/**
+ * xe_pci_fake_data_gen_params - Generate struct xe_pci_fake_data parameters
+ * @prev: the pointer to the previous parameter to iterate from or NULL
+ * @desc: output buffer with minimum size of KUNIT_PARAM_DESC_SIZE
+ *
+ * This function prepares struct xe_pci_fake_data parameter.
+ *
+ * To be used only as a parameter generator function in &KUNIT_CASE_PARAM.
+ *
+ * Return: pointer to the next parameter or NULL if no more parameters
+ */
+const void *xe_pci_fake_data_gen_params(const void *prev, char *desc)
+{
+       return platform_gen_params(prev, desc);
+}
+EXPORT_SYMBOL_IF_KUNIT(xe_pci_fake_data_gen_params);
+
 static const struct xe_device_desc *lookup_desc(enum xe_platform p)
 {
        const struct xe_device_desc *desc;
index 1195839999ab074aaca69bd8583eb7543d7b7dfd..5e9a7ffc747f1f65e28acac463a17c943c6e8c88 100644 (file)
@@ -24,6 +24,7 @@ struct xe_pci_fake_data {
 };
 
 int xe_pci_fake_device_init(struct xe_device *xe);
+const void *xe_pci_fake_data_gen_params(const void *prev, char *desc);
 void xe_pci_fake_data_desc(const struct xe_pci_fake_data *param, char *desc);
 
 const void *xe_pci_graphics_ip_gen_param(const void *prev, char *desc);
index 7bf34fd0d1892d2cfa03ddda21e55a2a21ae08c4..d67bfa3ec49413fe29d94241c272189b186b4d91 100644 (file)
 #include "xe_tuning.h"
 #include "xe_wa.h"
 
-#define PLATFORM_CASE(platform__, graphics_step__)                             \
-       {                                                                       \
-               .platform = XE_ ## platform__,                                  \
-               .subplatform = XE_SUBPLATFORM_NONE,                             \
-               .step = { .graphics = STEP_ ## graphics_step__ }                \
-       }
-
-
-#define SUBPLATFORM_CASE(platform__, subplatform__, graphics_step__)                   \
-       {                                                                               \
-               .platform = XE_ ## platform__,                                          \
-               .subplatform = XE_SUBPLATFORM_ ## platform__ ## _ ## subplatform__,     \
-               .step = { .graphics = STEP_ ## graphics_step__ }                        \
-       }
-
-#define GMDID_CASE(platform__, graphics_verx100__, graphics_step__,            \
-                  media_verx100__, media_step__)                               \
-       {                                                                       \
-               .platform = XE_ ## platform__,                                  \
-               .subplatform = XE_SUBPLATFORM_NONE,                             \
-               .graphics_verx100 = graphics_verx100__,                         \
-               .media_verx100 = media_verx100__,                               \
-               .step = { .graphics = STEP_ ## graphics_step__,                 \
-                          .media = STEP_ ## media_step__ }                     \
-       }
-
-static const struct xe_pci_fake_data cases[] = {
-       PLATFORM_CASE(TIGERLAKE, B0),
-       PLATFORM_CASE(DG1, A0),
-       PLATFORM_CASE(DG1, B0),
-       PLATFORM_CASE(ALDERLAKE_S, A0),
-       PLATFORM_CASE(ALDERLAKE_S, B0),
-       PLATFORM_CASE(ALDERLAKE_S, C0),
-       PLATFORM_CASE(ALDERLAKE_S, D0),
-       PLATFORM_CASE(ALDERLAKE_P, A0),
-       PLATFORM_CASE(ALDERLAKE_P, B0),
-       PLATFORM_CASE(ALDERLAKE_P, C0),
-       SUBPLATFORM_CASE(ALDERLAKE_S, RPLS, D0),
-       SUBPLATFORM_CASE(ALDERLAKE_P, RPLU, E0),
-       SUBPLATFORM_CASE(DG2, G10, C0),
-       SUBPLATFORM_CASE(DG2, G11, B1),
-       SUBPLATFORM_CASE(DG2, G12, A1),
-       GMDID_CASE(METEORLAKE, 1270, A0, 1300, A0),
-       GMDID_CASE(METEORLAKE, 1271, A0, 1300, A0),
-       GMDID_CASE(METEORLAKE, 1274, A0, 1300, A0),
-       GMDID_CASE(LUNARLAKE, 2004, A0, 2000, A0),
-       GMDID_CASE(LUNARLAKE, 2004, B0, 2000, A0),
-       GMDID_CASE(BATTLEMAGE, 2001, A0, 1301, A1),
-       GMDID_CASE(PANTHERLAKE, 3000, A0, 3000, A0),
-};
-
-KUNIT_ARRAY_PARAM(platform, cases, xe_pci_fake_data_desc);
-
 static int xe_wa_test_init(struct kunit *test)
 {
        const struct xe_pci_fake_data *param = test->param_value;
@@ -120,7 +67,7 @@ static void xe_wa_gt(struct kunit *test)
 }
 
 static struct kunit_case xe_wa_tests[] = {
-       KUNIT_CASE_PARAM(xe_wa_gt, platform_gen_params),
+       KUNIT_CASE_PARAM(xe_wa_gt, xe_pci_fake_data_gen_params),
        {}
 };