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