drm/i915: Make pre-production detection use direct revid comparison
authorMatt Roper <matthew.d.roper@intel.com>
Tue, 13 Jul 2021 19:36:25 +0000 (12:36 -0700)
committerMatt Roper <matthew.d.roper@intel.com>
Thu, 15 Jul 2021 00:35:59 +0000 (17:35 -0700)
Although we're converting our workarounds to use a revid->stepping
lookup table, the function that detects pre-production hardware should
continue to compare against PCI revision ID values directly.  These are
listed in the bspec as integers, so it's easier to confirm their
correctness if we just use an integer literal rather than a symbolic
name anyway.

Bspec: 13620, 19131, 13626, 18329
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-3-matthew.d.roper@intel.com
drivers/gpu/drm/i915/i915_drv.c

index 73de454..f1dcee7 100644 (file)
@@ -271,10 +271,10 @@ static void intel_detect_preproduction_hw(struct drm_i915_private *dev_priv)
        bool pre = false;
 
        pre |= IS_HSW_EARLY_SDV(dev_priv);
-       pre |= IS_SKL_REVID(dev_priv, 0, SKL_REVID_F0);
-       pre |= IS_BXT_REVID(dev_priv, 0, BXT_REVID_B_LAST);
-       pre |= IS_KBL_GT_STEP(dev_priv, 0, STEP_A0);
-       pre |= IS_GLK_REVID(dev_priv, 0, GLK_REVID_A2);
+       pre |= IS_SKYLAKE(dev_priv) && INTEL_REVID(dev_priv) < 0x6;
+       pre |= IS_BROXTON(dev_priv) && INTEL_REVID(dev_priv) < 0xA;
+       pre |= IS_KABYLAKE(dev_priv) && INTEL_REVID(dev_priv) < 0x1;
+       pre |= IS_GEMINILAKE(dev_priv) && INTEL_REVID(dev_priv) < 0x3;
 
        if (pre) {
                drm_err(&dev_priv->drm, "This is a pre-production stepping. "