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

source code of linux/drivers/gpu/drm/i915/intel_step.h