b29e15f71214b10e551cfb1be176a717ff0d0199
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / intel_step.h
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 i915_rev_steppings {
14         u8 gt_stepping;
15         u8 disp_stepping;
16 };
17
18 #define TGL_UY_REVID_STEP_TBL_SIZE      4
19 #define TGL_REVID_STEP_TBL_SIZE         2
20 #define ADLS_REVID_STEP_TBL_SIZE        13
21
22 extern const struct i915_rev_steppings tgl_uy_revid_step_tbl[TGL_UY_REVID_STEP_TBL_SIZE];
23 extern const struct i915_rev_steppings tgl_revid_step_tbl[TGL_REVID_STEP_TBL_SIZE];
24 extern const struct i915_rev_steppings adls_revid_step_tbl[ADLS_REVID_STEP_TBL_SIZE];
25
26 /*
27  * Symbolic steppings that do not match the hardware. These are valid both as gt
28  * and display steppings as symbolic names.
29  */
30 enum intel_step {
31         STEP_NONE = 0,
32         STEP_A0,
33         STEP_A2,
34         STEP_B0,
35         STEP_B1,
36         STEP_C0,
37         STEP_D0,
38         STEP_D1,
39         STEP_E0,
40         STEP_F0,
41         STEP_G0,
42         STEP_FUTURE,
43         STEP_FOREVER,
44 };
45
46 void intel_step_init(struct drm_i915_private *i915);
47
48 #endif /* __INTEL_STEP_H__ */