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 u8 gt_step; 15 u8 display_step; 16 }; 17 18 #define STEP_ENUM_VAL(name) STEP_##name, 19 20 #define STEP_NAME_LIST(func) \ 21 func(A0) \ 22 func(A1) \ 23 func(A2) \ 24 func(B0) \ 25 func(B1) \ 26 func(B2) \ 27 func(C0) \ 28 func(C1) \ 29 func(D0) \ 30 func(D1) \ 31 func(E0) \ 32 func(F0) \ 33 func(G0) \ 34 func(H0) \ 35 func(I0) \ 36 func(I1) \ 37 func(J0) 38 39 /* 40 * Symbolic steppings that do not match the hardware. These are valid both as gt 41 * and display steppings as symbolic names. 42 */ 43 enum intel_step { 44 STEP_NONE = 0, 45 STEP_NAME_LIST(STEP_ENUM_VAL) 46 STEP_FUTURE, 47 STEP_FOREVER, 48 }; 49 50 void intel_step_init(struct drm_i915_private *i915); 51 const char *intel_step_name(enum intel_step step); 52 53 #endif /* __INTEL_STEP_H__ */ 54