blob: f6641e2a3c77694f48345ad4e8a369d87c1bbf6e [file] [log] [blame]
Jani Nikula7eb186b2021-03-26 15:21:32 +02001/* 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
Jani Nikulaef47b7a2021-03-26 15:21:34 +020011struct drm_i915_private;
12
Jani Nikula5644dc02021-03-26 15:21:38 +020013struct intel_step_info {
Jani Nikula26475ca2021-03-26 15:21:37 +020014 u8 gt_step;
15 u8 display_step;
Jani Nikula7eb186b2021-03-26 15:21:32 +020016};
17
Anusha Srivatsae631a442021-07-21 14:52:35 -070018#define STEP_ENUM_VAL(name) STEP_##name,
19
20#define STEP_NAME_LIST(func) \
21 func(A0) \
22 func(A1) \
23 func(A2) \
24 func(B0) \
25 func(B1) \
26 func(B2) \
27 func(C0) \
28 func(C1) \
29 func(D0) \
30 func(D1) \
31 func(E0) \
32 func(F0) \
33 func(G0) \
34 func(H0) \
35 func(I0) \
36 func(I1) \
37 func(J0)
38
Jani Nikula439c8dc2021-03-26 15:21:33 +020039/*
40 * Symbolic steppings that do not match the hardware. These are valid both as gt
41 * and display steppings as symbolic names.
42 */
43enum intel_step {
44 STEP_NONE = 0,
Anusha Srivatsae631a442021-07-21 14:52:35 -070045 STEP_NAME_LIST(STEP_ENUM_VAL)
Jani Nikulaef47b7a2021-03-26 15:21:34 +020046 STEP_FUTURE,
47 STEP_FOREVER,
Jani Nikula439c8dc2021-03-26 15:21:33 +020048};
49
Jani Nikulaef47b7a2021-03-26 15:21:34 +020050void intel_step_init(struct drm_i915_private *i915);
Anusha Srivatsae631a442021-07-21 14:52:35 -070051const char *intel_step_name(enum intel_step step);
Jani Nikulaef47b7a2021-03-26 15:21:34 +020052
Jani Nikula7eb186b2021-03-26 15:21:32 +020053#endif /* __INTEL_STEP_H__ */