Merge tag 'drm-intel-gt-next-2023-09-28' of git://anongit.freedesktop.org/drm/drm...
[linux-block.git] / drivers / gpu / drm / i915 / intel_step.h
CommitLineData
7eb186bb
JN
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
ef47b7ab
JN
11struct drm_i915_private;
12
5644dc0a 13struct intel_step_info {
944ca7d8
JRS
14 /*
15 * It is expected to have 4 number steps per letter. Deviation from
16 * the expectation breaks gmd_to_intel_step().
17 */
8b449f1c 18 u8 graphics_step; /* Represents the compute tile on Xe_HPC */
26475ca9 19 u8 display_step;
e181fa1d 20 u8 media_step;
8b449f1c 21 u8 basedie_step;
7eb186bb
JN
22};
23
e631a440
AS
24#define STEP_ENUM_VAL(name) STEP_##name,
25
26#define STEP_NAME_LIST(func) \
27 func(A0) \
28 func(A1) \
29 func(A2) \
944ca7d8 30 func(A3) \
e631a440
AS
31 func(B0) \
32 func(B1) \
33 func(B2) \
8b449f1c 34 func(B3) \
e631a440
AS
35 func(C0) \
36 func(C1) \
944ca7d8
JRS
37 func(C2) \
38 func(C3) \
e631a440
AS
39 func(D0) \
40 func(D1) \
944ca7d8
JRS
41 func(D2) \
42 func(D3) \
e631a440 43 func(E0) \
944ca7d8
JRS
44 func(E1) \
45 func(E2) \
46 func(E3) \
e631a440 47 func(F0) \
944ca7d8
JRS
48 func(F1) \
49 func(F2) \
50 func(F3) \
e631a440 51 func(G0) \
944ca7d8
JRS
52 func(G1) \
53 func(G2) \
54 func(G3) \
e631a440 55 func(H0) \
944ca7d8
JRS
56 func(H1) \
57 func(H2) \
58 func(H3) \
e631a440
AS
59 func(I0) \
60 func(I1) \
944ca7d8
JRS
61 func(I2) \
62 func(I3) \
63 func(J0) \
64 func(J1) \
65 func(J2) \
66 func(J3)
e631a440 67
439c8dcc
JN
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,
e631a440 74 STEP_NAME_LIST(STEP_ENUM_VAL)
ef47b7ab
JN
75 STEP_FUTURE,
76 STEP_FOREVER,
439c8dcc
JN
77};
78
ef47b7ab 79void intel_step_init(struct drm_i915_private *i915);
e631a440 80const char *intel_step_name(enum intel_step step);
ef47b7ab 81
7eb186bb 82#endif /* __INTEL_STEP_H__ */