Skip to content

Commit b2c6eaf

Browse files
zehortigozamattrope
authored andcommitted
drm/i915/adl_p: Add IPs stepping mapping
This will allow us to better implement workarounds. Cc: Matt Roper <[email protected]> Signed-off-by: José Roberto de Souza <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Signed-off-by: Matt Roper <[email protected]> Reviewed-by: Anusha Srivatsa <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent d961eb2 commit b2c6eaf

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

drivers/gpu/drm/i915/i915_drv.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,6 +1543,14 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
15431543
(IS_ALDERLAKE_S(__i915) && \
15441544
IS_GT_STEP(__i915, since, until))
15451545

1546+
#define IS_ADLP_DISPLAY_STEP(__i915, since, until) \
1547+
(IS_ALDERLAKE_P(__i915) && \
1548+
IS_DISPLAY_STEP(__i915, since, until))
1549+
1550+
#define IS_ADLP_GT_STEP(__i915, since, until) \
1551+
(IS_ALDERLAKE_P(__i915) && \
1552+
IS_GT_STEP(__i915, since, until))
1553+
15461554
#define IS_LP(dev_priv) (INTEL_INFO(dev_priv)->is_lp)
15471555
#define IS_GEN9_LP(dev_priv) (IS_GEN(dev_priv, 9) && IS_LP(dev_priv))
15481556
#define IS_GEN9_BC(dev_priv) (IS_GEN(dev_priv, 9) && !IS_LP(dev_priv))

drivers/gpu/drm/i915/intel_step.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,24 @@ static const struct intel_step_info adls_revid_step_tbl[] = {
4747
[0xC] = { .gt_step = STEP_D0, .display_step = STEP_C0 },
4848
};
4949

50+
static const struct intel_step_info adlp_revid_step_tbl[] = {
51+
[0x0] = { .gt_step = STEP_A0, .display_step = STEP_A0 },
52+
[0x4] = { .gt_step = STEP_B0, .display_step = STEP_B0 },
53+
[0x8] = { .gt_step = STEP_C0, .display_step = STEP_C0 },
54+
[0xC] = { .gt_step = STEP_C0, .display_step = STEP_D0 },
55+
};
56+
5057
void intel_step_init(struct drm_i915_private *i915)
5158
{
5259
const struct intel_step_info *revids = NULL;
5360
int size = 0;
5461
int revid = INTEL_REVID(i915);
5562
struct intel_step_info step = {};
5663

57-
if (IS_ALDERLAKE_S(i915)) {
64+
if (IS_ALDERLAKE_P(i915)) {
65+
revids = adlp_revid_step_tbl;
66+
size = ARRAY_SIZE(adlp_revid_step_tbl);
67+
} else if (IS_ALDERLAKE_S(i915)) {
5868
revids = adls_revid_step_tbl;
5969
size = ARRAY_SIZE(adls_revid_step_tbl);
6070
} else if (IS_TGL_U(i915) || IS_TGL_Y(i915)) {

0 commit comments

Comments
 (0)