| 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 | |