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