xref: /linux/drivers/gpu/drm/i915/intel_step.h (revision 8b449f1c44d1f921240da6a3e7fc4030966abbff)
17eb186bbSJani Nikula /* SPDX-License-Identifier: MIT */
27eb186bbSJani Nikula /*
37eb186bbSJani Nikula  * Copyright © 2020,2021 Intel Corporation
47eb186bbSJani Nikula  */
57eb186bbSJani Nikula 
67eb186bbSJani Nikula #ifndef __INTEL_STEP_H__
77eb186bbSJani Nikula #define __INTEL_STEP_H__
87eb186bbSJani Nikula 
97eb186bbSJani Nikula #include <linux/types.h>
107eb186bbSJani Nikula 
11ef47b7abSJani Nikula struct drm_i915_private;
12ef47b7abSJani Nikula 
135644dc0aSJani Nikula struct intel_step_info {
14*8b449f1cSMatt Roper 	u8 graphics_step;	/* Represents the compute tile on Xe_HPC */
1526475ca9SJani Nikula 	u8 display_step;
16e181fa1dSJosé Roberto de Souza 	u8 media_step;
17*8b449f1cSMatt Roper 	u8 basedie_step;
187eb186bbSJani Nikula };
197eb186bbSJani Nikula 
20e631a440SAnusha Srivatsa #define STEP_ENUM_VAL(name)  STEP_##name,
21e631a440SAnusha Srivatsa 
22e631a440SAnusha Srivatsa #define STEP_NAME_LIST(func)		\
23e631a440SAnusha Srivatsa 	func(A0)			\
24e631a440SAnusha Srivatsa 	func(A1)			\
25e631a440SAnusha Srivatsa 	func(A2)			\
26e631a440SAnusha Srivatsa 	func(B0)			\
27e631a440SAnusha Srivatsa 	func(B1)			\
28e631a440SAnusha Srivatsa 	func(B2)			\
29*8b449f1cSMatt Roper 	func(B3)			\
30e631a440SAnusha Srivatsa 	func(C0)			\
31e631a440SAnusha Srivatsa 	func(C1)			\
32e631a440SAnusha Srivatsa 	func(D0)			\
33e631a440SAnusha Srivatsa 	func(D1)			\
34e631a440SAnusha Srivatsa 	func(E0)			\
35e631a440SAnusha Srivatsa 	func(F0)			\
36e631a440SAnusha Srivatsa 	func(G0)			\
37e631a440SAnusha Srivatsa 	func(H0)			\
38e631a440SAnusha Srivatsa 	func(I0)			\
39e631a440SAnusha Srivatsa 	func(I1)			\
40e631a440SAnusha Srivatsa 	func(J0)
41e631a440SAnusha Srivatsa 
42439c8dccSJani Nikula /*
43439c8dccSJani Nikula  * Symbolic steppings that do not match the hardware. These are valid both as gt
44439c8dccSJani Nikula  * and display steppings as symbolic names.
45439c8dccSJani Nikula  */
46439c8dccSJani Nikula enum intel_step {
47439c8dccSJani Nikula 	STEP_NONE = 0,
48e631a440SAnusha Srivatsa 	STEP_NAME_LIST(STEP_ENUM_VAL)
49ef47b7abSJani Nikula 	STEP_FUTURE,
50ef47b7abSJani Nikula 	STEP_FOREVER,
51439c8dccSJani Nikula };
52439c8dccSJani Nikula 
53ef47b7abSJani Nikula void intel_step_init(struct drm_i915_private *i915);
54e631a440SAnusha Srivatsa const char *intel_step_name(enum intel_step step);
55ef47b7abSJani Nikula 
567eb186bbSJani Nikula #endif /* __INTEL_STEP_H__ */
57