Commit | Line | Data |
---|---|---|
7eb186bb JN |
1 | /* SPDX-License-Identifier: MIT */ |
2 | /* | |
3 | * Copyright © 2020,2021 Intel Corporation | |
4 | */ | |
5 | ||
6 | #ifndef __INTEL_STEP_H__ | |
7 | #define __INTEL_STEP_H__ | |
8 | ||
9 | #include <linux/types.h> | |
10 | ||
ef47b7ab JN |
11 | struct drm_i915_private; |
12 | ||
5644dc0a | 13 | struct intel_step_info { |
944ca7d8 JRS |
14 | /* |
15 | * It is expected to have 4 number steps per letter. Deviation from | |
16 | * the expectation breaks gmd_to_intel_step(). | |
17 | */ | |
8b449f1c | 18 | u8 graphics_step; /* Represents the compute tile on Xe_HPC */ |
26475ca9 | 19 | u8 display_step; |
e181fa1d | 20 | u8 media_step; |
8b449f1c | 21 | u8 basedie_step; |
7eb186bb JN |
22 | }; |
23 | ||
e631a440 AS |
24 | #define STEP_ENUM_VAL(name) STEP_##name, |
25 | ||
26 | #define STEP_NAME_LIST(func) \ | |
27 | func(A0) \ | |
28 | func(A1) \ | |
29 | func(A2) \ | |
944ca7d8 | 30 | func(A3) \ |
e631a440 AS |
31 | func(B0) \ |
32 | func(B1) \ | |
33 | func(B2) \ | |
8b449f1c | 34 | func(B3) \ |
e631a440 AS |
35 | func(C0) \ |
36 | func(C1) \ | |
944ca7d8 JRS |
37 | func(C2) \ |
38 | func(C3) \ | |
e631a440 AS |
39 | func(D0) \ |
40 | func(D1) \ | |
944ca7d8 JRS |
41 | func(D2) \ |
42 | func(D3) \ | |
e631a440 | 43 | func(E0) \ |
944ca7d8 JRS |
44 | func(E1) \ |
45 | func(E2) \ | |
46 | func(E3) \ | |
e631a440 | 47 | func(F0) \ |
944ca7d8 JRS |
48 | func(F1) \ |
49 | func(F2) \ | |
50 | func(F3) \ | |
e631a440 | 51 | func(G0) \ |
944ca7d8 JRS |
52 | func(G1) \ |
53 | func(G2) \ | |
54 | func(G3) \ | |
e631a440 | 55 | func(H0) \ |
944ca7d8 JRS |
56 | func(H1) \ |
57 | func(H2) \ | |
58 | func(H3) \ | |
e631a440 AS |
59 | func(I0) \ |
60 | func(I1) \ | |
944ca7d8 JRS |
61 | func(I2) \ |
62 | func(I3) \ | |
63 | func(J0) \ | |
64 | func(J1) \ | |
65 | func(J2) \ | |
66 | func(J3) | |
e631a440 | 67 | |
439c8dcc JN |
68 | /* |
69 | * Symbolic steppings that do not match the hardware. These are valid both as gt | |
70 | * and display steppings as symbolic names. | |
71 | */ | |
72 | enum intel_step { | |
73 | STEP_NONE = 0, | |
e631a440 | 74 | STEP_NAME_LIST(STEP_ENUM_VAL) |
ef47b7ab JN |
75 | STEP_FUTURE, |
76 | STEP_FOREVER, | |
439c8dcc JN |
77 | }; |
78 | ||
ef47b7ab | 79 | void intel_step_init(struct drm_i915_private *i915); |
e631a440 | 80 | const char *intel_step_name(enum intel_step step); |
ef47b7ab | 81 | |
7eb186bb | 82 | #endif /* __INTEL_STEP_H__ */ |