mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
![José Roberto de Souza](/assets/img/avatar_default.png)
Expand the current stepping convention to accommodate the GMD stepping info. Typically GMD step maps to letter stepping by "A + step %4" and number to "A + step /4" i.e, GMD step 0 maps to STEP_A0, 1 to _A1, 2 to _A2, 3 to _A3, 4 to STEP_B0... Future platforms might break this formulae and may require a table mapping to decode GMD step compatible with the convention. v2: - Pass the updated ip version structure v3: - Skip using GMD to step table(MattR) Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com> Cc: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220916014648.1310346-3-radhakrishna.sripada@intel.com
82 lines
1.4 KiB
C
82 lines
1.4 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2020,2021 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_STEP_H__
|
|
#define __INTEL_STEP_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct drm_i915_private;
|
|
|
|
struct intel_step_info {
|
|
/*
|
|
* It is expected to have 4 number steps per letter. Deviation from
|
|
* the expectation breaks gmd_to_intel_step().
|
|
*/
|
|
u8 graphics_step; /* Represents the compute tile on Xe_HPC */
|
|
u8 display_step;
|
|
u8 media_step;
|
|
u8 basedie_step;
|
|
};
|
|
|
|
#define STEP_ENUM_VAL(name) STEP_##name,
|
|
|
|
#define STEP_NAME_LIST(func) \
|
|
func(A0) \
|
|
func(A1) \
|
|
func(A2) \
|
|
func(A3) \
|
|
func(B0) \
|
|
func(B1) \
|
|
func(B2) \
|
|
func(B3) \
|
|
func(C0) \
|
|
func(C1) \
|
|
func(C2) \
|
|
func(C3) \
|
|
func(D0) \
|
|
func(D1) \
|
|
func(D2) \
|
|
func(D3) \
|
|
func(E0) \
|
|
func(E1) \
|
|
func(E2) \
|
|
func(E3) \
|
|
func(F0) \
|
|
func(F1) \
|
|
func(F2) \
|
|
func(F3) \
|
|
func(G0) \
|
|
func(G1) \
|
|
func(G2) \
|
|
func(G3) \
|
|
func(H0) \
|
|
func(H1) \
|
|
func(H2) \
|
|
func(H3) \
|
|
func(I0) \
|
|
func(I1) \
|
|
func(I2) \
|
|
func(I3) \
|
|
func(J0) \
|
|
func(J1) \
|
|
func(J2) \
|
|
func(J3)
|
|
|
|
/*
|
|
* Symbolic steppings that do not match the hardware. These are valid both as gt
|
|
* and display steppings as symbolic names.
|
|
*/
|
|
enum intel_step {
|
|
STEP_NONE = 0,
|
|
STEP_NAME_LIST(STEP_ENUM_VAL)
|
|
STEP_FUTURE,
|
|
STEP_FOREVER,
|
|
};
|
|
|
|
void intel_step_init(struct drm_i915_private *i915);
|
|
const char *intel_step_name(enum intel_step step);
|
|
|
|
#endif /* __INTEL_STEP_H__ */
|