xref: /linux/drivers/gpu/drm/xe/xe_step_types.h (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2022 Intel Corporation
4  */
5 
6 #ifndef _XE_STEP_TYPES_H_
7 #define _XE_STEP_TYPES_H_
8 
9 #include <linux/types.h>
10 
11 struct xe_step_info {
12 	u8 graphics;
13 	u8 media;
14 	u8 basedie;
15 };
16 
17 #define STEP_ENUM_VAL(name)  STEP_##name,
18 
19 /*
20  * Always define four minor steppings 0-3 for each stepping to match GMD ID
21  * spacing of values. See xe_step_gmdid_get().
22  */
23 #define STEP_NAME_LIST(func)		\
24 	func(A0)			\
25 	func(A1)			\
26 	func(A2)			\
27 	func(A3)			\
28 	func(B0)			\
29 	func(B1)			\
30 	func(B2)			\
31 	func(B3)			\
32 	func(C0)			\
33 	func(C1)			\
34 	func(C2)			\
35 	func(C3)			\
36 	func(D0)			\
37 	func(D1)			\
38 	func(D2)			\
39 	func(D3)			\
40 	func(E0)			\
41 	func(E1)			\
42 	func(E2)			\
43 	func(E3)			\
44 	func(F0)			\
45 	func(F1)			\
46 	func(F2)			\
47 	func(F3)			\
48 	func(G0)			\
49 	func(G1)			\
50 	func(G2)			\
51 	func(G3)			\
52 	func(H0)			\
53 	func(H1)			\
54 	func(H2)			\
55 	func(H3)			\
56 	func(I0)			\
57 	func(I1)			\
58 	func(I2)			\
59 	func(I3)			\
60 	func(J0)			\
61 	func(J1)			\
62 	func(J2)			\
63 	func(J3)
64 
65 /*
66  * Symbolic steppings that do not match the hardware. These are valid both as gt
67  * and display steppings as symbolic names.
68  */
69 enum xe_step {
70 	STEP_NONE = 0,
71 	STEP_NAME_LIST(STEP_ENUM_VAL)
72 	STEP_FUTURE,
73 	STEP_FOREVER,
74 };
75 
76 #endif
77