Commit 61b2dc4b authored by Matt Roper's avatar Matt Roper
Browse files

drm/i915/jsl_ehl: Use revid->stepping tables



Switch JSL/EHL to use a revid->stepping table as we're trying to do on
all platforms going forward.

v2:
 - Use COMMON_STEP().  (Anusha)

Bspec: 29153
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
Reviewed-by: default avatarAnusha Srivatsa <anusha.srivatsa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210713193635.3390052-9-matthew.d.roper@intel.com
parent cc7a3393
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2674,7 +2674,7 @@ static bool
ehl_combo_pll_div_frac_wa_needed(struct drm_i915_private *i915)
{
	return ((IS_PLATFORM(i915, INTEL_ELKHARTLAKE) &&
		 IS_JSL_EHL_REVID(i915, EHL_REVID_B0, REVID_FOREVER)) ||
		 IS_JSL_EHL_DISPLAY_STEP(i915, STEP_B0, STEP_FOREVER)) ||
		 IS_TIGERLAKE(i915)) &&
		 i915->dpll.ref_clks.nssc == 38400;
}
+1 −1
Original line number Diff line number Diff line
@@ -1078,7 +1078,7 @@ icl_gt_workarounds_init(struct drm_i915_private *i915, struct i915_wa_list *wal)

	/* Wa_1607087056:icl,ehl,jsl */
	if (IS_ICELAKE(i915) ||
	    IS_JSL_EHL_REVID(i915, EHL_REVID_A0, EHL_REVID_A0))
	    IS_JSL_EHL_GT_STEP(i915, STEP_A0, STEP_A0))
		wa_write_or(wal,
			    SLICE_UNIT_LEVEL_CLKGATE,
			    L3_CLKGATE_DIS | L3_CR2X_CLKGATE_DIS);
+4 −5
Original line number Diff line number Diff line
@@ -1473,11 +1473,10 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
#define IS_ICL_GT_STEP(p, since, until) \
	(IS_ICELAKE(p) && IS_GT_STEP(p, since, until))

#define EHL_REVID_A0            0x0
#define EHL_REVID_B0            0x1

#define IS_JSL_EHL_REVID(p, since, until) \
	(IS_JSL_EHL(p) && IS_REVID(p, since, until))
#define IS_JSL_EHL_GT_STEP(p, since, until) \
	(IS_JSL_EHL(p) && IS_GT_STEP(p, since, until))
#define IS_JSL_EHL_DISPLAY_STEP(p, since, until) \
	(IS_JSL_EHL(p) && IS_DISPLAY_STEP(p, since, until))

#define IS_TGL_DISPLAY_STEP(__i915, since, until) \
	(IS_TIGERLAKE(__i915) && \
+8 −0
Original line number Diff line number Diff line
@@ -57,6 +57,11 @@ static const struct intel_step_info icl_revids[] = {
	[7] = { COMMON_STEP(D0) },
};

static const struct intel_step_info jsl_ehl_revids[] = {
	[0] = { COMMON_STEP(A0) },
	[1] = { COMMON_STEP(B0) },
};

static const struct intel_step_info tgl_uy_revids[] = {
	[0] = { .gt_step = STEP_A0, .display_step = STEP_A0 },
	[1] = { .gt_step = STEP_B0, .display_step = STEP_C0 },
@@ -104,6 +109,9 @@ void intel_step_init(struct drm_i915_private *i915)
	} else if (IS_TIGERLAKE(i915)) {
		revids = tgl_revids;
		size = ARRAY_SIZE(tgl_revids);
	} else if (IS_JSL_EHL(i915)) {
		revids = jsl_ehl_revids;
		size = ARRAY_SIZE(jsl_ehl_revids);
	} else if (IS_ICELAKE(i915)) {
		revids = icl_revids;
		size = ARRAY_SIZE(icl_revids);