Skip to content

Commit a9c8517

Browse files
committed
drm/xe/kunit: Promote fake platform parameter list
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
1 parent ddbe5ae commit a9c8517

File tree

3 files changed

+71
-54
lines changed

3 files changed

+71
-54
lines changed

drivers/gpu/drm/xe/tests/xe_pci.c

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,75 @@
1212
#include <kunit/test-bug.h>
1313
#include <kunit/visibility.h>
1414

15+
#define PLATFORM_CASE(platform__, graphics_step__) \
16+
{ \
17+
.platform = XE_ ## platform__, \
18+
.subplatform = XE_SUBPLATFORM_NONE, \
19+
.step = { .graphics = STEP_ ## graphics_step__ } \
20+
}
21+
22+
#define SUBPLATFORM_CASE(platform__, subplatform__, graphics_step__) \
23+
{ \
24+
.platform = XE_ ## platform__, \
25+
.subplatform = XE_SUBPLATFORM_ ## platform__ ## _ ## subplatform__, \
26+
.step = { .graphics = STEP_ ## graphics_step__ } \
27+
}
28+
29+
#define GMDID_CASE(platform__, graphics_verx100__, graphics_step__, \
30+
media_verx100__, media_step__) \
31+
{ \
32+
.platform = XE_ ## platform__, \
33+
.subplatform = XE_SUBPLATFORM_NONE, \
34+
.graphics_verx100 = graphics_verx100__, \
35+
.media_verx100 = media_verx100__, \
36+
.step = { .graphics = STEP_ ## graphics_step__, \
37+
.media = STEP_ ## media_step__ } \
38+
}
39+
40+
static const struct xe_pci_fake_data cases[] = {
41+
PLATFORM_CASE(TIGERLAKE, B0),
42+
PLATFORM_CASE(DG1, A0),
43+
PLATFORM_CASE(DG1, B0),
44+
PLATFORM_CASE(ALDERLAKE_S, A0),
45+
PLATFORM_CASE(ALDERLAKE_S, B0),
46+
PLATFORM_CASE(ALDERLAKE_S, C0),
47+
PLATFORM_CASE(ALDERLAKE_S, D0),
48+
PLATFORM_CASE(ALDERLAKE_P, A0),
49+
PLATFORM_CASE(ALDERLAKE_P, B0),
50+
PLATFORM_CASE(ALDERLAKE_P, C0),
51+
SUBPLATFORM_CASE(ALDERLAKE_S, RPLS, D0),
52+
SUBPLATFORM_CASE(ALDERLAKE_P, RPLU, E0),
53+
SUBPLATFORM_CASE(DG2, G10, C0),
54+
SUBPLATFORM_CASE(DG2, G11, B1),
55+
SUBPLATFORM_CASE(DG2, G12, A1),
56+
GMDID_CASE(METEORLAKE, 1270, A0, 1300, A0),
57+
GMDID_CASE(METEORLAKE, 1271, A0, 1300, A0),
58+
GMDID_CASE(METEORLAKE, 1274, A0, 1300, A0),
59+
GMDID_CASE(LUNARLAKE, 2004, A0, 2000, A0),
60+
GMDID_CASE(LUNARLAKE, 2004, B0, 2000, A0),
61+
GMDID_CASE(BATTLEMAGE, 2001, A0, 1301, A1),
62+
GMDID_CASE(PANTHERLAKE, 3000, A0, 3000, A0),
63+
};
64+
65+
KUNIT_ARRAY_PARAM(platform, cases, xe_pci_fake_data_desc);
66+
67+
/**
68+
* xe_pci_fake_data_gen_params - Generate struct xe_pci_fake_data parameters
69+
* @prev: the pointer to the previous parameter to iterate from or NULL
70+
* @desc: output buffer with minimum size of KUNIT_PARAM_DESC_SIZE
71+
*
72+
* This function prepares struct xe_pci_fake_data parameter.
73+
*
74+
* To be used only as a parameter generator function in &KUNIT_CASE_PARAM.
75+
*
76+
* Return: pointer to the next parameter or NULL if no more parameters
77+
*/
78+
const void *xe_pci_fake_data_gen_params(const void *prev, char *desc)
79+
{
80+
return platform_gen_params(prev, desc);
81+
}
82+
EXPORT_SYMBOL_IF_KUNIT(xe_pci_fake_data_gen_params);
83+
1584
static const struct xe_device_desc *lookup_desc(enum xe_platform p)
1685
{
1786
const struct xe_device_desc *desc;

drivers/gpu/drm/xe/tests/xe_pci_test.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ struct xe_pci_fake_data {
2424
};
2525

2626
int xe_pci_fake_device_init(struct xe_device *xe);
27+
const void *xe_pci_fake_data_gen_params(const void *prev, char *desc);
2728
void xe_pci_fake_data_desc(const struct xe_pci_fake_data *param, char *desc);
2829

2930
const void *xe_pci_graphics_ip_gen_param(const void *prev, char *desc);

drivers/gpu/drm/xe/tests/xe_wa_test.c

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -15,59 +15,6 @@
1515
#include "xe_tuning.h"
1616
#include "xe_wa.h"
1717

18-
#define PLATFORM_CASE(platform__, graphics_step__) \
19-
{ \
20-
.platform = XE_ ## platform__, \
21-
.subplatform = XE_SUBPLATFORM_NONE, \
22-
.step = { .graphics = STEP_ ## graphics_step__ } \
23-
}
24-
25-
26-
#define SUBPLATFORM_CASE(platform__, subplatform__, graphics_step__) \
27-
{ \
28-
.platform = XE_ ## platform__, \
29-
.subplatform = XE_SUBPLATFORM_ ## platform__ ## _ ## subplatform__, \
30-
.step = { .graphics = STEP_ ## graphics_step__ } \
31-
}
32-
33-
#define GMDID_CASE(platform__, graphics_verx100__, graphics_step__, \
34-
media_verx100__, media_step__) \
35-
{ \
36-
.platform = XE_ ## platform__, \
37-
.subplatform = XE_SUBPLATFORM_NONE, \
38-
.graphics_verx100 = graphics_verx100__, \
39-
.media_verx100 = media_verx100__, \
40-
.step = { .graphics = STEP_ ## graphics_step__, \
41-
.media = STEP_ ## media_step__ } \
42-
}
43-
44-
static const struct xe_pci_fake_data cases[] = {
45-
PLATFORM_CASE(TIGERLAKE, B0),
46-
PLATFORM_CASE(DG1, A0),
47-
PLATFORM_CASE(DG1, B0),
48-
PLATFORM_CASE(ALDERLAKE_S, A0),
49-
PLATFORM_CASE(ALDERLAKE_S, B0),
50-
PLATFORM_CASE(ALDERLAKE_S, C0),
51-
PLATFORM_CASE(ALDERLAKE_S, D0),
52-
PLATFORM_CASE(ALDERLAKE_P, A0),
53-
PLATFORM_CASE(ALDERLAKE_P, B0),
54-
PLATFORM_CASE(ALDERLAKE_P, C0),
55-
SUBPLATFORM_CASE(ALDERLAKE_S, RPLS, D0),
56-
SUBPLATFORM_CASE(ALDERLAKE_P, RPLU, E0),
57-
SUBPLATFORM_CASE(DG2, G10, C0),
58-
SUBPLATFORM_CASE(DG2, G11, B1),
59-
SUBPLATFORM_CASE(DG2, G12, A1),
60-
GMDID_CASE(METEORLAKE, 1270, A0, 1300, A0),
61-
GMDID_CASE(METEORLAKE, 1271, A0, 1300, A0),
62-
GMDID_CASE(METEORLAKE, 1274, A0, 1300, A0),
63-
GMDID_CASE(LUNARLAKE, 2004, A0, 2000, A0),
64-
GMDID_CASE(LUNARLAKE, 2004, B0, 2000, A0),
65-
GMDID_CASE(BATTLEMAGE, 2001, A0, 1301, A1),
66-
GMDID_CASE(PANTHERLAKE, 3000, A0, 3000, A0),
67-
};
68-
69-
KUNIT_ARRAY_PARAM(platform, cases, xe_pci_fake_data_desc);
70-
7118
static int xe_wa_test_init(struct kunit *test)
7219
{
7320
const struct xe_pci_fake_data *param = test->param_value;
@@ -120,7 +67,7 @@ static void xe_wa_gt(struct kunit *test)
12067
}
12168

12269
static struct kunit_case xe_wa_tests[] = {
123-
KUNIT_CASE_PARAM(xe_wa_gt, platform_gen_params),
70+
KUNIT_CASE_PARAM(xe_wa_gt, xe_pci_fake_data_gen_params),
12471
{}
12572
};
12673

0 commit comments

Comments
 (0)