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 11 struct drm_i915_private; 12 13 struct intel_step_info { 14 /* 15 * It is expected to have 4 number steps per letter. Deviation from 16 * the expectation breaks gmd_to_intel_step(). 17 */ 18 u8 graphics_step; /* Represents the compute tile on Xe_HPC */ 19 u8 media_step; 20 }; 21 22 #define STEP_ENUM_VAL(name) STEP_##name, 23 24 #define STEP_NAME_LIST(func) \ 25 func(A0) \ 26 func(A1) \ 27 func(A2) \ 28 func(A3) \ 29 func(B0) \ 30 func(B1) \ 31 func(B2) \ 32 func(B3) \ 33 func(C0) \ 34 func(C1) \ 35 func(C2) \ 36 func(C3) \ 37 func(D0) \ 38 func(D1) \ 39 func(D2) \ 40 func(D3) \ 41 func(E0) \ 42 func(E1) \ 43 func(E2) \ 44 func(E3) \ 45 func(F0) \ 46 func(F1) \ 47 func(F2) \ 48 func(F3) \ 49 func(G0) \ 50 func(G1) \ 51 func(G2) \ 52 func(G3) \ 53 func(H0) \ 54 func(H1) \ 55 func(H2) \ 56 func(H3) \ 57 func(I0) \ 58 func(I1) \ 59 func(I2) \ 60 func(I3) \ 61 func(J0) \ 62 func(J1) \ 63 func(J2) \ 64 func(J3) 65 66 /* 67 * Symbolic steppings that do not match the hardware. These are valid both as gt 68 * and display steppings as symbolic names. 69 */ 70 enum intel_step { 71 STEP_NONE = 0, 72 STEP_NAME_LIST(STEP_ENUM_VAL) 73 STEP_FUTURE, 74 STEP_FOREVER, 75 }; 76 77 void intel_step_init(struct drm_i915_private *i915); 78 const char *intel_step_name(enum intel_step step); 79 80 #endif /* __INTEL_STEP_H__ */ 81