drm/i915/bxt: Use revid->stepping tables
authorMatt Roper <matthew.d.roper@intel.com>
Tue, 13 Jul 2021 19:36:28 +0000 (12:36 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Thu, 15 Jul 2021 00:36:13 +0000 (17:36 -0700)
Switch BXT to use a revid->stepping table as we're trying to do on all
platforms going forward.  Note that the REVID macros we had before
weren't being used anywhere in the code and weren't even correct; the
table values come from the bspec (and omits all the placeholder and
preproduction revisions).

Although nothing in the code is using the data from this table at the
moment, we expect some upcoming DMC patches to start utilizing it.

Bspec: 13620
Cc: Anusha Srivatsa <anusha.srivatsa@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/20210713193635.3390052-6-matthew.d.roper@intel.com
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_step.c

index 8e9293f..8030bd6 100644 (file)
@@ -1458,15 +1458,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 
 #define IS_SKL_GT_STEP(p, since, until) (IS_SKYLAKE(p) && IS_GT_STEP(p, since, until))
 
-#define BXT_REVID_A0           0x0
-#define BXT_REVID_A1           0x1
-#define BXT_REVID_B0           0x3
-#define BXT_REVID_B_LAST       0x8
-#define BXT_REVID_C0           0x9
-
-#define IS_BXT_REVID(dev_priv, since, until) \
-       (IS_BROXTON(dev_priv) && IS_REVID(dev_priv, since, until))
-
 #define IS_KBL_GT_STEP(dev_priv, since, until) \
        (IS_KABYLAKE(dev_priv) && IS_GT_STEP(dev_priv, since, until))
 #define IS_KBL_DISPLAY_STEP(dev_priv, since, until) \
index 1dd6944..57c33a2 100644 (file)
@@ -42,6 +42,13 @@ static const struct intel_step_info kbl_revids[] = {
        [7] = { .gt_step = STEP_G0, .display_step = STEP_C0 },
 };
 
+static const struct intel_step_info bxt_revids[] = {
+       [0xA] = { COMMON_STEP(C0) },
+       [0xB] = { COMMON_STEP(C0) },
+       [0xC] = { COMMON_STEP(D0) },
+       [0xD] = { COMMON_STEP(E0) },
+};
+
 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 },
@@ -89,6 +96,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_BROXTON(i915)) {
+               revids = bxt_revids;
+               size = ARRAY_SIZE(bxt_revids);
        } else if (IS_KABYLAKE(i915)) {
                revids = kbl_revids;
                size = ARRAY_SIZE(kbl_revids);