Add new runtime info field for stepping. Add new helpers for accessing them. As we'll be switching platforms over to the new scheme incrementally, check for non-initialized steppings. In case a platform does not have separate display and gt steppings, it's okay to use a common shorthand. However, in this case the display stepping must not be initialized, and gt stepping is the single point of truth. v3: Remove IS_STEP() (José) v2: Rename stepping->step Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/bb4275733fa390ea3dbf6f62794d55b616665230.1616764798.git.jani.nikula@intel.com
40 lines
915 B
C
40 lines
915 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2020,2021 Intel Corporation
|
|
*/
|
|
|
|
#ifndef __INTEL_STEP_H__
|
|
#define __INTEL_STEP_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct i915_rev_steppings {
|
|
u8 gt_stepping;
|
|
u8 disp_stepping;
|
|
};
|
|
|
|
#define TGL_UY_REVID_STEP_TBL_SIZE 4
|
|
#define TGL_REVID_STEP_TBL_SIZE 2
|
|
#define ADLS_REVID_STEP_TBL_SIZE 13
|
|
|
|
extern const struct i915_rev_steppings kbl_revids[];
|
|
extern const struct i915_rev_steppings tgl_uy_revid_step_tbl[TGL_UY_REVID_STEP_TBL_SIZE];
|
|
extern const struct i915_rev_steppings tgl_revid_step_tbl[TGL_REVID_STEP_TBL_SIZE];
|
|
extern const struct i915_rev_steppings adls_revid_step_tbl[ADLS_REVID_STEP_TBL_SIZE];
|
|
|
|
/*
|
|
* 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_A0,
|
|
STEP_A2,
|
|
STEP_B0,
|
|
STEP_B1,
|
|
STEP_C0,
|
|
STEP_D0,
|
|
};
|
|
|
|
#endif /* __INTEL_STEP_H__ */
|