mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 10:02:20 -04:00
drm/i915/adl_p: Add IPs stepping mapping
This will allow us to better implement workarounds. Cc: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20210514153711.2359617-17-matthew.d.roper@intel.com
This commit is contained in:
committed by
Matt Roper
parent
d961eb20ad
commit
b2c6eaf27b
@@ -1543,6 +1543,14 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
|
||||
(IS_ALDERLAKE_S(__i915) && \
|
||||
IS_GT_STEP(__i915, since, until))
|
||||
|
||||
#define IS_ADLP_DISPLAY_STEP(__i915, since, until) \
|
||||
(IS_ALDERLAKE_P(__i915) && \
|
||||
IS_DISPLAY_STEP(__i915, since, until))
|
||||
|
||||
#define IS_ADLP_GT_STEP(__i915, since, until) \
|
||||
(IS_ALDERLAKE_P(__i915) && \
|
||||
IS_GT_STEP(__i915, since, until))
|
||||
|
||||
#define IS_LP(dev_priv) (INTEL_INFO(dev_priv)->is_lp)
|
||||
#define IS_GEN9_LP(dev_priv) (IS_GEN(dev_priv, 9) && IS_LP(dev_priv))
|
||||
#define IS_GEN9_BC(dev_priv) (IS_GEN(dev_priv, 9) && !IS_LP(dev_priv))
|
||||
|
||||
@@ -47,6 +47,13 @@ static const struct intel_step_info adls_revid_step_tbl[] = {
|
||||
[0xC] = { .gt_step = STEP_D0, .display_step = STEP_C0 },
|
||||
};
|
||||
|
||||
static const struct intel_step_info adlp_revid_step_tbl[] = {
|
||||
[0x0] = { .gt_step = STEP_A0, .display_step = STEP_A0 },
|
||||
[0x4] = { .gt_step = STEP_B0, .display_step = STEP_B0 },
|
||||
[0x8] = { .gt_step = STEP_C0, .display_step = STEP_C0 },
|
||||
[0xC] = { .gt_step = STEP_C0, .display_step = STEP_D0 },
|
||||
};
|
||||
|
||||
void intel_step_init(struct drm_i915_private *i915)
|
||||
{
|
||||
const struct intel_step_info *revids = NULL;
|
||||
@@ -54,7 +61,10 @@ void intel_step_init(struct drm_i915_private *i915)
|
||||
int revid = INTEL_REVID(i915);
|
||||
struct intel_step_info step = {};
|
||||
|
||||
if (IS_ALDERLAKE_S(i915)) {
|
||||
if (IS_ALDERLAKE_P(i915)) {
|
||||
revids = adlp_revid_step_tbl;
|
||||
size = ARRAY_SIZE(adlp_revid_step_tbl);
|
||||
} else if (IS_ALDERLAKE_S(i915)) {
|
||||
revids = adls_revid_step_tbl;
|
||||
size = ARRAY_SIZE(adls_revid_step_tbl);
|
||||
} else if (IS_TGL_U(i915) || IS_TGL_Y(i915)) {
|
||||
|
||||
Reference in New Issue
Block a user